Материал в данном уроке рекомендуется к прочтению, но выпишите основную суть лекции себе в тетрадь, т.к я этот вопрос точно буду задавать на экзамене.
Полное или исчерпывающее тестирование невозможно выполнить. Тестирование всегда проводится на выборочной основе. Отбор тестовых данных требует хорошего владения методами отбора тестовых данных. В этом типе тестирования для выполнения теста используются все вероятные комбинации данных. Таким образом, пользователи могут найти ресурс программного обеспечения и проверить его на наличие экстремальных ситуаций. Например, рассмотрим приложение с 10 полями ввода, каждое из которых может иметь шесть возможных значений. Для того, чтобы провести исчерпывающее тестирование, количество комбинаций составляет 6^10 тестов. Ситуация усугубляется, когда нужно проводить тестирование в разных средах. Это непрактично, не выполняется в приложениях для тестирования в реальном времени и имеет только теоретическое значение. Вместо того, чтобы проверять каждую из комбинаций, пользователь может назначить риск и приоритет для выполнения тестирования. Тестировщик должен уделять внимание как техническим, так и бизнес-рискам, связанным с ограничениями проекта, такими как время и бюджет. Оценка рисков должна быть проведена на начальном этапе, чтобы понять необходимый уровень тестирования. Деятельность по тестированию должна быть в состоянии предоставить клиентам достаточно подробностей для принятия решения о выпуске продукта.
Почему исчерпывающее тестирование нецелесообразно?
- Тестировщики должны работать в сжатые сроки, а также выполнять другие действия по тестированию, помимо выполнения тестов. Сжатые сроки никогда не позволят тестировщикам провести исчерпывающее тестирование.
- Программы также могут иметь большее количество состояний. Ограничения по времени — еще одно ограничение исчерпывающего тестирования. Т.е. входные данные, которые действительны в определенный момент времени, могут быть недействительными в другое время.
- Исчерпывающее тестирование требует проверки всей вероятной продолжительности времени, в течение которого каждый пользователь может работать с AUT. Это утомительная задача, которую невозможно выполнить.
- Более того, дизайн может быть слишком сложным для выполнения тестов.
- Невозможно протестировать все вероятные среды выполнения тестов AUT. Это становится еще более сложным, если AUT зависит от сценариев реального времени, таких как температура, давление и тому подобное.
- Невозможно проверить все вероятные выходы или последовательность операций с помощью исчерпывающего тестирования.
- Невозможно выполнить исчерпывающее тестирование, проверяя различные комбинации типов пользователей и количество пользователей.
Тем не менее, тестировщики могут оптимизировать выполнение тестов, придерживаясь следующих рекомендаций: Несмотря на то, что тестирование, выполняемое тестировщиками, является исчерпывающим, иногда приложение дает сбой из-за поломки кода во время изменения сборки и некоторых бизнес-сценариев, что приводит к дефектам UAT. Это приведет к снижению индекса удовлетворенности клиентов (CSI). Чтобы решить эту проблему, необходимо следовать некоторым специальным исчерпывающим процессам или стратегиям для повышения производительности тестирования.
Преимущества следования стратегии исчерпывающего тестирования:
- Снижение объема ручного труда
- Больше тестов в соответствии с бизнес-требованиями
- Улучшенное использование ресурсов автоматизации
- Это гарантирует, что высокоприоритетные задачи будут проверены
- Это помогает экономить время и усилия на доработку
- Улучшение индекса удовлетворенности клиентов (CSI)
- Количество дефектов UAT будет сокращено, а также приведет к продуктивным показателям тестирования
- При повторном тестировании проверка других соответствующих сценариев также может выявить новые дефекты
- Улучшенное исчерпывающее тестирование может быть выполнено с меньшими ручными усилиями
Процесс, который может быть использован для оптимизации тестирования:
- Исчерпывающее тестирование может быть реализовано путем сосредоточения внимания на критических сценариях при каждом изменении сборки с помощью автоматизации.
- Команда контроля качества должна работать над другими соответствующими сценариями при повторном тестировании проблемы.
- Команда контроля качества также должна убедиться, что специальное тестирование выполняется в бизнес-сценариях в конце выполнения системного теста.
- Тестировщики также должны расставлять приоритеты тестовых случаев и выполнять сценарии с высоким приоритетом в первую неделю тестирования системы.
- Тестирование работоспособности необходимо выполнять во время изменений в сборке или среде.
- Стабильная среда должна быть доступна для выполнения тестового примера.
- Особое внимание следует уделять тому, чтобы тестовые сценарии были точными, краткими и эффективными.
- Коллеги, бизнес-аналитики и другие соответствующие пользователи должны ознакомиться с набором тестов.
- Тестировщик также должен уделять особое внимание созданию новых тестовых случаев или обновлению существующих тестовых случаев при подтверждении новых ошибок.
- Конфигурационные данные, входные/выходные тестовые данные должны быть четко указаны.
- Сосредоточьтесь на стратегиях тестирования, таких как тестирование OATS, которое помогает оптимизировать тестирование и охватить широкий спектр тестовых данных.