ИТ-индустрия претерпевает быстрые изменения.
Все больше команд разработчиков ставят тестирование если не на первый план, то, по крайней мере, в центр технического процесса, и тестирование становится влиятельным фактором разработки.
Буквально каждый месяц появляются новые и улучшенные фреймворки и драйверы для автоматического тестирования.
Командам автоматизированного регрессионного тестирования нужны тестировщики с острыми исследовательскими навыками.
Но большинство людей не получают эти навыки во время обучения в вузах — откуда тогда возьмутся такие тестировщики? При этом оказывается, что многие специалисты мечтают о хорошей работе, связанной с тестированием.
Тестировщики часто спрашивают меня, как «попасть» в Agile-команду или как просто найти хорошую работу.
Если у них нет опыта программирования, они беспокоятся, что недостаточно технически подкованы, чтобы работать в Agile-команде.
С моей точки зрения, навыки, конечно, важны, но самое главное — настрой.
Если вы готовы учиться и делать все, чтобы команда выпускала по-настоящему хороший продукт, то у вас хорошие перспективы в качестве тестировщика.
Мой вам совет: добровольно присоединяйтесь к любой деятельности, которая принесет новые знания и навыки, и добросовестно работайте над оттачиванием приобретенных навыков.
Думаю, всем гораздо понятнее, когда будут приведены конкретные примеры, поэтому приведу пару историй из собственного опыта, которые покажут, как моя жажда знаний переросла в карьерный рост. Я думаю, это может подтолкнуть вас к некоторым идеям для вашего собственного профессионального роста.
Программист, тестировщик – или эксперт в предметной области?
Тестировщики — это люди с опытом работы в самых разных отраслях.За последние десять лет, когда программисты заинтересовались тестированием, я встретил многих, кто раньше писал код, а теперь считает себя тестировщиками.
Я также знаю много тестировщиков, которые пришли из сферы управления бизнесом, поэтому их бизнес-опыт делает их очень ценными в разработке.
Технические писатели, которые тестируют производительность приложения и документируют ее, часто становятся отличными тестировщиками.
Многие из нас пришли на тестирование случайно, как, например, произошло со мной! Я начал с программирования, и мне очень нравится писать код. Автоматизация тестирования — занятие, тесно связанное с программированием, — одно из моих любимых занятий.
И все же тестирование — моя страсть.
Мне очень нравится изучать, как развивается бизнес, как в нем все работает, а затем способствовать его успеху.
Техническая подкованность позволяет мне хорошо взаимодействовать с командой как на уровне разработки, так и на уровне бизнес-процессов.
Ниже представлена моя личная одиссея: от раннего опыта программирования до работы в Agile-командах.
Первые уроки тестирования
Как и многие люди, я попал в разработку программного обеспечения случайно.Я устроился на работу «тренером по программированию» на факультет науки о данных Техасского университета.
Меня учили программисты, которые совсем недавно научились делать это сами.
Поскольку они помнили, как учились программировать сами, они знали, как учить других.
Вскоре я познакомился с основами Easytieve, Cobol и 4GL, а также с иерархическими базами данных.
Мы все писали код одинаково, поэтому было легко помогать друг другу.
Оглядываясь назад, можно сказать, что это было групповое программирование во всей красе.
Через пару месяцев стажировки мне предложили должность координатора обучения, и я с радостью принял это предложение.
Мне приходилось не только курировать обучение программистов, но и обучать конечных пользователей.
У нас были занятия для преподавателей и других сотрудников университета, на которых мы учили писать простые запросы и отчеты — очень успешная практика, которая сэкономила нам, программистам, много работы.
За год, который мне отдали на обучение (и в течение которого я выполнял еще и обязанности программиста), я многому научился в поиске правильного подхода к обучению других людей.
Я был очень удивлен, как многому я научился у пользователей и других программистов.
Мы, «программисты/аналитики», садились с конечными пользователями, говорили о том, чего они хотят, и сразу же создавали прототипы.
Мы показали им каждый из вариантов, чтобы в итоге они получили то, что хотели.
Я присоединился к команде, которая работала над онлайн-каталогом для библиотеки: библиотекари объяснили нам, как работает картотека.
Самым интересным в этой работе было узнавать что-то новое из совершенно разных отраслей.
Мы ничего не знали о тестировании, но планировали работать с пользователями, чтобы привести программное обеспечение в должное состояние перед его запуском.
Работая программистом-аналитиком, я научился руководить.
Мой собственный менеджер сказал мне, что быть лидером — значит показывать другим людям, какой вклад моя команда внесла в успех проекта.
Я научился быть примером для других.
Я учитывал эти знания на всех последующих работах и совершенствовал их, изучая новые способы донести до менеджеров и других руководителей ценность работы, которую проделали я и моя команда.
Обучение через изменения
Пару лет спустя я работал в техподдержке у крупного производителя программного обеспечения, где на тот момент, казалось, не знали о тестировании и контроле качества.Мои сотрудники провели много тестирования по собственной инициативе, потому что лучше обнаружить проблемы до того, как их обнаружит пользователь.
Однажды наш менеджер спросил, не хочет ли кто-нибудь пройти обучение по работе с DB2. Никто не знал, что это было, но я вызвался добровольцем.
Вскоре я стал главным экспертом по DB2 и SQL в команде.
Видя выгоду от поиска ошибок в программном обеспечении до того, как оно попадет к клиенту, компания организовала первую команду тестировщиков.
И я тоже вызвался там работать.
Поскольку я знал SQL, мне приходилось работать над проектами, в которых использовались базы данных Oracle и Sybase, которые стали пользоваться гораздо большим спросом, чем наш продукт. На этой новой работе я начал осваивать искусство и науку тестирования.
Я посетил конференцию по тестированию, чтобы узнать больше.
Мы начали экспериментировать с автоматизацией.
Наше программное обеспечение работало на всех операционных системах.
Поэтому я воспользовался возможностью изучить их все: VAX/VMS, Wang, OS2, AS400 и восемь других различных разновидностей Unix. Не все это добавилось в мое резюме, но возможность использовать все эти платформы в качестве среды тестирования оказалась неоценимой.
Наша команда также отвечала за подготовку релизов.
Я узнал о важности правильной и точной документации, о том, как организовать альфа- и бета-тестирование и даже как запустить продукт. Большинство из этих обязанностей поначалу пугали и сбивали с толку.
Автоматизированные тесты до сих пор иногда меня пугают, до сих пор пугают! Но мне посчастливилось пройти необходимое обучение и на внешних курсах, и с помощью обучающих программ, и благодаря помощи коллег.
Я не останавливался из-за неудач и пытался приобрести новые навыки.
Мои навыки пользовались большим спросом на рынке из-за своей широты — тестирование, автоматизация, операционные системы.
Более того, это не было моей целью – мне просто нравилось узнавать что-то новое! Будь то что-то техническое или, наоборот, что-то из деловой сферы, мне нравились приключения на новой территории.
Конечно, в данном случае все это принесло свои плоды.
Когда компания переживала финансовые трудности, мне было легко найти хорошее место для продолжения карьеры.
Связи – это всегда возможности.
Мне понравилась моя новая работа, и она дала мне возможность исследовать новые области.
Например, в своей команде я стал главным специалистом по PowerBuilder. Я мог бы потратить несколько месяцев на изучение инструмента тестирования и создание набора автоматизированных тестов с графическим интерфейсом.
Самое приятное то, что некоторые из моих бывших сотрудников тоже перешли в эту компанию.
Тогда я понял, насколько тесен мир – это очень ценный урок! Пару лет спустя, во времена быстрого роста популярности Интернета, я пошел работать в веб-стартап.
Я абсолютно ничего не знал о тестировании веб-приложений, но, поскольку у меня был опыт работы с различными инструментами автоматизированного тестирования, я бороздил Интернет в поисках чего-нибудь, что можно было бы использовать для тестирования веб-приложений.
Когда я просматривал список инструментов, мое внимание привлекла аббревиатура OCLC. Я узнал об этом, когда работал над онлайн-каталогом библиотеки, потому что OCLC каталогизирует книги и обслуживает библиотеки практически повсюду.
По странному совпадению они предложили инструмент для тестирования WebArt, который я и решил приобрести.
Его разработчик, Tip House, приехал, чтобы научить нас тестированию веб-приложений и автоматизированному тестированию.
Как и многие тестировщики, я всегда был заинтересован в своевременной доставке хорошего программного обеспечения.
Интернет — гораздо более динамичная среда, чем мир продуктов баз данных, и я был неприятно удивлен нашей медленной работой над каскадной моделью.
Вскоре представилась возможность попробовать другой подход. Когда наш стартап купила более крупная компания, несколько наших разработчиков ушли, чтобы создать свой проект. Они дали мне книгу «Объяснение экстремального программирования» и сказали: «О, мы хотим попробовать эту штуку XP».
Как только я прочитал книгу, я понял, что мне нужно попробовать, и умолял их взять меня на работу.
Когда я присоединился к друзьям, меня начал мучить вопрос «что должен делать тестировщик в XP-проектеЭ», и я присоединился к растущему интернет-сообществу, посвященному гибкой разработке (в то время мы еще не знали, что термин Agile будет привязан к этому подходу).
Я был поражен теплым приемом со стороны гуру XP и других сторонников Agile. Когда дядя Боб Мартин пришел преподавать нам курс обучения, он предложил мне позвонить Уорду Каннингему и задать ему все мои вопросы о тестировании; он дал мне свой номер телефона.
Уорд разговаривал со мной больше часа! Если я слышал, что в наш город или на какую-то конференцию приезжает кто-то вроде Рона Джеффриса или Кента Бека, я договаривался с ними о встрече, и они не жалели для меня времени.
Брайан Марик рассказал мне, к кому обратиться, чтобы получить дополнительную помощь по гибкому тестированию.
Помощь сообществу создает новые возможности
Когда моя команда и те, кого я встретил на конференциях, в группах пользователей и в рассылках, нашли инструменты гибкого тестирования, которые работали лучше всего, я решил, что нет смысла другим тестировщикам и их командам заново изобретать велосипед. При поддержке сообщества XP и Tip House я написал книгу «Тестирование и экстремальное программирование».Многие люди помогали с корректурой черновиков и идей, в том числе Джанет Грегори.
Вместе с Джанет мы начали организовывать лекции и мастер-классы на конференциях.
Экстремальное программирование основано на человеческом факторе, как и карьерный рост. Благодаря хорошим отношениям с коллегами и обществом в целом я смог стать лектором, тренером и автором публикаций.
Я не только стал хорошим тестировщиком, но и научился общаться.
Я начал ездить на конференции, учиться у других, предлагать свои идеи на лекциях и во время работы в секциях.
Это потому, что я люблю учиться и потратил много времени и усилий на установление отношений с умными и одаренными людьми.
Я также осознал ценность обмена.
Моя первая команда разработчиков XP объединила людей и создала группу приверженцев XP. Я говорил на самой первой встрече! Я встретил так много замечательных людей и многому научился за десять лет в этой группе, и все, что я потратил впустую, — это лишь немного своего времени.
Я очень стараюсь заплатить за всю эту помощь.
Что я получил? Я участвую в местных группах пользователей, волонтерствую на конференциях, модерирую списки рассылки по тестированию, провожу неформальные тренинги с другими компаниями, а также провожу бесплатные онлайн-семинары и звонки командам, у которых есть вопросы о тестировании и гибкой разработке.
И получается, что чем больше я пытаюсь помочь людям, тем большему я учусь.
Это очень круто — помощь уже содержит награду.
Расширение горизонтов никогда не прекращается
Я работаю тестировщиком уже много лет, но эта профессия не устаревает. Я действительно каждый день узнаю что-то новое: осваиваю технические навыки, получаю знания об этом.Как работает бизнес.
Работаем вместе в команде и с коллегами, с которыми я познакомился благодаря участию в группах.
Конференции и даже Twitter позволяют тестировщикам экспериментировать с новым программным обеспечением с открытым исходным кодом и изучать новые языки программирования.
Поначалу это пугает, но это всегда дает результат. Например, мне было трудно изучать Ruby, потому что я никогда не был хорош в объектно-ориентированных языках программирования.
Я изучил литературу, мне помогли коллеги, и на выходе получился сценарий, который потом сэкономил время для более интересных задач.
Я присоединился к группам, которые работают над улучшением предлагаемых инструментов тестирования, таким как Austin Workshop on Test Automation и комитет Agile Alliance Functional Test Tools. И благодаря этому я не только узнаю об альтернативных инструментах, но и знакомлюсь со множеством полезных людей.
Почему это важно?
Думаю, большинству тестировщиков, прочитавших эту статью, очевидно, как сильно я люблю то, что делаю (хотя бывают дни, когда я не знаю, что делать, и сожалею, что у меня так мало знаний).Друзья с той самой первой работы в службе технической поддержки отмечают легкость, с которой я могу найти хорошую работу, пока они застряли в поле.
Что их уже давно не интересует. Я не умнее их, я просто готов учиться и рассматривать новые возможности! Небольшие инвестиции вашего времени в учебу и участие в общественной жизни сторицей окупятся, когда дело доходит до вашей карьеры.
Вот несколько источников, которые я бы порекомендовал тестировщикам:
- Объяснение сотрудничества: навыки фасилитации для руководителей проектов по разработке программного обеспечения, Джин Табака, Аддисон-Уэсли, 2006 г.
Эти навыки пригодятся вам, даже если вы не являетесь «лидером проекта».
- Повседневное написание сценариев с помощью Ruby: для команд, тестировщиков и вас, Брайан Марик, Pragmatic Bookshelf, 2007 г.
- «Написание поддерживаемых автоматизированных тестов» , Дейл Эмери, 2009.
- Конференция по непрерывной интеграции и тестированию
- «20 процентов времени Google» в действии , Алекс К.
- Статьи и публикации в блогах об исследовательском тестировании , Джонатан Коль.
- Гибкие группы пользователей
- Клуб тестирования программного обеспечения
- Тестеры выходного дня
- Статьи об гибком тестировании
об авторе
Лиза Криспин, соавтор Джанет Грегори, написала книгу «Гибкое тестирование: практическое руководство для тестировщиков и гибких команд» (Аддисон-Уэсли, 2009 г.) и была одним из авторов книги «Красивое тестирование» (О’Рейли, 2009 г.
).
Она проработала тестировщиком в гибких командах в течение десяти лет и с удовольствием делится своим опытом через книги, статьи, лекции и участие в сообществах по всему миру.
Более подробную информацию об этом вы можете найти по ссылке www.lisacrispin.com Теги: #разработка #рост #обучение #работа #тестирование ИТ-систем
-
Советы По Устранению Неполадок Rrod Xbox 360
19 Oct, 24 -
Модернизация Компакт-Диска До Микроскопа
19 Oct, 24