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