К списку

QA – что и как

14 июня 2012

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

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

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

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

Отдельная разговор – это автоматизация тестирования. В эту область уходят люди, имеющие за плечами опыт программирования или имеющие очень сильное желание заниматься автоматизацией. Для большинства тестировщиков попытки заняться автоматизацией заканчиваются неудачей, но оставшиеся 10-15 % вполне успешно справляются с новыми обязанностями. При внешней похожести на программирование автоматизированное тестирование  не является таковым, если сравнивать его с современным объектно-ориентированным программированием. Здесь используются иные подходы и методы и автоматизация тестирования скорей напоминает старое процедурное программирование. Особенно это касается таких средств автоматизации как SilkTest, TestComplete, Rational IBM Functional Tester, Ranorex, VS2010.  А программирование под некоторые новые, такие как Selenium 2.0 уже требует более серьёзной подготовки программиста на Java или C#, знания некоторых фреймворков и паттернов, умения работать с источниками данных. Такие вакансии сейчас более часто встречаются, в силу бесплатности Selenium, однако я думаю это временная ситуация, так как через какое-то время клиенты поймут, что накладные расходы на Selenium гораздо выше чем например на TestComplete.

Пока на этом всё. В следующий раз напишу про юзабилити-тестирование, нагрузочное тестирование и как из тестировщиков получаются хорошие бизнес-аналитики.

Андрей Юревич

Продолжение