Найти тему
ТЕСТИРОВЩИК

Основные принципы тестирования

Оглавление

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

1. Тестирование демонстрирует наличие дефектов, а не их отсутствие

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

2. Исчерпывающее тестирование недостижимо

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

3. Раннее тестирование сохраняет время и деньги

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

-2

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

Обычно небольшое количество модулей содержит большинство дефектов, обнаруженных во время тестирования перед выпуском. Здесь можно вспомнить принцип 80:20, где 80% дефектов содержится в 20% системы, а остальная часть системы работает практически без ошибок. Проанализировав такие места можно предсказать ошибки и заложить риски.

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

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

-3

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

Тестирование очень зависит от контекста. Например, мобильное приложение тестируется одним способом, а банковское ПО другим. Для тестирования надежности существует один подход, а для тестирования безопасности другой. Тестировщики внутри своей специальности также делятся на различные направления.

7. Заблуждение об отсутствии ошибок

Некоторые компании ожидают, что тестировщики смогут выполнить все возможные тесты и найти все возможные дефекты, но принципы 2 и 1, соответственно, говорят нам, что это невозможно. Поэтому если вас спросят "ну что, ошибок больше нет?" не нужно брать на себя ответственность противоречащую принципам.