Эссе - WordPress.com

advertisement
Эссе на тему
«Можно ли научить обезьяну тестировать ПО»
Это довольно распространённая шутка в сфере IT. Разработчики любят
подшучивать над тестировщиками, а некоторые из них даже гневно возмущаются, считая
тестирование бесполезным занятием, с которым справятся даже грудные дети и
обезьяны (зачем же им платить столько же). Сейчас я попытаюсь выяснить так это или нет.
Для начала скажем, что тестирование бывает разным. И по каждому из типов
хочется поговорить отдельно, хотя бы по нескольким. Начнем наш разговор с
тестирования интерфейсов. Тут невольно вспоминается технология тестирования monkey
testing, которая подразумевает случайное «жмаканье» по клавиатуре, мышке,
сенсорному экрану или другому элементу управления интерфейсом. Тут с
разработчиками-завистниками не поспорить, такому тестированию обезьяну даже и учить
не надо, ибо они основоположники этого метода. Порой даже таким способом можно
выудить ошибки, до которых не каждый человек смог бы дойти сам. Способ интересный и
на него любят ссылаться. Что же касается тестов интерфейса в целом, то это
имитирование поведения реального пользователя. Этот процесс кажется очень скучным и
монотонным, а в средствах массовой информации тестировщики рассматриваются как
рабочие у конвейера программной индустрии. Если к этому всему прибавить то, что
тестировщики постоянно указывают на ошибки разработчиков, то можно понять
негодование программистов.
Но на самом деле этот взгляд на специалистов тестирования очень поверхностный
и тестирование это не такая скучная и простая задача. Во первых, в тестировании
приходится решать много новых и интересных задач ежедневно. Приведем цитату из
Майкла Болтона об этом:
«В тестировании нами движет стремление к поиску новой информации.
Тестирование — это процесс исследования, открытия, изучения нового и обучения. Когда
мы настраиваем, запускаем и изучаем программный продукт, чтобы дать ему оценку или
чтобы обнаружить какую-то неожиданную проблему, мы тестируем. Мы тестируем,
пытаясь очертить границы и возможности продукта и дизайна. Мы тестируем, когда нами
движет стремление ответить на вопросы, на которые нет ответа или на те вопросы,
которые даже не были еще заданы.»
Ну а во вторых, тестирование является очень сложным мастерством, овладеть которым
среднему человеку не под силу, куда там обезьяне. Вот что говорит Патрик Коупленд из
Google о необходимых качествах тестировщика:
«Это особый склад ума и особая страсть. На 100 проведенных мной
собеседованиях для тестировщиков я прежде всего обращал внимание на: 1) наличие
особой способности к поиску проблем и 2) страсть к тестированию, присутствующую в
человеке наряду с этой способностью. Другими словами тестировщики любят свою работу
и делают ее хорошо. Они отмечают, что при тестировании приходится решать проблемы,
равные, а иногда даже и превосходящие по сложности те, что приходится решать при
программировании. Тот, кто является тестировщиком от Бога и правильно относится к
работе, никогда не останется без дела. Такие люди — на вес золота.»
Тестирование это не просто поиск ошибок, в отличие от разработчиков, тестировщики не
работают лишь с определённым функционалом, они эксперты все системы, они несут
ответственность за систему и понимают её значимость, эффективность и влияние
окружения. Поэтому не стоит обесценивать их труд.
И если для тестирования интерфейсов все может показаться не таким очевидным по
нашей теме, то с другими видами тестирования сомнений о полезности и важности
тестировщика в команде не возникает. К примеру, автоматизированное тестирование,
которое обычно применяется для автоматизации процесса регрессионного тестирования.
Такого типа специалистов вполне можно назвать и разработчиками. А негативное,
нагрузочное, тестирование безопасности и другие требуют выхода за рамки мышления
«как обычный пользователь» и наличия таких качеств как креативность, инициативность,
дальновидность, изворотливость и так далее. Если вы найдете обезьянку с такими
качествами, дайте знать.
В наши дни менеджеры проектов начали понимать важность следить за качеством
разработки и тестирования. Любая уважающая себя контора держит у себя отдел
управления качеством QA. В университетах появляются курсы для тестировщиков,
крупные компании устраивают школы для начинающих специалистов тестирования. И все
это несомненно приносит свои плоды, и я думаю, что это лишь вопрос времени, когда
тестировщики и разработчики начнут жить в мире и согласии.
Download