Легкий способ бросить тест-кейсы (часть 7) |
27.11.2019 00:00 |
Автор: Майкл Болтон (Michael Bolton) В ходе этого цикла статей мы ищем альтернативу подходам к тестированию, основанным на артефактах – а именно, подход, основанный на деятельности. В предыдущей части мы разбирали вид сценарного тестирования, используя одностраничные руководства, направляющие тестировщика в ходе сессии. Одностраничный документ заменяет явные, формальные, процедурные тест-кейсы темой и набором тест-идей, общих указаний или чеклистом. Чартер помогает в какой-то степени направить тестировщика, однако тестировщик сохраняет контроль над своей работой. У него есть достаточная свобода, чтобы принимать собственные решения на каждом этапе. Моя клиентка Фрида предвидела, что на это скажут ее менеджеры. В ходе обучения она играла роль своего начальника. "С тест-кейсами, - сказала она, вживаясь в роль, - я могу быть уверенной, что уже протестировано. Как без тест-кейсов узнать, что сделал тестировщик?" Ключевой первый шаг в отказе от тест-кейсов – это признание беспокойства клиента. Я начал свой ответ "менеджеру" очень осторожно: "Конечно, для этого вопроса есть разумные основания. Для менеджеров и других клиентов тестирования важно знать, какое тестирование уже проведено, и как его проводили тестировщики. Моим первым шагом было бы спросить их об этом". "Как это сработает?", - спросила Фрида, все еще играя роль. "Я не могу постоянно с ними беседовать! При наличии тест-кейсов я знаю, что они им следовали. Как мне доверять им, если кейсов у меня нет?" "Мне кажется, если вы им не доверяете – это сама по себе серьезная проблема, с которой менеджеру нужно разбираться в первую очередь. И если вы им не доверяете, то можно ли верить, если они говорят, что следовали кейсам? Можно ли верить, что они хорошо выполнили свою работу в плане всего того, что не упоминается в кейсах?" "Погодите-ка, что это там не упоминается?" – спросила "менеджер", сделав озадаченное лицо. Фрида прекрасно играла роль. "Невидимое. Ненаписанное. Большая часть письменных тест-кейсов, с которыми я сталкивался, описывала только факторы, которые можно увидеть и на которые можно повлиять; поведения, которые можно описать или закодировать в строки, предложения, числа, биты. Мне кажется, что кейс редко содержит мотивацию для теста, намерение, благодаря которому он создан, а также интерпретацию шагов. Кейсы обычно не вызывают новых вопросов, не поощряют тестировщика сойти с проторенных дорожек". "Нет, - продолжил я, - некоторые тестировщики прекрасно с этим справляются. Они делают все эти невысказанные, ненаписанные вещи в ходе тестирования. Другие могут следовать тест-кейсу до буквы, и не найти никаких багов. Тестировщик может и вовсе не следовать кейсу, и просто сказать, что делал это. Однако этот тестировщик может найти множество важных багов". "Но что же мне делать? Стоять у них над душой ежеминутно и ежедневно?" "Не думаю, что это выполнимо", - ответил я. "Постоянно бдеть за всеми неразумно и невозможно. Вам есть чем заняться, а кроме того, если вы начнете наблюдать за людьми – им это понравится не больше, чем вам. Вы, как менеджер, должны дать тестировщикам достаточно свободы и ответственности. Вы должны им до какой-то степени доверять". "Почему я должна им доверять? Они пропускают множество багов!" Видимо, у Фриды был богатый опыт общения с трудными менеджерами. "Знаете ли вы, почему они пропускают баги?" – спросил я. "Возможно, не потому, что они игнорируют тест-кейсы – возможно, это происходит из-за того, что они слишком пристально им следуют. Когда вы даете человеку очень специфичные, формальные инструкции и настаиваете на их соблюдении – он именно это и сделает. Он сконцентрируется на следовании инструкциям, а не на главенствующей задаче тестирования, которая заключается в изучении продукта и поиске проблем в нем". "И как заставить их это сделать?", - спросил "менеджер". "Не превращайте тест-кейсы в миссию. Пусть их миссией станет изучение продукта и поиск его проблем". "Но как я доверю им это делать?" "Ну, - ответил я, - давайте посмотрим на других людей, чья работа связана с исследованиями: на журналистов, научных сотрудников, детективов. Их работа – делать открытия. Они не следуют формальным процедурам. Никто не видит в этом проблемы. Все они работают под чьим-то руководством – журналисты докладывают редакторам, исследователи в лаборатории – старшим исследователям и менеджерам, детективы – своим начальникам. Как эти начальники узнают, чем заняты их подчиненные?" "Не знаю. Наверное, проверяют их время от времени. Они встречаются? Разговаривают?" "Да. И в ходе этих встреч они описывают проделанную работу и предоставляют доказательства этой работы". "Многие известные мне тестировщики не очень-то в этом хороши", - сказала Фрида, уже от себя лично. "Иногда я волнуюсь, что и я не очень-то в этом хороша". "Это хороший повод для волнения. Как тестировщик, я бы фокусировался на этом навыке, навыке рассказа о своем тестировании. Как менеджер, я бы готовил своих тестировщиков к изложению этого рассказа, и учил их, как выдать этот рассказ в любой момент". "Но как?" - спросила Фрида. "По-разному. Сильно зависит от неявных знаний". "От чего?" "Неявное знание – это то, что мы знаем, не выраженное явно. Оно не высказано, не записано, не занесено в диаграмму или карту, не объяснено. Оно находится внутри чьей-то головы, или же это какие-то физические действия, ставшие второй натурой – скажем, слепая печать. Или же это обусловлено культурой или социумом – "У нас тут так принято". Отчет о тест-сессии сильно варьируется в зависимости от ряда контекстных факторов: на каком этапе проекта мы находимся, насколько хорошо тестировщик с ним знаком, и насколько хорошо мы знаем друг друга. Расскажу-ка я об одном отчете. Для начала вводные: мы работаем над продуктом – системой управления проектами. Карла – опытный тестировщик, работающий с продуктом не один день. Мы долго работали вместе, и я много знаю о том, как она тестирует. Когда я принимаю ее отчет, много чего опускается, потому что я верю, что она скажет мне то, что я должен знать, без излишних вопросов с моей стороны. Оба мы подводим итоги. Вот как мог бы выглядеть разговор с Карлой". Я: (просматривая сессионный отчет) Задача чартера – посмотреть на обновления задач с ролью менеджера. Заметки выглядят неплохо. Как все прошло? Карла: Все так. Там все неплохо. На вид хорошо, и я почти закончила, однако там есть одна проблема согласованности. Когда менеджер пытается переназначить задачу другому тестировщику, а эта задача открыта, потому что ее исполнитель ее обновляет, то переназначение не срабатывает. Задача остается назначенной исходному тестировщику. Мне кажется, это довольно редкий сценарий, однако это все же возможно. Я завела задачу и поговорила об этом с Роном. Я: Что-то еще? Карла: Учитывая этот баг, надо бы провести еще одну сессию по обновлениям. Возможно, часть сессии. Рон сказал, что несинхронизированные данные в JavaScript могут стать проблемой. Он ищет способ правильно управлять последовательностью действий, и обещал предоставить фикс в конце дня. Я бы хотела использовать часть сессии для создания тестовых данных, чтобы это проверить. Я: Окей. Собираешься разобраться с этим завтра, когда будешь проверять модуль отчетности? О чем еще мне следует знать? Карла: Я могу сделать это утром. Было бы круто, если бы разработчики не трогали тест-окружение. Я его двадцать минут настраивала. Я: Хорошо, я скажу им, чтобы не лезли туда. "Вот и все" – сказал я. "И все?" – спросила Фрида. "Я думала, отчет будет длиннее". "О, это возможно", - ответил я. "Если тестировщик неопытен или мы незнакомы, если в тест-заметках были проблемы, если продукт или фича новые или кривые, или если тестировщик нашел множество багов или столкнулся с кучей препятствий, то отчет займет больше времени. Если я хочу скоординировать работу по тестированию для нескольких человек, или если я ожидаю, что кто-то будет тщательно проверять их работу, или находясь в контролируемом окружении, то я буду предельно осторожен, и разговор будет структурирован более формально. Я даже могу воспользоваться чеклистом для отчета. Вне зависимости от этого, у меня есть свой внутренний чеклист. В целом у меня три основных вопроса: как там продукт? Как мы об этом узнали? Почему я должен верить тому, что мы знаем, и что нам нужно, чтобы лучше разобраться во всем? "Это звучит как четыре вопроса", - улыбнулась Фрида. "Но это еще и звучит, как трехсторонняя история". "Все так. Поэтому, задавая конкретные вопросы, я начну с чартера:
Тут я пытаюсь разобраться, был ли чартер выполнен так, как написан, или же его нужно подправить, чтобы он отражал то, что реально произошло. После того, как мы это выяснили, я задаю вопросы по трем областям, которые в какой-то степени пересекаются. У них нет особого порядка следования – каждый полученный ответ повлияет на последующий вопрос". "О, отчетность – это тоже исследовательский процесс!" – сказала Фрида. "Абсолютно", - ухмыльнулся я. "Обычно я начинаю с вопросов о продукте:
Я спрошу о тестировании:
На основании ответов на эти вопросы у меня могут появиться новые:
Последний вопрос – про практическую тестируемость". "Уф, как много вопросов", - сказала Фрида. "Я необязательно задаю все эти вопросы каждый раз – обычно это не требуется. Я пройдусь по большей их части, если тестировщик – новичок в этом стиле работы, или мы еще не знакомы. В этих случаях, как менеджер, я беру больше ответственности за то, чтобы убедиться, что именно тестировалось – что мы знаем и чего не знаем. К тому же эти вопросы – и ответы – помогают мне разобраться, учится ли тестировщик быть более самостоятельным. И затем у меня еще остается три вопроса:
Фрида нахмурилась. "Многие менеджеры, с которыми я работала, кажется, не хотят знать о проблемах. Они говорят "Не приходите ко мне с проблемами – приходите с решениями". Я засмеялся. "Да, я работал с такими менеджерами. Обычно к ним и вовсе не хочется идти. Однако если все же приходится, я убеждаю их, что я напрочь застрял, и мне нужна помощь менеджмента, чтобы выбраться. И я часто говорю, что вы, возможно, не хотите слышать о проблемах – никто не хочет. Но я полагаю, что будет хуже для всех, если вы о них не узнаете. И это приводит к более важному вопросу:
"Ээээ… на "тестирование", предположительно, разве нет?" – спросила Фрида. "Ну, - ответил я, - есть тестирование, и есть прочая работа в ходе сессии". Поговорим об этом в следующий раз. |