Что пишут в блогах

Подписаться

Что пишут в блогах (EN)

Разделы портала

Онлайн-тренинги

.
Pesticide Paradox
22.12.2010 01:23

Автор текста: Баранцев Алексей

Бориз Бейзер описал "парадокс пестицида" в своей книге "Software Testing Techniques", вышедшей ещё в далёком 1983 году. Он попытался провести аналогию между повторным выполнением тестов и повторной обработкой полей тем же пестицидом, который уже применялся недавно. После первой обработки часть вредителей погибла, но не все -- некоторые выжили, потому что их организм оказался устойчив к яду. Так вот эти "счастливчики" с большой вероятностью переживут и повторную обработку. Точно так же, утверждал доктор Бейзер, повторное применение одних тех же тестов, и даже повторное применение одних и тех же методов тестирования, приводит к тому, что в программе остаются дефекты, против которых эти методы неэффективны.

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

- У нас много регрессионных тестов, нам не хватает времени на то, чтобы их все выполнить, может быть их автоматизировать?
- Может быть. Но сначала скажите, эти тесты часто обнаруживают дефекты?
- Да практически никогда! Поэтому и хотим автоматизировать.
- А новые тесты в этот набор часто добавляются?
- Только по дефектам, которые пользователи нашли.
- То есть пользователи в этих модулях обнаруживают дефекты, а тесты их не обнаруживают?
- Ну-у-у, да...
- А почему?
- ??? (молчание) ... (понимание) Так это же парадокс пестицида!!!!

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

Коллеги, оставьте ненужный хлам в старом году, а в новом году добавьте разнообразия в свою жизнь! Скачать плакат для печати в pdf формате.