Сегодня в твиттере Мелисса Багаи (@melbugai) задала вопрос: «Что такое работа тестировщика?». После нескольких попыток в 140 знаков дать сжатый ответ я сдался и решил написать об этом в блоге.
Задача тестировщика — сделать продукт лучше.
Я признаю, что это определение сильно упрощено и попытаюсь получше объяснить, что же здесь имеется ввиду.
Тестировщик — это много больше, чем просто поиск проблем. Я знал тестировщиков, которые чрезвычайно хороши в деле нахождения ошибок, но, в конечном счёте, им не удаётся превратить эти баги в значительные улучшения для тестируемого ими продукта. Почему так получается?
Иногда это потому, что тестировщики плохо отстаивают эту ошибку. Они не способны убедить разработчиков, руководителей и заинтересованных сторон, что ошибка должна быть исправлена. Они стараются, но их игнорируют, а затем они становятся раздражёнными, когда ошибка обнаруживается в продукте и начинает раздражать всех остальных.
Бывает, что это происходит в результате потери доверия к тестировщику. Такие считают, что каждый найденный ими баг, даже какой-нибудь чрезвычайно замысловатый баг связанный с ограничениями, который происходит про попытке ввести 10 миллионов знаков в текстовое поле, является критическим и должен быть исправлен немедленно. Они кидаются на каждого, кто пытается их успокоить. Так происходит до тех пор, пока каждого не будет тошнить от них и все их отчёты об ошибках будут игнорироваться.
В иных случаях, корень проблемы лежит в плохом взаимопонимании между тестировщиками и командой разработки. Быть может, они сильно отстали от разработчиков, и последние потеряли интерес к той области кода, в которой производится тестирование. Или, возможно, тестировщики опережают команду разработки и проверяют вещи, которые нет смысла трогать в текущей ситуации.
Это всё вопросы касательно уровня навыков, которым потом можно будет обучить, натренировать и которые можно улучшить. Сильнее же меня волнует следующая причина.
Иногда всё просходит из-за того, что тестировщики не считают все эти вещи частью своей работы.
«Я только что нашёл ошибки. Что вы делаете с ними — это не мое дело».
Мне не нравится такой отстранённый подход к тестированию ПО. Невозможно обучить тестировщиков внимательности к тестируемому продукту, ответственности за него. Для этого, в первую очередь, придётся вытащить их головы из той тёмной полости тела, в которую они приспособлены.
«Но… но...», — попытаетесь вы возразить. Хотя бы тем, что нет никакой разницы, ведь они находят те же баги, что и те тестировщики, которым есть дело до проекта.
Ну, вероятно, это всё же не так. Они не будут находить те же оши��ки. Их тестирование будет сосредоточено на том, чтобы показать что они адекватно протестировали весь код, вместо того, чтобы сосредоточиться на поиске ошибок, имеющих наибольшее значение в деле улучшения качества разработки и совершенствования конечного продукта.
Грустно бывает видеть тестировщиков с, казалось бы, хорошими навыками, но которым настолько безразличны результаты их труда, что они даже не пытаются взлянуть на эффективность с более удалённой перспективы. Сделав это, такие тестировщики поняли бы, что они, как и остальные участники разработки, вносят вклад в общее дело.
Тестировщик не может преуспеть, если команду постигает провал.
Тестировщики, которые не делают продукт лучше — провальны. Это может и не быть полностью их виной: может быть организация просто много игнорировала их. А может быть и так, что разработчики просто самовлюбленные ослы, не способные воспринимать критику. Быть может, менеджеры не в состоянии отличить критическую ошибку от обычной опечатки в лицензионном соглашении для конечного пользователя. Как бы то ни было, всё это не важно. Если вам из-за всего вышеперечисленного не удалось достигнуть успеха в роли тестировщика…
вы по-прежнему терпите неудачу. Вы не выполнили свою работу.
Задача тестировщика — сделать продукт лучше.
Я признаю, что это определение сильно упрощено и попытаюсь получше объяснить, что же здесь имеется ввиду.
Тестировщик — это много больше, чем просто поиск проблем. Я знал тестировщиков, которые чрезвычайно хороши в деле нахождения ошибок, но, в конечном счёте, им не удаётся превратить эти баги в значительные улучшения для тестируемого ими продукта. Почему так получается?
Иногда это потому, что тестировщики плохо отстаивают эту ошибку. Они не способны убедить разработчиков, руководителей и заинтересованных сторон, что ошибка должна быть исправлена. Они стараются, но их игнорируют, а затем они становятся раздражёнными, когда ошибка обнаруживается в продукте и начинает раздражать всех остальных.
Бывает, что это происходит в результате потери доверия к тестировщику. Такие считают, что каждый найденный ими баг, даже какой-нибудь чрезвычайно замысловатый баг связанный с ограничениями, который происходит про попытке ввести 10 миллионов знаков в текстовое поле, является критическим и должен быть исправлен немедленно. Они кидаются на каждого, кто пытается их успокоить. Так происходит до тех пор, пока каждого не будет тошнить от них и все их отчёты об ошибках будут игнорироваться.
В иных случаях, корень проблемы лежит в плохом взаимопонимании между тестировщиками и командой разработки. Быть может, они сильно отстали от разработчиков, и последние потеряли интерес к той области кода, в которой производится тестирование. Или, возможно, тестировщики опережают команду разработки и проверяют вещи, которые нет смысла трогать в текущей ситуации.
Это всё вопросы касательно уровня навыков, которым потом можно будет обучить, натренировать и которые можно улучшить. Сильнее же меня волнует следующая причина.
Иногда всё просходит из-за того, что тестировщики не считают все эти вещи частью своей работы.
«Я только что нашёл ошибки. Что вы делаете с ними — это не мое дело».
Мне не нравится такой отстранённый подход к тестированию ПО. Невозможно обучить тестировщиков внимательности к тестируемому продукту, ответственности за него. Для этого, в первую очередь, придётся вытащить их головы из той тёмной полости тела, в которую они приспособлены.
«Но… но...», — попытаетесь вы возразить. Хотя бы тем, что нет никакой разницы, ведь они находят те же баги, что и те тестировщики, которым есть дело до проекта.
Ну, вероятно, это всё же не так. Они не будут находить те же оши��ки. Их тестирование будет сосредоточено на том, чтобы показать что они адекватно протестировали весь код, вместо того, чтобы сосредоточиться на поиске ошибок, имеющих наибольшее значение в деле улучшения качества разработки и совершенствования конечного продукта.
Грустно бывает видеть тестировщиков с, казалось бы, хорошими навыками, но которым настолько безразличны результаты их труда, что они даже не пытаются взлянуть на эффективность с более удалённой перспективы. Сделав это, такие тестировщики поняли бы, что они, как и остальные участники разработки, вносят вклад в общее дело.
Тестировщик не может преуспеть, если команду постигает провал.
Тестировщики, которые не делают продукт лучше — провальны. Это может и не быть полностью их виной: может быть организация просто много игнорировала их. А может быть и так, что разработчики просто самовлюбленные ослы, не способные воспринимать критику. Быть может, менеджеры не в состоянии отличить критическую ошибку от обычной опечатки в лицензионном соглашении для конечного пользователя. Как бы то ни было, всё это не важно. Если вам из-за всего вышеперечисленного не удалось достигнуть успеха в роли тестировщика…
вы по-прежнему терпите неудачу. Вы не выполнили свою работу.
