Разделы портала

Онлайн-тренинги

.
Легкий способ бросить тест-кейсы (часть 7)
27.11.2019 00:00

Автор: Майкл Болтон (Michael Bolton)
Оригинал статьи
Перевод: Ольга Алифанова

В ходе этого цикла статей мы ищем альтернативу подходам к тестированию, основанным на артефактах – а именно, подход, основанный на деятельности.

В предыдущей части мы разбирали вид сценарного тестирования, используя одностраничные руководства, направляющие тестировщика в ходе сессии. Одностраничный документ заменяет явные, формальные, процедурные тест-кейсы темой и набором тест-идей, общих указаний или чеклистом. Чартер помогает в какой-то степени направить тестировщика, однако тестировщик сохраняет контроль над своей работой. У него есть достаточная свобода, чтобы принимать собственные решения на каждом этапе.

Моя клиентка Фрида предвидела, что на это скажут ее менеджеры. В ходе обучения она играла роль своего начальника. "С тест-кейсами, - сказала она, вживаясь в роль, - я могу быть уверенной, что уже протестировано. Как без тест-кейсов узнать, что сделал тестировщик?"

Ключевой первый шаг в отказе от тест-кейсов – это признание беспокойства клиента. Я начал свой ответ "менеджеру" очень осторожно: "Конечно, для этого вопроса есть разумные основания. Для менеджеров и других клиентов тестирования важно знать, какое тестирование уже проведено, и как его проводили тестировщики. Моим первым шагом было бы спросить их об этом".

"Как это сработает?", - спросила Фрида, все еще играя роль. "Я не могу постоянно с ними беседовать! При наличии тест-кейсов я знаю, что они им следовали. Как мне доверять им, если кейсов у меня нет?"

"Мне кажется, если вы им не доверяете – это сама по себе серьезная проблема, с которой менеджеру нужно разбираться в первую очередь. И если вы им не доверяете, то можно ли верить, если они говорят, что следовали кейсам? Можно ли верить, что они хорошо выполнили свою работу в плане всего того, что не упоминается в кейсах?"

"Погодите-ка, что это там не упоминается?" – спросила "менеджер", сделав озадаченное лицо. Фрида прекрасно играла роль.

"Невидимое. Ненаписанное. Большая часть письменных тест-кейсов, с которыми я сталкивался, описывала только факторы, которые можно увидеть и на которые можно повлиять; поведения, которые можно описать или закодировать в строки, предложения, числа, биты. Мне кажется, что кейс редко содержит мотивацию для теста, намерение, благодаря которому он создан, а также интерпретацию шагов. Кейсы обычно не вызывают новых вопросов, не поощряют тестировщика сойти с проторенных дорожек".

"Нет, - продолжил я, - некоторые тестировщики прекрасно с этим справляются. Они делают все эти невысказанные, ненаписанные вещи в ходе тестирования. Другие могут следовать тест-кейсу до буквы, и не найти никаких багов. Тестировщик может и вовсе не следовать кейсу, и просто сказать, что делал это. Однако этот тестировщик может найти множество важных багов".

"Но что же мне делать? Стоять у них над душой ежеминутно и ежедневно?"

"Не думаю, что это выполнимо", - ответил я. "Постоянно бдеть за всеми неразумно и невозможно. Вам есть чем заняться, а кроме того, если вы начнете наблюдать за людьми – им это понравится не больше, чем вам. Вы, как менеджер, должны дать тестировщикам достаточно свободы и ответственности. Вы должны им до какой-то степени доверять".

"Почему я должна им доверять? Они пропускают множество багов!" Видимо, у Фриды был богатый опыт общения с трудными менеджерами.

"Знаете ли вы, почему они пропускают баги?" – спросил я. "Возможно, не потому, что они игнорируют тест-кейсы – возможно, это происходит из-за того, что они слишком пристально им следуют. Когда вы даете человеку очень специфичные, формальные инструкции и настаиваете на их соблюдении – он именно это и сделает. Он сконцентрируется на следовании инструкциям, а не на главенствующей задаче тестирования, которая заключается в изучении продукта и поиске проблем в нем".

