Введение в тестирование системы
Вы когда-нибудь слышали о Системном тестировании? Да, конечно, вы слышали, но не знаете, что такое тестирование. Как это реализовано в реальных условиях. Сегодняшний мир наполнен множеством устройств, новые технологии выходят каждый день. Чтобы поддерживать качество и гарантировать, что наш продукт не содержит ошибок и заслуживает доверия, у каждой разработки есть команда параллельного тестирования.
Тестирование - это процесс перекрестной проверки, правильно ли мы работаем или нет. Тестирование программного обеспечения - это этап, на котором программное обеспечение завершено. Теперь это интегрированное программное обеспечение собирается проверить. При тестировании мы проверяем, соответствует ли программное обеспечение нашим требованиям или нет.
Тестирование, которое проводится на всей системе, известной как тестирование системы. С помощью этого теста мы обнаруживаем ошибки. Это гарантирует, что вся система работает как положено. Мы проверяем производительность и функциональность системы, чтобы получить качественный продукт. Системное тестирование - это не что иное, как тестирование системы в целом. Это тестирование проверяет полный сквозной сценарий в соответствии с точкой зрения клиента.
Функциональные и нефункциональные тесты также проводятся системным тестированием. Все делается для того, чтобы в процессе разработки было установлено, что система не содержит дефектов и ошибок. Системное тестирование также предназначено для тестирования требований к аппаратному / программному обеспечению.
Системное тестирование является более ограниченным типом тестирования; он стремится обнаружить оба дефекта в «сборочных узлах».
Есть два типа тестов:
Это специализированные системы и приложения
Прежде чем перейти непосредственно к тестированию системы, я хочу, чтобы вы знали ход тестирования. Таким образом, вы получите четкое представление. Пожалуйста, посмотрите на следующую диаграмму.
Типы системного тестирования
Ниже приведены различные типы тестирования, которые следующие:
1. Функциональное тестирование
- Это тестирование позволяет убедиться, что функциональные возможности продукта работают в соответствии со спецификацией требований в рамках возможностей системы.
- Функциональное тестирование выполняется вручную или с помощью автоматизированных инструментов.
2. Испытание на восстанавливаемость
- Это тестирование определяет, можно ли продолжить работу после аварии или после потери целостности системы.
- Лучший пример этого предполагает, что мы загружаем один файл. И вдруг соединение обрывается. После возобновления соединения наша загрузка начинается с того места, где мы уехали. Это не начинается с запуска снова.
- Это используется, когда непрерывность операций имеет важное значение
3. Тестирование производительности
- Это тестирование проверяет производительность системы в различных условиях с точки зрения характеристик производительности.
- Это тестирование также называется тестированием на соответствие производительности.
- Это тестирование обеспечивает соответствие системным требованиям
- Он проверяет, когда несколько пользователей используют одно и то же приложение одновременно, а затем, как оно отвечает
Тестирование производительности можно разделить на три основные категории, такие как скорость, масштабируемость и стабильность.
4. Тестирование масштабируемости
Это тестирование проверяет возможности масштабирования системы в различных терминах, таких как масштабирование пользователей, географическое масштабирование и масштабирование ресурсов.
5. Проверка надежности
- Проверка надежности гарантирует, что система не содержит ошибок.
- Это тестирование гарантирует, что система может работать в течение более длительного периода времени без возникновения сбоев.
6. Тестирование документации
Это тестирование проверяет правильность и пригодность руководства пользователя системы и других разделов справки.
7. Тестирование безопасности
- Тестирование, которое подтверждает, что программа может получить доступ к авторизованному персоналу и что авторизованный персонал может получить доступ к функциям, доступным для их уровня безопасности.
- Это тестирование гарантирует, что система не разрешает несанкционированный доступ к данным и ресурсам.
- Цель тестирования безопасности - определить, насколько хорошо система защищает от несанкционированного внутреннего или внешнего доступа или умышленного повреждения.
- Существует следующая область, где мы обычно можем проверить безопасность:
- Аутентификация
- авторизация
- Проверка данных
- Транспортная безопасность
- Защита данных
- Управление сессиями
8. Юзабилити-тестирование
Чтобы убедиться, что система проста в использовании, изучении и эксплуатации
9. Тестирование требований
Каждая система проверена на соответствие требованиям.
- Прямые наблюдения за людьми, использующими систему.
- В рамках этого тестирования были проведены исследования юзабилити.
- Пользовательские тесты под это тестирование. Также называется бета-тестированием.
- Это тестирование тестирует систему относительно того, как реальный пользователь будет работать в среде.
- Юзабилити-тестирование в основном используется для разработки приложения.
- В тесте на удобство использования реальные пользователи пытаются получить типичные цели и задачи с продуктом в контролируемых условиях.
Эта система используется для определения:
- Насколько просто понять использование приложения.
- Насколько легко выполнить процесс подачи заявки.
10. Нагрузочное тестирование
Это тестирование определяет, как приложение ведет себя, когда несколько пользователей получают к нему доступ одновременно в нескольких местах.
- Это тестирование проводится для определения приемлемости производительности системы при заранее определенном уровне нагрузки.
- Нагрузочное тестирование оценивает производительность системы с предопределенными уровнями нагрузки.
- Проверяет нормальные и предопределенные условия приложения.
11. Стресс-тестирование
Это тестирование обычно проверяет, что система продолжит функционировать, когда подвергается большему объему данных, чем ожидалось.
- Стресс-тестирование может содержать входные транзакции, внутренние таблицы, каналы связи, дисковое пространство и т. Д.
- Стресс-тестирование проверяет, что система должна работать как в производственной среде.
- Проверяет систему в экстремальных условиях.
- Стресс-тестирование также известно как Тестирование на выносливость.
12. Тестирование конфигурации
- Тестирование конфигурации - это проверка нескольких комбинаций приложения с оборудованием.
- Это тестирование проверяет наличие проблем с совместимостью.
- Определите минимальную и оптимальную конфигурацию H / W и S / W.
- Это тестирование определяет влияние добавления или изменения ресурсов, таких как память, дисковое пространство, процессор, сетевая карта.
13. Тестирование на совместимость
- Тестирование совместимости используется для проверки того, может ли ваше приложение работать на разных устройствах, ОС, приложениях, сетевых средах или мобильных устройствах и т. Д.
- Аналогично многоплатформенному тестированию.
- Тестирование возможностей более полезно в веб-приложениях, где мы можем проверить, что приложение должно быть доступно из любого браузера.
Основная область фокусировки
- Во время тестирования системы система тестируется в производственной среде. Перед поставкой продукта Система должна быть протестирована в производственной среде.
- Среда разработки и производства может отличаться в зависимости от компании.
- Это должно в основном получить ошибку, связанную с конфигурацией.
Концепция системного тестирования
Тестирование системы входит в сферу тестирования Black-Box. Также есть такие тесты, как безопасность, надежность, производительность, установка, функциональное тестирование и т. Д.
У нас также есть тестирование белого ящика. Это также известно как тестирование с явной коробкой. Тестирование белого ящика означает тестирование, при котором внутренняя структура тестового приложения известна тестировщику. Но в этой статье мы сосредоточимся на тестировании черного ящика.
Что такое «черный ящик»?
- Это тестирование также известно как поведенческое тестирование.
- Тестирование черного ящика в основном фокусируется на вводе и выводе, поскольку внутренний код скрыт от тестера.
Системное тестирование также имеет несколько специализированных тестов:
1. Регрессионное тестирование
Это тестирование зависит от времени. Фактора не всегда достаточно для этого тестирования. Это тестирование проводится двумя способами:
- Ручное тестирование :
Ручное тестирование может быть сделано для небольшой системы. Проект, где затраты являются проблемой. Автоматизированное тестирование не удобно.
Разработчики или группа обеспечения качества вручную тестируют каждый путь программного кода. И тогда сравнение произошло.
Это тестирование занимает очень много времени и требует много ресурсов для работы над ним.
Это тестирование неэффективно, поэтому тестирование автоматизации вступает в картину
- Автоматизированное тестирование:
Это тестирование очень хорошо. Многие компании пытаются получить инструменты автоматизированного тестирования.
Если у нас много изменений версии приложения, это очень полезно. Один класс этих инструментов называется захваченными инструментами воспроизведения.
2. Тестирование обработки ошибок
- Определить способность Системы правильно обрабатывать ошибочные транзакции.
- Все разумные ошибки должны обнаруживаться прикладной системой.
- Контроль над ошибкой во время исправления ошибок является обязательным.
- Процедуры в основном гарантируют, что ошибки исправлены правильно.
- Это тестирование должно происходить на протяжении всего SDLC.
- Ошибки охватывают все неожиданные условия.
- Он проверяет способность программного обеспечения правильно выполнять все транзакции.
- Например: просто поместите несколько ошибочных значений в приложение, чтобы проверить, способна ли система найти эти проблемы. Этот процесс может быть итеративным.
3. Межсистемное тестирование
- Это тестирование выполняется, когда приложение размещается в распределенной области. И все размещенные интеграции происходят. Это тестирование в основном выполняется для проверки потока данных из основной размещенной системы в другие системы.
- Короче говоря, мы можем сказать, что «Тестирование интерфейса между двумя или более прикладными системами».
- Это решает:
- Документация по системе полная и точная.
- Параметры и данные правильно передаются между двумя приложениями.
- Существует множество наборов тестов, в которых транзакция из одной системы в другую и наоборот выполняется правильно. произошли перекрестные проверки, и если произошла ошибка, она исправляется в это время.
- Это тестирование обеспечивает обмен данными между приложениями.
- Это тестирование утомительно, если автоматизация не выполнена.
- Стоимость больше, если итераций больше.
4. Тестирование в здравом уме
- Проверка работоспособности означает проверку поведения Системы. Это тестирование также называется узким регрессионным тестированием.
- Тесты работоспособности полезны как для начальной проверки среды, так и для будущих интерактивных приращений.
- Санитарное тестирование является целенаправленным.
- Это тестирование также рассматривается как часть регрессионного тестирования.
- Например, мы можем сказать, что тестирование работоспособности - это время работы системы. Как система времени должна встать, чтобы встать?
- Тестирование работоспособности изначально предназначено для тестирования основных модулей.
- Проверка работоспособности может проверять связь с серверами приложений и с периферийными устройствами.
5. Тестирование дыма
- Как правило, тестирование дыма также называется «проверкой сборки».
- Этот термин пришел из аппаратного тестирования. При аппаратном тестировании устройство прошло тестирование, если оно не загорелось или не курило при первом включении.
- Дымовое тестирование проверяет тестируемость программного обеспечения и называется Дымовым тестированием.
- Дымовое тестирование решает, достаточно ли тестирования для приложения. Это стабильно?
- Тестирование дыма помогает определить, где остановиться.
- Тесты дыма могут быть выполнены вручную или автоматическими инструментами.
- Сценарии дымовых испытаний подчеркивают ширину, а не глубину.
- Дымовое тестирование также известно как Верификационное тестирование / Тестирование соединения / Базовое функциональное тестирование.
- Это «мелкий и широкий» подход к применению.
- Тестирование дыма помогает выявить проблемы на ранней стадии.
- Дымовое тестирование также помогает найти интеграционное тестирование.
- При испытании на дым все компоненты должны быть затронуты, и каждая важная функция должна быть проверена кратко.
- Если тест не пройден, сборка возвращается разработчикам, не прошедшим тестирование.
- Дымовое тестирование обычно используется при тестировании системы, приемочном тестировании и интеграционном тестировании.
6. Параллельное тестирование
- Параллельное тестирование означает одновременное тестирование нескольких приложений или подсистем.
- Можно сказать, что сравнение между двумя разными системами.
- Параллельное тестирование должно определить - новая версия приложения или новые системы работают правильно со ссылкой на существующую систему, которая работает правильно.
- Параллельное тестирование может использоваться при принятии новой системы.
- При параллельном тестировании одни и те же данные используются в обеих системах.
- При параллельном тестировании новая система используется с существующей системой в течение некоторого оговоренного времени.
- Через перекрестную проверку o / p и сравнение с o / p из существующей системы. Параллельное тестирование проводится, чтобы убедиться, что новая система работает на должном уровне, как это делала предыдущая система.
Вывод
У каждого процесса разработки программного обеспечения есть часть тестирования. Если программное обеспечение проходит все тесты и удовлетворяет всем условиям, оно готово для передачи клиенту. Тестирование является важной частью и должно быть сделано очень серьезно.
Рекомендуемые статьи
Это было руководство по системному тестированию. Здесь мы обсудили введение, различные типы системного тестирования и его основные направления. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- Карьера в тестировании программного обеспечения
- Интервью по тестированию на проникновение
- Что такое нейронные сети?
- Жизненный цикл дефекта при тестировании программного обеспечения
- Различные инструменты для тестирования производительности