вторник, 9 августа 2011 г.

Bullshit bingo, scripted testing и автоматизация.

Вот примерно так выглядит средний по больнице чеклист для тестировщика.
Работает просто - набрали 5 по диагонали/вертикали/горизонтали и тут же встали и крикнули "BULLSHIT!"
Простота достойная тестового чеклиста. В этом он весь.
Еще его можно автоматизировать. Очень легко. Я могу сделать это на своем телефоне. Нет, как и у любой автоматизации тут будут погрешности (false positive/negative). Например в случае телефона будет погрешность в распознании сказанного. Но на дистанции телефон будет играть в эту игру лучше чем я, потому что я усну, а у телефона на зарядке батарейка сядет сильно позже. И еще он не прощает и не пропускает. Есть еще 100500 способов подумать над тем как научить телефон играть в эту игру лучше меня.

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

То есть (ВНИМАНИЕ!!!) чеклист это в первую очередь допущение. Допущение что пользователь будет пользоваться так а не иначе. Допущение что мы смотрим в первую очередь те вещи которые пользователь почти наверняка будет смотреть. Допущение что требования вполне корректны. То есть вот такая итальянская забастовка - "вы действительно хотите чтобы оно работало именно так? ну тогда нате, мучайтесь!"

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

И вот тут (ВНИМАНИЕ!!!) переход. Если брать чеклисты как самодостаточную проверку и автоматизировать, то проблема никуда не денется. И процесс на этом завершать нельзя. Любой кто автоматизировал подобным образом хоть что-нибудь должен понимать это.

И вот мы автоматизировали эти чеклисты. Очень хорошо это сделали. Может даже с благородной целью (а пользу из автоматизированных скриптов можно получить, если умеючи).  А дальше что? Да что угодно только не еще одно ведро чеклистов.

ЗЫ: Немного К.О.: тестирование нагрузок по чеклисту? Дайте две! Тестирование безопасности? Усраться! Еще скажите что это конечный процесс!

Комментариев нет:

Отправить комментарий