И снова вернемся к Рону Паттону и его книге "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 - на самом деле описанная выше цель крайне общая, это, так сказать - базис. То, что должно быть само собой разумеющееся. А конкретно ваша цель зависит от вашей команды. Сходите к коллегам, сходите к начальству и спросите у них, что они ждут от тестирования, зачем вы им нужны. Тогда и только тогда вы постигните все тайны вашей жизни в этом коллективе :)
Казалось бы, ответ на вопрос "что же является целью тестирования" очевиден:
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 - на самом деле описанная выше цель крайне общая, это, так сказать - базис. То, что должно быть само собой разумеющееся. А конкретно ваша цель зависит от вашей команды. Сходите к коллегам, сходите к начальству и спросите у них, что они ждут от тестирования, зачем вы им нужны. Тогда и только тогда вы постигните все тайны вашей жизни в этом коллективе :)
5+
ОтветитьУдалитьКлассный пост. Спасибо.
ОтветитьУдалитьВам спасибо за feed-back :)
ОтветитьУдалитьЯ думал, что необходимость проверки исправления багов более чем очевидна... Выходит я ошибался, раз есть необходимость об этом писать.
ОтветитьУдалитьВ корне не согласен. Если ставить целью тестирования поиск багов, то ничего хорошего на выходе не получится. Поиск багов в программном продукте должен быть средством достижения цели. А целью, например, создание полезного, работающего продукта для пользователя.
ОтветитьУдалитьChip, прочитайте поскриптум :)
УдалитьЯ прочитал постскриптум. Там написано, что заявленная в статье цель - базис (то есть главная, основополагающая, насколько я понимаю слово "базис" и может быть уточнена при общении с коллегами и другими подразделениями (какие баги и где искать)). И я с этим как раз и не согласен :)
Удалить"может быть уточнена при общении с коллегами и другими подразделениями (какие баги и где искать))."
УдалитьА вот этого я не говорила :)
Уточнение у коллег скорее приведет к мысли, в чяем твоя цель, а не какие баги искать. А цель то на самом деле и не баги искать ))) Ну, я думаю, мне не стоит сейчас цитировать Наташу Руколь, да?
Вот, если что - http://software-testing.ru/library/testing/general-testing/1713-2012-08-23-10-03-18
Под базисом я понимала, скорее... Ну, как дышать - это естественно! И естественно, что тестировщик находит баги, находит как можно раньше и перепроверяет :)
Но цель, разумеется, может быть совершенно другой. А может и полностью совпадать с цитатой Патторна )))))))) Но тут зависит от команды уже...