Исследуя исследовательский подход к тестированию |
18.12.2017 10:53 |
Автор: Виктория Кузнецова (Viktoria Kuznetcova) Оригинал статьи: https://www.testingcircus.com/documents/TestingTrapeze-2014-February.pdf#page=25 Перевод: Ольга Алифанова Исследовательское тестирование набирает популярность в последнее время. Это не может не радовать, однако я обнаружила, что люди, говорящие о нем, подразумевают совершенно разные вещи. Иногда эта разница довольно забавна, иногда шокирует и открывает глаза на то, что скрыто. Иногда – к примеру, когда ваш коллега отказывается пробовать что-то новое, утверждая, что «и так занимается исследовательским тестированием», это просто раздражает. Мне кажется, проблема в том, что люди пытаются освоить практики исследовательского тестирования, не пытаясь понять идеи, лежащие в его основании. Если вы понимаете эти идеи, вы можете выбирать подходы, изобретать что-то новое, думать о том, что лучше сработает в этом конкретном проекте с его конкретной командой. Если все, что вам известно – это набор инструментов, то вы не занимаетесь исследовательским тестированием – вы просите кейс у людей, которые как раз им-то и занимались. Не то чтобы это плохо, но, по моему мнению, это вовсе не исследовательское тестирование. Не думаю, что у меня есть универсальный ответ на этот вопрос, но мне хотелось бы поделиться своим пониманием исследовательского тестирования и причинами, по которым я так его люблю. Исследовательское тестирование – это не просто использование диаграмм и сессионного тестирования, это не работа в Agile-окружении, и это совершенно точно не список эвристик, который вы обязаны использовать. Для меня оно сосредоточено на идее исследования. Это про обучение, расследование, разъяснения. Это задавание вопросов, экспериментирование, приобретение знаний о тестируемом объекте. Мне нравится думать о себе, как о марсоходе «Кьюриосити» или как о члене команды Звездолета. Я исследую новые миры. Я знаю, что никогда не узнаю всего, что можно узнать, но у меня есть нужные инструменты, увлеченность, и желание учиться. Как тестировщик, я приступаю к работе, вооруженная знаниями и предположениями о проекте, который я тестирую. Обычно у меня на руках есть требования бизнеса, описание технологии, понимание окружения, общие знания об IT, ожидания от ПО, основанные на личном опыте работы с похожими задачами, и так далее. Я создаю карту, основанную на моем опыте. Карта включает стратегию тестирования и идеи тестирования, которые я собираюсь развивать. У меня под рукой множество помогающих мне инструментов – от специализированного ПО до техник тест-анализа. Все это необходимо, чтобы помочь мне – но если я дам техникам и инструментам определять, что мне делать, моя работа станет механической. Мне не понадобится мощь человеческого мозга – тестирование сведется к использованию инструментов и выполнению предначертанных сценариев. Когда я тестирую методом свободного поиска, я постоянно задаю вопросы и проверяю свои предположения. Поразительно, сколько можно получить, действуя согласно этой простенькой идее. Во-первых, исследовательское тестирование очень эффективно. Задавая вопросы, вы начнете лучше понимать программу. Вы убедитесь, что не пользуетесь документацией с истекшим сроком действия. Вы познакомитесь с командой и узнаете, что они умеют делать. Вы предоставите быструю обратную связь, и это поможет команде работать лучше, используя свежайшую информацию о продукте, которую они иначе не смогли бы получить. Исследовательское тестирование делает работу веселее – не стоит это недооценивать, если вы так же быстро начинаете скучать, как, например, я. Оно также подталкивает вас к использованию техник из других областей – люди исследуют мир с момента своего появления в нем, и исторический опыт и мудрость вполне применимы в тестировании. Примите в расчет огромное количество литературы про научные методы, двойное слепое тестирование в социологии, профилирование преступников в ФБР, планирование разведывательных операций на территории противника – все эти техники могут дать вам что-то полезное как тестировщику. Если вы согласны со мной, что тестирование завязано на задавание вопросов и поиск знаний, вы можете использовать это понимание, имея дело с задачами, которые попадают в ваши руки. Я зачастую обнаруживала, что менеджер продукта, или же тот, кто отвечает за проект, давит тест-команду вопросами типа «готовы ли мы к релизу» и «когда мы будем готовы». Проблема в том, что тест-команда не имеет власти повлиять на ситуацию. Они не могут решать, что допустимо для релиза, а что нет, они не могут добавить время на тестирование или на разарботку, и они не могут подталкивать разработчиков, дизайнеров и переводчиков. А если у тебя нет власти, у тебя нет и ответственности. Все эти идеи сформировали практический подход, который я применяю годами, и начала использовать еще до появления объясняющей его терминологии. Вот основные правила исследовательского тестирования в моих глазах:
Последнее, о чем я хотела бы сказать – это о распространенном заблуждении, что к исследовательскому тестированию можно подпускать только опытных тестировщиков. Возможно, за это надо выругаться в адрес ISTQB – они описывают исследовательское тестирование именно так. Мой опыт как тестировщика и тест-лида говорит о том, что это ложь. Тестировщик-новичок (в продукте или в разработке как таковой) может обучиться исследовательскому тестированию и немедленно к нему приступить. Мне кажется, что единственным требованием для этого типа тестирования будет страсть задавать вопросы – все прочее придет само, когда вы получите свои ответы. Я тренировала новичков в области исследовательского тестирования вместо обычного «шаг за шагом, пока не выучишь кейс наизусть»-подхода. Из них выросли потрясающие тестировщики. Повторюсь, это всего лишь мое мнение об исследовательском тестировании. Многие тестировщики пишут на эту тему. Отдельное спасибо Джеймсу Баху и Майклу Болтону за идеи, которые они заложили в мою голову, уверенность в себе, и терминологию, позволяющую озвучить мои мысли. |