воскресенье, 26 августа 2012 г.

Цель тестировщика

И снова вернемся к Рону Паттону и его книге "Software Testing".

Казалось бы, ответ на вопрос "что же является целью тестирования" очевиден:

The goal of a software tester is to find bugs.

Цель тестировщика - находить баги.

Как бы не так!

Просто найти баги - недостаточно. Ведь, если мы вспомним о стоимости ошибок:


То заметим, что, даже найденная тестировщиком, а не Заказчиком, ошибка может стоить проекту очень и очень дорого. Допустим, тестировщик внезапно обнаружил, что данное ПО не работает на Windows. Круто, молодец! Только завтра релиз и как, блин, это успеть исправить и протестировать? И где ты был раньше?

В общем, цель, на самом то деле, немного обширнее:

The goal of a software tester is to find bugs and find them as early as possible.

Цель тестировщика - находить баги и находить их как можно раньше.

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


Ну, теперь, казалось бы, все... Сами нашли, сами растоптали... Все довольны, да?

Не-а J

О чем же мы забыли? Чтобы это понять, достаточно сопоставить виртуальных вредителей с реальными. Вот обнаружили вы дома таракана и раздавили его. Все, дом теперь чист? Агащаз... Где один, там и много. Ну или другой пример, увидели таракана, кинули в него тапком - и что, вы думаете, он умер? Ага, от смеха, какой вы косой стрелок...

Помните важную истину - программистам верить нельзя! (я надеюсь, мои мой блог не читают :) ). Сказал, что починил? Сходи и проверь! Что действительно починил, и что ничего нигде не развалилось!

И теперь мы подобрались к настоящей цели:

The goal of a software tester is to find bugs and find them as early as possible, and make sure they get fixed.

Цель тестировщика - находить баги и находить их как можно раньше, и убедиться, что их действительно пофиксили.

Последняя часть определения очень важна! Commit it in memory!

Ну а если хотите узнать больше - прочитайте книгу сами :)

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

8 комментариев:

  1. Я думал, что необходимость проверки исправления багов более чем очевидна... Выходит я ошибался, раз есть необходимость об этом писать.

    ОтветитьУдалить
  2. В корне не согласен. Если ставить целью тестирования поиск багов, то ничего хорошего на выходе не получится. Поиск багов в программном продукте должен быть средством достижения цели. А целью, например, создание полезного, работающего продукта для пользователя.

    ОтветитьУдалить
    Ответы
    1. Chip, прочитайте поскриптум :)

      Удалить
    2. Я прочитал постскриптум. Там написано, что заявленная в статье цель - базис (то есть главная, основополагающая, насколько я понимаю слово "базис" и может быть уточнена при общении с коллегами и другими подразделениями (какие баги и где искать)). И я с этим как раз и не согласен :)

      Удалить
    3. "может быть уточнена при общении с коллегами и другими подразделениями (какие баги и где искать))."

      А вот этого я не говорила :)
      Уточнение у коллег скорее приведет к мысли, в чяем твоя цель, а не какие баги искать. А цель то на самом деле и не баги искать ))) Ну, я думаю, мне не стоит сейчас цитировать Наташу Руколь, да?

      Вот, если что - http://software-testing.ru/library/testing/general-testing/1713-2012-08-23-10-03-18

      Под базисом я понимала, скорее... Ну, как дышать - это естественно! И естественно, что тестировщик находит баги, находит как можно раньше и перепроверяет :)

      Но цель, разумеется, может быть совершенно другой. А может и полностью совпадать с цитатой Патторна )))))))) Но тут зависит от команды уже...

      Удалить