Учебники

STLC — Тестирование основополагающих принципов

Общей целью тестирования является поиск ошибок как можно раньше. И, как только ошибки исправлены, убедитесь, что они работают должным образом и не нарушают другие функции.

Для достижения этих целей для тестирования программного обеспечения приведены семь основных принципов:

Что показывает Тестирование?

Тестирование может показать наличие дефектов, но нет способа доказать, что в продукте нет дефектов. Этапы тестирования позволяют убедиться, что тестируемое приложение работает в соответствии с заданным требованием, и это помогает уменьшить вероятность необнаруженных дефектов в приложении. Но даже если никаких дефектов не обнаружено, это не значит, что это абсолютно правильно. Мы можем предположить, что AUT соответствует нашим критериям выхода и поддерживает требования в соответствии с SRD.

Возможно ли исчерпывающее тестирование?

100% охват или тестирование всех комбинаций входов и возможных комбинаций невозможны, за исключением тривиальных случаев. Вместо исчерпывающего тестирования, анализ рисков и приоритеты используются для определения объема тестирования. Здесь большинство сценариев реального времени также могут включать в себя наиболее вероятный негативный сценарий. Это поможет нам отследить сбой.

Раннее тестирование

Мероприятия по тестированию должны начаться как можно скорее и быть сосредоточены на определенных целях в Стратегии тестирования и ожидаемых результатах. Ранняя стадия тестирования помогает идентифицировать Дефект Требования или несоответствия уровня проекта. Если эти типы ошибок обнаруживаются на начальном этапе, это помогает нам сэкономить время и является экономически эффективным. Ответ на вопрос, почему тестирование должно начинаться на ранней стадии, очень прост — как только SRD получен, тестеры могут проанализировать требование с точки зрения тестирования и заметить несоответствие требований.

Кластеризация дефектов

Основываясь на предыдущем анализе дефектов продукта, можно сказать, что большинство дефектов идентифицируется из небольшого набора модулей, которые имеют решающее значение для применения. Эти модули могут быть идентифицированы на основе сложности, различного взаимодействия системы или зависимости от других модулей. Если тестировщики могут идентифицировать эти важные модули, они могут сосредоточиться на этих модулях, чтобы выявить все возможные ошибки. В ходе исследования было установлено, что 8 из 10 дефектов идентифицированы из 20% функциональности AUT.

Парадокс пестицидов

Что такое парадокс пестицидов — если пестициды часто используются на сельскохозяйственных культурах, наступает время, когда насекомые развивают определенный вид устойчивости, и постепенно распыляемые таким образом пестициды оказываются неэффективными для насекомых.

Та же концепция применима и к тестированию. Здесь насекомые — это жуки, а пестициды — это тестовые случаи, которые используются для запуска снова и снова. Если одни и те же наборы тестовых примеров выполняются снова и снова, эти тестовые примеры становятся неэффективными после определенного периода времени, и тестеры не смогут выявить какой-либо новый дефект.

Чтобы преодолеть эти условия, тестовые случаи должны периодически пересматриваться и анализироваться, и могут быть добавлены новые и различные тестовые примеры. Это поможет в выявлении новых дефектов.

Тестирование зависит от контекста

Этот принцип гласит, что два разных типа приложений не могут быть протестированы с использованием одного и того же подхода, пока оба приложения не имеют одинаковую природу. Например, если тестировщик использует один и тот же подход для веб-приложений и мобильных приложений, это совершенно неверно и существует высокий риск низкого качества выпуска продукта. Тестировщики должны использовать разные подходы, методологии, методы и охват для различных типов и характера приложений.

Отсутствие ошибки — ошибка

Этот принцип предусматривает поиск и устранение дефектов до тех пор, пока приложение или система не станет стабильным, отнимает много времени и также израсходует ресурсы. Даже после устранения 99% дефектов существует высокий риск нестабильного нанесения. Первым важным является проверка стабильности приложения и предпосылок среды. Если эти два условия выполняются, только тогда мы можем начать с подробного тестирования.