Как стать автором
Обновить

Одиссея тестировщика

Время на прочтение9 мин
Количество просмотров6K
Автор оригинала: Lisa Crispin
IT-индустрия претерпевает стремительные изменения. Все больше и больше команд разработчиков ставит тестирование если не во главу угла, то хотя бы в центр техпроцесса, и тестирование становится влиятельным фактором разработки. Буквально ежемесячно появляются новые улучшенные фреймворки и драйверы для автоматизированного тестирования. Команды, практикующие автоматизированное регрессионное тестирование, нуждаются в тестировщиках, обладающих отточенными исследовательскими навыками. Но большинство людей не получают подобных навыков во время учебы в вузах — откуда же тогда возьмутся такие тестировщики?

В то же время оказывается, что многие специалисты мечтают о хорошей работе, связанной с тестированием. Тестировщики часто спрашивают меня, как «втереться» в команду, работающую по Agile-методике, или как им найти просто хорошую работу. Если у них нет опыта в программировании, они переживают, что недостаточно технически подкованы, чтоб попасть в Agile-команду. С моей же точки зрения, навыки безусловно важны, но отношение к делу — это самое главное. Если вы готовы учиться, делать все для того, чтоб на выходе у команды получился по-настоящему хороший продукт, то у вас хорошие перспективы как у тестировщика. Мой вам совет — добровольно подключайтесь к любой деятельности, которая принесет новые знания и умения, и работайте на совесть, чтоб отточить приобретенные навыки.

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

Программист, тестировщик — или специалист в предметной области?



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

Я начинала с программирования, и писать код мне очень нравится. Автоматизация тестирования, занятие тесно сопряженное с программированием — одно из любимейших мною занятий. И все же, тестирование — это моя страсть. Мне очень нравится изучать то, как бизнес развивается, как в нем все работает, чтобы затем внести свою лепту в его успех. Техническая подкованность позволяет мне отлично взаимодействовать с командой как на уровне разработки, так и на уровне бизнес-процесса. Ниже приведена моя личная одиссея, от раннего опыта программирования до работы в Agile-командах.

Первые уроки тестирования



Как и многие, я пришла в разработку ПО случайно. Я получила место «тренера по программированию» на кафедре Обработки данных в Университете Техаса.

Меня обучали программисты, которые сами совсем недавно только научились. Поскольку они помнили, как сами обучались программированию, они знали, как обучать других. Вскоре я уже знала основы Easytrieve, Cobol и 4GL, а также иерархических баз данных. Мы все писали код совершенно одинаково, так что было легко помогать друг другу. Ретроспективно, это было коллективное программирование в идеальном виде.

Через пару месяцев этой производственной практики мне предложили место координатора обучения, и я с радостью приняла предложение. Я должна была не только следить за обучением программистов, но и обучать конечных пользователей. У нас были занятия для преподавательского состава и другого университетского персонала, где мы учили составлять простейшие запросы и отчеты — весьма успешная практика, которая избавила нас, программистов, от кучи работы. За тот год, что мне отвели на обучение (и на протяжении которого я также выполняла обязанности программиста), я очень многому научилась в поисках правильного подхода к обучению других людей.

Я была очень удивлена, насколько многому научилась у пользователей, а также других программистов. Мы, «программисты/аналитики», садились за стол с конечными пользователями, говорили о том, чего им хотелось бы, и тут же создавали прототипы. Мы показывали им каждый из вариантов, чтоб в итоге они получили желаемое. Я присоединилась к команде, которая работала над онлайн-каталогом для библиотеки: библиотекари объясняли нам, как работает картотека. Узнавать что-то новое из совершенно разных отраслей было самым интересным в этой работе. Мы ничего не знали о тестировании, но планировали в сотрудничестве с пользователями привести ПО в должный вид до выхода его в свет.

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

Обучение при помощи перемен



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

Увидев пользу от нахождения багов в ПО до попадания к клиенту, компания организовала первую команду тестировщиков. И я тоже вызвалась там работать. Поскольку я знала SQL, мне пришлось работать над проектами, где использовались базы данных Oracle и Sybase, которые начинали пользоваться гораздо большим спросом, чем наш продукт.

На этой новой работе я начала овладевать искусством и наукой тестирования. Я поучаствовала в конференции по тестированию, чтобы узнать больше. Мы начали экспериментировать с автоматизацией. Наше ПО работало во всех операционных системах. Так что я воспользовалась возможностью изучить их все: VAX/VMS, Wang, OS2, AS400 и еще восемь разных подвидов Unix. Не все это украсило мое резюме, но умение использовать все эти платформы в качестве среды тестирования было бесценным.

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

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

Связи — это всегда возможности



Мне нравилась моя новая работа, и она давала возможности осваивать новые области. Например, в своей команде я стала главным специалистом по PowerBuilder. Я могла несколько месяцев провести за изучением инструмента тестирования созданием автоматизированного тестового комплекса с GUI. Самое прекрасное было в том, что некоторые мои бывшие сотрудники тоже перешли в эту компанию. Тогда я поняла как тесен мир — это очень ценный урок!

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

