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

Original author: Lisa Crispin
  • Translation
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

Similar posts

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 30

    +5
    … на кафедре Обработки данных в Университете Техаса.

    вот с чего следует начинать эту статью — со слов о полном несоответствии нашим реалиям.
      0
      Каковы наши реалии, на ваш взгляд?
        +8
        У нас нет Университета Техаса.
          +2
          Вы действительно думаете, что проблема только в этом? Или Университет Техаса был ниспослан им богом?
            +1
            Здравствуйте, доктор Купер.
          +1
          Кроме того, что нет Техаса, нет рынка тестировщиков (для веба) такого, как описано в статье. Скорее всего, по отношению к вебу он в зачаточссном состоянии и юнит-тестирование ведётся силами энтузиастов (их немногочисленные статьи мы видели здесь). Общепринятого подхода к тестированию сайтов нет, всё, как было примерно 5 лет назад. А уж тестирование и Agile — это такая экзотика, что мы совершенно не можем применить подход, описанный к статье.

          Ещё, она странно пишет: я приобрела программу, потому что она мне понравилась. Кто из наших тестировщиков в здравом уме будет так подходить? В своей или другой организации, куда он пойдёт работать, ему скажут «У нас другой подход к тестированию, мы вам платим за другое, программа эта нам не нужна».
            0
            Да ладно вам :) где это в тестировании такой упадок?
              +1
              Это вы наш отдел тестирования не видели.
                0
                Вы не правы.
                Рынок тестирования вовсе не в зачаточном состоянии: в СНГ достаточно много компаний, которые предоставляют только услуги QA.
                Вполне естественно, что заказчики у них не из воздуха.
                ***
                Ну и в принципе, ваши слова говорят лишь о том, что вы мало сталкивались с такими командами, тестировщиками и ситуациями.
                «Видишь суслика? И я не вижу. А он есть».
                +2
                Насколько мне известно, то как в США, так и в остальных забугорных компаниях (не имеет значения пишут для себя, или на заказ и на каком языке пишут) отдел Quality assistants в иерархии важности стоит выше нежели отдел Software development, а часто и получают больше заработную плату за свою работу…
                  0
                  *Quality Assurans.

                  Похоже на сказку, если честно. Чтобы тестировщик получал больше разработчика!
                  Это неестественно с точки зрения бизнеса: когда обслуживающая часть (согласитесь, QA — это лишь сервис), получала больше производственной.
                    0
                    Однако есть такие тестировщики :)
                      0
                      Но их и увольняют первыми в случае проблем с деньгами.
                        0
                        Ужасный подход: уволнять из-за недостатка средств.
                        Найти и\или воспитать хорошего специалиста дороже выйдет в итоге.
                          0
                          Лучше подать на банкротство?
                            0
                            Лучше договориться с заказчиком\работниками\саппортом о сдвиге сроков, превышении рабочего времени, задержки выплат, чем уволнять хороших сотрудников.
                            Хороший менеджер, в том числе и тест-менеджер, должен видеть далеко и предугадать когда стоит остановить рекрутинг, а не когда стоит начать увольнения.
                              0
                              Ну представьте себе:
                              в стране кризис (очередной).
                              треть клиентов разорилась, ещё треть активно об этом думает.
                              хороших сотрудников — да, надо постараться оставить.

                              Но отдел тестирования, как правило, это два человека которые пишут тесты и три десятка индусов, которые эти тесты гоняют.

                              Индусы идут в расход первыми.
                                0
                                Очень странное у вас представление об отделе тестирования, если честно. У нас «индусов» на реальные проекты не пускают два месяца, пока не научатся самостоятельно выполнять анализ требований и составлять скоуп необходимых требований.

                                Но положим даже так — изначально мы говорили о нежелательности практики увольнения «специалистов» в пользу бюджета. Индуса трудно назвать специалистом.

                                P.S. Как интересно скатилась тема от личной мотивации до управления командой тестирования…
                        0
                        Само собой :)
                        Но если сравнивать зарплаты Senior QA и Senior Developer — выигрыш, я уверен, будет в сторону разработчика.
                        Думаю со средними показателями ситуация будет аналогична.
                      0
                      Это не так. 10лет я в израильских компаниях или в израильских отделениях американских компаниях — в большинстве мест отношение к тестировщикам не солидное — они получает меньше, ниже критерии при наборе, все толковые люди стремятся перейти в девелоперы, автоматическое тестирование есть не всюду.
                        0
                        Удивительно, но случай с более высокой ценностью и более высокой оплатой труда тестеров я узнал как раз именно из израильской компаний. Возможно вы не берете в учет параметры качества, которые стоят на первом месте в таких компаниях.
                          0
                          Интересно, а какая именно фирма, не помните?
                          Я сейчас работаю в фирме специализирующейся на тестировании, и все равно все очень плохо. Пробуют платить так же как программистам, а народ не идет — не престижно. Платить больше не позволяют тарифные вилки — все таки большая американская контора со своими строгими правилами.
                            0
                            Я не уверен, могу ли я говорить об этом публично, потому назвать имя компании не осмелюсь.
                        0
                        В известных мне компаниях это не так.
                        Как правило, именно отдел разработки отвечает за доставку софта. И именно отделу разработки приходится принимать решение за что он хочет получить пинков: за большое количество багов или за срыв сроков.
                          0
                          Качество кода, это уже совсем другой вопрос, вы не находите?
                      0
                      Мне кажется, из статьи следует, что дело не в начальных знаниях, а в стремлениях, в готовности расширяться…
                      Кто ищет, тот всегда найдет…
                        +2
                        Оторванность от «наших» реалий тут в другом.

                        Лиза (Лайза) пропагандирует такой подход, который на ее рынке сложен для восприятия. Он не гарантирует владение дипломом или сертификатом, он предлагает учиться самостоятельно, он предлагает самостоятельно ПРИНИМАТЬ РЕШЕНИЕ о том, что учить, когда и зачем.

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

                        Поэтому ее призывы «не тупить» в нашем контексте воспринимаются почти как "Люди, мы дышим воздухом!", а в их контексте они воспринимаются как "Смелее, не тормози, get rich or die tryin'!", что большинством воспринимается очень неоднозначно.
                        0
                        Да, автор одной из лучших книг для тестировщиков, которую я когда-либо читал.
                        Спасибо за статью!
                          0
                          вот что значит любить работать
                            0
                            коммуницировать??

                            Only users with full accounts can post comments. Log in, please.