"И как заставить их это сделать?", - спросил "менеджер".

"Не превращайте тест-кейсы в миссию. Пусть их миссией станет изучение продукта и поиск его проблем".

"Но как я доверю им это делать?"

"Ну, - ответил я, - давайте посмотрим на других людей, чья работа связана с исследованиями: на журналистов, научных сотрудников, детективов. Их работа – делать открытия. Они не следуют формальным процедурам. Никто не видит в этом проблемы. Все они работают под чьим-то руководством – журналисты докладывают редакторам, исследователи в лаборатории – старшим исследователям и менеджерам, детективы – своим начальникам. Как эти начальники узнают, чем заняты их подчиненные?"

"Не знаю. Наверное, проверяют их время от времени. Они встречаются? Разговаривают?"

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

"Многие известные мне тестировщики не очень-то в этом хороши", - сказала Фрида, уже от себя лично. "Иногда я волнуюсь, что и я не очень-то в этом хороша".

"Это хороший повод для волнения. Как тестировщик, я бы фокусировался на этом навыке, навыке рассказа о своем тестировании. Как менеджер, я бы готовил своих тестировщиков к изложению этого рассказа, и учил их, как выдать этот рассказ в любой момент".

"Но как?" - спросила Фрида.

"По-разному. Сильно зависит от неявных знаний".

"От чего?"

"Неявное знание – это то, что мы знаем, не выраженное явно. Оно не высказано, не записано, не занесено в диаграмму или карту, не объяснено. Оно находится внутри чьей-то головы, или же это какие-то физические действия, ставшие второй натурой – скажем, слепая печать. Или же это обусловлено культурой или социумом – "У нас тут так принято".

Отчет о тест-сессии сильно варьируется в зависимости от ряда контекстных факторов: на каком этапе проекта мы находимся, насколько хорошо тестировщик с ним знаком, и насколько хорошо мы знаем друг друга.

Расскажу-ка я об одном отчете. Для начала вводные: мы работаем над продуктом – системой управления проектами. Карла – опытный тестировщик, работающий с продуктом не один день. Мы долго работали вместе, и я много знаю о том, как она тестирует. Когда я принимаю ее отчет, много чего опускается, потому что я верю, что она скажет мне то, что я должен знать, без излишних вопросов с моей стороны. Оба мы подводим итоги. Вот как мог бы выглядеть разговор с Карлой".

Я: (просматривая сессионный отчет) Задача чартера – посмотреть на обновления задач с ролью менеджера. Заметки выглядят неплохо. Как все прошло?

Карла: Все так. Там все неплохо. На вид хорошо, и я почти закончила, однако там есть одна проблема согласованности. Когда менеджер пытается переназначить задачу другому тестировщику, а эта задача открыта, потому что ее исполнитель ее обновляет, то переназначение не срабатывает. Задача остается назначенной исходному тестировщику. Мне кажется, это довольно редкий сценарий, однако это все же возможно. Я завела задачу и поговорила об этом с Роном.

Я: Что-то еще?

Карла: Учитывая этот баг, надо бы провести еще одну сессию по обновлениям. Возможно, часть сессии. Рон сказал, что несинхронизированные данные в JavaScript могут стать проблемой. Он ищет способ правильно управлять последовательностью действий, и обещал предоставить фикс в конце дня. Я бы хотела использовать часть сессии для создания тестовых данных, чтобы это проверить.

Я: Окей. Собираешься разобраться с этим завтра, когда будешь проверять модуль отчетности? О чем еще мне следует знать?

Карла: Я могу сделать это утром. Было бы круто, если бы разработчики не трогали тест-окружение. Я его двадцать минут настраивала.

Я: Хорошо, я скажу им, чтобы не лезли туда.

"Вот и все" – сказал я.

"И все?" – спросила Фрида. "Я думала, отчет будет длиннее".

"О, это возможно", - ответил я. "Если тестировщик неопытен или мы незнакомы, если в тест-заметках были проблемы, если продукт или фича новые или кривые, или если тестировщик нашел множество багов или столкнулся с кучей препятствий, то отчет займет больше времени.

