Краткое руководство по тестированию программного обеспечения - стандарты и процессы
Опубликовано: 2021-05-18«Весь код виновен до тех пор, пока не будет проверен невиновным» - неизвестный технический специалист.
Вы не можете иметь хорошее программное обеспечение, не подвергнув его тщательному тестированию. В этой статье вы узнаете больше о стандартах и процессах тестирования программного обеспечения, которым вы должны следовать, чтобы получить лучшие результаты.
Что такое тестирование программного обеспечения?
Проще говоря, тестирование программного обеспечения делает его лучше. Это процесс, который определяет правильность, полноту и качество разработанного программного обеспечения. Тестирование важно, так как оно выявляет дефекты / ошибки еще до доставки клиенту, что гарантирует качество программного обеспечения. Это делает программное обеспечение более надежным в использовании.

Этапы тестирования программного обеспечения

Пройдем перечисленные выше этапы тестирования ПО:
Анализ требований:
Анализ требований определяет ожидания конечных пользователей в отношении программного приложения, которое будет построено / изменено. Следовательно, анализ требований означает анализ, составление отчетов, документирование, проверку и управление программными или системными требованиями.
Инженер-испытатель должен выполнить следующие задачи, чтобы завершить анализ требований.
- Прочтите каждое требование, чтобы проверить полноту, ясность и двусмысленность, если таковая имеется.
- Убедитесь, что все возможные сценарии были рассмотрены на этапе анализа требований, и попытайтесь выявить все выявленные случаи или любые пробелы.
- Обсуждение вопросов или сомнений, возникающих в результате ежедневного анализа требований, требует, чтобы команда была на одной и той же странице.
- Для обеспечения полного покрытия требований тестируемого программного обеспечения необходимо использовать матрицу прослеживаемости требований.
Ниже приведен образец шаблона RTM (Матрица прослеживаемости требований).

Кредит: Opencodez
Планирование тестирования:
План тестирования - это документ, который описывает цели тестирования, график, оценку, результаты и ресурсы, необходимые для выполнения тестирования программного обеспечения в программном приложении. План тестирования помогает понять и определить усилия, необходимые для проверки качества тестируемого приложения. Ниже приведен пример гибкого плана тестирования:

Кредит: zenq
Дизайн теста:
Дизайн тестирования - это этап, на котором разрабатываются сценарии использования, необходимые для тестирования. Дизайн теста выполняется на основе плана тестирования. Разработанные тестовые примеры должны соответствовать всем требованиям программного приложения. Сопоставление тестовых примеров с матрицей прослеживаемости также считается необходимым для того, чтобы покрыть все пробелы в требованиях.
Сценарии тестирования / тестовые примеры, разработанные на основе приведенных ниже методов проектирования тестов, чтобы обеспечить полное покрытие тестами на счастливом пути и при тестировании отрицательного сценария.
- Анализ граничных значений (BVA)
- Разделение эквивалентности (EP)
- Тестирование сценариев использования
- Испытание на удар
Ниже приведен образец шаблона дизайна теста.

Кредит: https://www.softwaretestingclass.com/
Настройка тестовой среды:
Тестовая среда - это платформа, созданная для реализации и выполнения тестовых примеров в программном приложении. Среда для тестирования создается путем интеграции необходимого оборудования и программного обеспечения, а также необходимой конфигурации сети и необходимых настроек. Прежде чем начинать какие-либо тесты, всегда важно выполнить дымовой тест в тестовой среде, чтобы проверить выполнимость тестовой среды.
Выполнение теста:
Выполнение теста - это процесс выполнения разработанных тестовых случаев, документирования и сравнения ожидаемых и фактических результатов. При выполнении теста с учетом рисков учитываются следующие факторы. Выберите подмножество набора тестов, которое будет выполняться в этом цикле, и назначьте его соответствующему тестировщику / аналитику качества.

- Выполнение теста выполняется на основе тестовых примеров / тестовых сценариев, разработанных в соответствии с планом тестирования.
- Наблюдения - задокументированы в соответствующем билете JIRA, обнаруженном во время выполнения теста.
- Документация по тестированию соответствующего билета JIRA состоит из следующего
◦ Статус теста: ПРОЙДЕН / НЕ ПРОШЕЛ - отображает статус теста билета JIRA.
◦ Тестовый URL: содержит тестовые данные, используемые для тестирования конкретного требования.
◦ Сценарии тестирования и их скриншоты.
- Работоспособность и регрессия - проверка работоспособности и регрессии выполняется в более высоких средах (STG) на регулярной основе в конце каждого спринта в рамках мер предварительного тестирования UAT.
Закрытие теста:
Контрольный список закрытия спринт-теста обеспечивает выполнение следующих действий в конце каждого спринта для плавного перехода между несколькими спринтами.
- Функциональные тесты завершены в соответствии с графиком с полным покрытием
- Все наблюдения регистрируются и обрабатываются командой
- Действительные наблюдения регистрируются как дефекты и передаются соответствующим владельцам билетов.
- Документация по тестированию обновляется для каждого билета с соответствующими результатами ручного тестирования и тестирования устройств.
- Регрессионный тест, выполняемый в тестовой среде перед слиянием кода с вышестоящими средами, т. Е. в данном случае от Dev до STG
Тестирование устройства / кроссбраузерное тестирование:
Тестирование устройства / кроссбраузерности - это процесс, с помощью которого устройство / браузер проверяется на качество, чтобы увидеть, насколько хорошо оно соответствует требованиям, для которых оно было разработано. Тестирование устройств / кроссбраузерности покрывается приведенным ниже списком устройств / браузеров, подтвержденным заказчиком. Стек браузера, используемый в качестве платформы для тестирования устройств.

Различные типы тестирования программного обеспечения
Модульное тестирование:
Модульное тестирование - это проверка небольших блоков кода для заблаговременного предоставления информации для ускорения ваших стратегий тестирования и сокращения нежелательных циклов тестирования. Модульное тестирование обычно выполняется разработчиком до того, как код будет передан группе тестирования программного обеспечения.
Дымовое испытание:
Smoke Testing - это процедура тестирования программного обеспечения, которая определяет, является ли развернутое программное обеспечение стабильным или нет. Дымовое тестирование является подтверждением для группы тестирования, чтобы продолжить дальнейшее тестирование программного обеспечения. Он состоит из минимального набора тестов, запускаемых при каждой сборке для проверки функциональности программного обеспечения.
Интеграционное тестирование:
Интеграционные тесты - это тип тестирования, проводимого в интегрированной аппаратной и программной среде для проверки поведения системы. Компоненты программного и аппаратного обеспечения интегрируются и тестируются постепенно, пока не будет протестирована готовая система.
Системное тестирование:
Системное тестирование полностью интегрированного программного продукта. Это заключительный тест для подтверждения того, что поставленный продукт соответствует техническим требованиям, указанным в документе с требованиями. В области применения следует рассматривать как функциональные, так и нефункциональные требования.
Регрессионное тестирование:
Регрессия проверяет, что последние изменения кода не изменяют и не уничтожают уже существующие функции. Регрессионное тестирование включает в себя как частичную, так и полную регрессию, оба могут быть покрыты сценариями ручного или автоматического тестирования.
Пользовательское приемочное тестирование (UAT):
Пользовательское приемочное тестирование - это один из заключительных этапов жизненного цикла тестирования программного обеспечения, и он выполняется клиентом после того, как программное обеспечение было тщательно протестировано. UAT проводится конечными пользователями продукта для утверждения и развертывания производственного выпуска.
