Сейчас очень модны медицинские сериалы. Доктор Хаус, Клиника, Женский доктор, Интерны, Склифософский и еще куча подобных сериалов. Работая в IT области, я решил сопоставить медицину и IT. Если говорить конкретно, то к какой области медицины можно отнести непосредственно тестирование. Не будем ходить вокруг на около, а вспомним книгу Сема Канера "Тестирование программного обеспечения. "Представьте, что с вашим здоровьем что-то не в порядке. Вы приходите к врачу, и он проводит целый ряд анализов. Однако врач ничего не находит — он утверждает, что вы здоровы. Хороший ли он диагност? Если вы в самом деле больны, остается признать, что врач некомпетентен,
а дорогостоящие анализы были пустой тратой сил, времени и денег. При тестировании диагност — это вы, а программа (абсолютно наверняка) — больной пациент. Так найдите же, что с ней не так!
Давайте выясним, действительно ли это так?
Итак, возьмем обычного тестировщика, который пришел в какую - нибудь IT компанию. И с другой стороны возьмем терапевта, который должен поставить диагноз пациенту. Тестировщик находит баг, описывает его в баг-трекере и на этом успокаивается, ждет пока разработчики исправят его. В это время к нашему доктору приходит человек с симптомами - врач дает ему рецепт, ставит диагноз и далее по ситуации, либо кладет его в стационар, либо отпускает домой. Возможен случай, что врач либо ничего не скажет, в лучшем случае пошлет
к более опытному врачу.
Анализируем.
1) Программа = пациент - я
думаю с этим можно согласится, за исключением того, что человеческий организм в большинстве своем имеет одинаковое строение, в отличие от тестируемых программ.
2) Описание дефекта = это по сути симптомы. Тоже вынужден согласится с этим определением, более того при желании можно сделать классификацию этих
дефектов.
3) ???? =
Диагноз. Что есть диагноз? Очень интересный вопрос. Я пришел первый раз в кампанию, нашел свой первый баг, при этом видя программу чуть ли не первый раз! Как я могу поставить конкретную причину бага?
Тут можно поспорить... Есть
логи, есть debug, которым тетстировщик, в идеале должен уметь пользоваться. Т.е. по сути это те же инструменты, которые есть у врача для проведения анализов и выявления точного заболевания. К чему я написал кучу непонятного текста? К тому, что тестировщик в состоянии поставить конкретную причину бага. Т.е. ???? = Причина бага.
Другой
вопрос на сколько быстро инженер по тестированию определит причину бага. Тут
опыт работы с конкретным проектом, и опыт работы с инструментами.
Подобно
врачу, тестировщик должен смотреть на симптомы бага, так же как врач смотрит на симптомы человека. Если этих симптомов не
достаточно, то врач назначает анализы, а тестировщик использует дополнительные
инструменты. Тестировщик должен изучать проект, что бы знать его досконально.
Представьте себе врача, который не знает, из чего состоит человек? Страшно
да? А теперь тестировщика, который не
знает проект? Не так страшно, особенно
когда вы его только взяли на работу. Но если через 2 – 3 месяца не знает, как работает функционал – это вызывает
вопросы, и за тестирование становится уже страшно.
Давайте
подведем итог статьи. Можно ли тестировщика сравнивать с врачом диагностом? Я
думаю, что хорошего врача и хорошего тестировщика можно сравнить. И тому и
тому, для того что бы добиться статуса профессионала в своей области необходимо
постоянно получать знания и адаптироваться под современные исследования и
технические новшества. А для этого и тем и другим необходимо изучать свою
предметную область.
Комментариев нет:
Отправить комментарий