1. Фазы тестирования, основные проблемы тестирования и постановка задачи выбора конечного набора тестов
2. Автоматизация тестирования
Список использованной литературы
1. Фазы тестирования, основные проблемы тестирования и постановка задачи выбора конечного набора тестов.
Необходимость проведения тестирования в несколько этапов определяется тем, что разные типы ошибок проще всего обнаруживаются на разных стадиях. Основными фазами тестирования являются:
- модульное тестирование;
- интеграционное тестирование;
- системное тестирование;
- регрессионное тестирование;
- приемочное тестирование.
На стадии модульного тестирования достаточно просто выявляются просчеты в логике построения модуля и/или реализации алгоритмов, ошибки, связанные с неправильным использованием локальных ресурсов, а также ошибки в локальных переменных.
Следующим этапом является интеграционное тестирование. Оно проходит в несколько стадий и заключается в тестировании частей системы, состоящих из двух и большего количества модулей. На стадии интеграционного тестирования ошибки управления потоком, ошибки в передаче и/или интерпретации данных, использовании ресурсов, средств коммуникации.
Третьим этапом является системное тестирование, которое существенным образом отличается от модульного и интеграционного. Оно рассматривает систему как черный ящик и работает исключительно с пользовательскими интерфейсами. Основной целью системного тестирования является проверка стабильности и корректности работы системы, а также соответствия функциональности системы спецификациям, указанным в сопроводительных документах, проверяется работы системы на базе различных операционных систем и аппаратного обеспечения. Исследуется производительность тестируемого программного обеспечения.
Основной целью регрессионного тестирования является проверка того, что в результате внесения изменений в программный код зафиксированные ранее ошибки исправлены, а новые не появляются. Для регрессионного тестирования используется специально разработанный набор тестов, из которого каждый раз выбираются те тесты, которые позволяют обнаружить появление новых ошибок с наибольшей вероятностью.
2. Автоматизация тестирования.
Автоматизация тестирования приложений – это процесс проверки программного обеспечения, который включает проведение таких основных функций и шагов теста, как запуск, инициализация, выполнение, анализ и выдача результата, автоматически посредством специализированных инструментов.
Автоматизированное тестирование – аналог ручного функционального тестирования, который выполняется программой-роботом, а не человеком.
Ключевые преимущества:
• Повышение качества тестирования, поскольку при использовании средств автоматизации человеческий фактор не оказывает влияния на качество тестирования.
• Возможность выполнения таких видов тестирования, которые либо не могут быть выполнены вручную, либо требуют значительных затрат (дополнительное оборудование, персонал).
• Ускорение процесса тестирования без потери качества. Проведение того же объема работ ручным методом занимает больше времени. Использование средств автоматизации для тестирования позволяет запускать уже написанные скрипты без дальнейших доработок.
• В ходе тестирования отчеты о результатах работы программных приложений рассылаются и сохраняются автоматически.
Применение средств автоматизации для тестирования программного обеспечения актуально в следующих случаях:
• Запись в базу данных, логирование файлов, backend процессы, то есть места в системе, представляющие наибольшую труднодоступность.
• Достаточно часто использующаяся функциональность, которая обладает высоким уровнем рисков на ошибки. При автоматизации критической функциональности посредством тестирования гарантированно обеспечивается быстрое нахождение ошибок.