Когда я просматривала список инструментов, мое внимание привлекла аббревиатура OCLC. Я изучила его еще когда работала над библиотечным онлайн-каталогом, поскольку OCLC каталогизирует книги и обслуживает библиотеки практически всюду. По странному стечению обстоятельств, они предлагали инструмент тестирования WebArt, который я и решила приобрести. Его разработчик, Тип Хаус, приходил обучать нас тестированию веб-приложений и автоматизированному тестированию.

Как многие тестировщики, я всегда интересовалась возможностью выпускать хорошее ПО вовремя. Интернет гораздо более динамичная среда, чем мир продуктов по работе с базами данных, и меня неприятно удивляла наша медленная работа по модели водопада. Вскоре предоставилась возможность испробовать другой подход. Когда наш стартап купила более крупная компания, несколько наших разработчиков ушло, чтоб создать свой проект. Они дали мне книгу «Экстремальное программирование с пояснениями» («Extreme Programming Explained») и сказали: «Эй, мы хотим испытать эту XP-штуку». Как только я прочла книгу, то поняла, что должна попробовать, и умоляла их взять меня в проект.

Когда же я присоединилась к своим приятелям, меня начал мучать вопрос «а что делать тестировщику в XP-проекте?», и я вступила в растущее на глазах онлайн-сообщество, посвященное гибкой разработке (тогда мы не знали, что термин Agile закрепится за этим подходом). Я была изумлена теплыми приемом XP-гуру и других сторонников гибкого подхода. Когда Uncle Bob Martin пришел прочесть нам учебный курс, он предложил мне позвонить Ворду Каннингему и задать ему все свои вопросы о тестировании; он дал мне номер его телефона. Ворд говорил со мною больше часа! Если я узнавала, что в наш город или на какую-то конференцию приезжает кто-то вроде Рона Джефриса или Кента Бэка, я договаривалась с ними о встрече, и они не жалели для меня времени. Брайан Марик подсказывал мне, к кому обращаться, чтоб получить больше помощи с agile-тестированием.

Помощь сообществу создает новые возможности



Когда моя команда и те, с кем я познакомилась на конференциях, в группах пользователей и благодаря рассылке, нашли инструменты agile-тестирования, работающие лучше всего, я решила, что нечего другим тестировщикам и их командам заново изобретать велосипед. При поддержке XP-сообщества и Типа Хауса я написала книгу «Тестирование и экстремальное программирование». Многие люди помогли с вычиткой черновиков и с идеями, среди них была Дженет Грегори. Вместе с Дженет мы начали организовывать лекции и мастерские на конференциях.

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

Еще я осознала ценность обмена. Моя первая команда XP-разработчиков объединила вокруг себя людей и создала группу приверженцев XP. Я выступала на самом первом собрании! Я повстречала так много заечательных людей и столькому научилась за десять лет в этой группе, и все что я потратила — это всего лишь немного своего времени. Я очень стараюсь наперед отплатить за всю ту помощь. Что я получила. Я участвую в локальных группах пользователей, работаю волонтером на конференциях, модерирую рассылку по тестированию, устраиваю неформальные учебные сессии с другими компаниями, провожу бесплатные онлайн-семинары и телеконференции с командами, у которых есть вопросы о тестировании и гибкой разработке. И оказывается, чем больше я стараюсь помогать людям, тем большему я научаюсь. Это очень круто — помощь уже содержит в себе вознаграждение.

Расширение горизонтов никогда не прекращается



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

Например, я с трудом осваивала Ruby, потому что я никогда не владела хорошо языками объектно-ориентированного программирования. Я штудировала литературу, мне помогали коллеги, и на выходе получался скрипт, который потом экономил время для более интересных задач. Я присоединилась к группам, которые работают над улучшением предложения инструментов тестирования, таким как Austin Workshop on Test Automation и the Agile Alliance Functional Test Tools committee. И благодаря этому я не только узнаю об альтернативных инструментах, но и встречаю множество полезных людей.

Почему это важно?



Думаю, большинству тестировщиков, которые читают эту статью, очевидно, насколько я люблю то, чем занимаюсь (хоть и бывают дни, когда я не знаю за что взяться и жалею, что у меня так мало знаний). Приятели с той самой первой работы в техподдержке отмечают легкость, с которой я могу найти хорошую работу, в то время как они застряли в сфере. Которая давно им неинтересна. Я нисколько не умнее их, просто я готова учиться и рассматривать новые возможности! Небольшая инвестиция своего времени в учебу и участие в делах сообщества отплачивается сторицей, когда речь идет о карьере.

Вот несколько источников, которые я бы порекомендовала тестировщикам:


Об авторе


Лайза Криспин в соавторстве с Дженет Грегори написала книгу Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley, 2009), была одним из авторов Beautiful Testing (O’Reilly, 2009). Она работала тестировщиком в agile-командах на протяжении десяти лет и с удовольствием делится опытом через книги, статьи, лекции, участие в сообществах по всему миру. Больше информации о ней вы найдете по ссылке www.lisacrispin.com
Теги:
Хабы:
+13
Комментарии30

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события