Если я хочу скоординировать работу по тестированию для нескольких человек, или если я ожидаю, что кто-то будет тщательно проверять их работу, или находясь в контролируемом окружении, то я буду предельно осторожен, и разговор будет структурирован более формально. Я даже могу воспользоваться чеклистом для отчета.

Вне зависимости от этого, у меня есть свой внутренний чеклист. В целом у меня три основных вопроса: как там продукт? Как мы об этом узнали? Почему я должен верить тому, что мы знаем, и что нам нужно, чтобы лучше разобраться во всем?

"Это звучит как четыре вопроса", - улыбнулась Фрида. "Но это еще и звучит, как трехсторонняя история".

"Все так. Поэтому, задавая конкретные вопросы, я начну с чартера:

  • Выполнена ли задача чартера? Покрыли ли вы все, что должен был покрыть чартер?
  • Если чартер не выполнен, какие аспекты остались непокрытыми?
  • Что еще вы сделали, даже если это за пределами миссии сессии?

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

"О, отчетность – это тоже исследовательский процесс!" – сказала Фрида.

"Абсолютно", - ухмыльнулся я. "Обычно я начинаю с вопросов о продукте:

  • Как там продукт? Что он должен делать? Делает ли он это?
  • Как вы узнали, что он должен это делать?
  • Что вы выяснили, чему научились? Какие проблемы нашли?

Я спрошу о тестировании:

  • Что произошло в ходе сессии?
  • Что вы покрыли, и как?
  • На каких продуктовых факторах вы фокусировались?
  • Каким критериям качества уделялось наибольшее внимание?
  • Если вы столкнулись с проблемами, как вы поняли, что это проблема? Какими оракулами вы пользовались?
  • Было ли что-то важное в чартере, что осталось не покрытым?
  • Какое тестирование, связанное с этим чартером, вы оцениваете как важное, но еще не проведенное?

На основании ответов на эти вопросы у меня могут появиться новые:

  • Какие рабочие продукты вы создали?
  • Какие доказательства у вас есть для подтверждения вашей истории? Что делает их заслуживающими доверия?
  • Где их можно найти? Почему именно там, не стоит ли это поменять?
  • Каким тестированием нужно или можно заняться сейчас или в отдаленном будущем?
  • Что может понадобиться для этого?

Последний вопрос – про практическую тестируемость".

"Уф, как много вопросов", - сказала Фрида.

"Я необязательно задаю все эти вопросы каждый раз – обычно это не требуется. Я пройдусь по большей их части, если тестировщик – новичок в этом стиле работы, или мы еще не знакомы. В этих случаях, как менеджер, я беру больше ответственности за то, чтобы убедиться, что именно тестировалось – что мы знаем и чего не знаем. К тому же эти вопросы – и ответы – помогают мне разобраться, учится ли тестировщик быть более самостоятельным.

И затем у меня еще остается три вопроса:

  • Какие факторы могли повлиять на качество тестирования?
  • Что мешало, усложняло жизнь, замедляло работу, снижало ценность тестирования?
  • С какими проблемами вы сталкиваетесь сейчас?

Фрида нахмурилась. "Многие менеджеры, с которыми я работала, кажется, не хотят знать о проблемах. Они говорят "Не приходите ко мне с проблемами – приходите с решениями".

Я засмеялся. "Да, я работал с такими менеджерами. Обычно к ним и вовсе не хочется идти. Однако если все же приходится, я убеждаю их, что я напрочь застрял, и мне нужна помощь менеджмента, чтобы выбраться. И я часто говорю, что вы, возможно, не хотите слышать о проблемах – никто не хочет. Но я полагаю, что будет хуже для всех, если вы о них не узнаете.

И это приводит к более важному вопросу:

  • На что вы потратили ваше время в ходе этой сессии?

"Ээээ… на "тестирование", предположительно, разве нет?" – спросила Фрида.

"Ну, - ответил я, - есть тестирование, и есть прочая работа в ходе сессии".

Поговорим об этом в следующий раз.

Обсудить в форуме