Разделы портала

Онлайн-тренинги

.
Кто такие тестировщики
29.09.2008 13:39

Автор: Татьяна Кривец

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

Когда подбирается команда тестировщиков, основное внимание (помимо технических знаний, о них мы поговорим позже) уделяется человеческим качествам собеседуемого.

В первую очередь это должен быть человек с повышенной степенью ответственности. Это главное. Безответственный человек не может быть тестировщиком. Потому что именно в том модуле , о котором вы подумали «а! там точно все работает», вывалится Fatal error .

Еще одно важное качество — коммуникабельность. Вы ищете человека в команду и он должен быть командным игроком. В некоторых компаниях применяется XP -тестирование. Такая работа в паре с другим тестировщиком является хорошей проверкой на коммуникабельность.

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

Противоположными, но ничуть не менее важными качествами являются терпение и усидчивость. Работа тестировщика — это часто кропотливый труд по проверке сотен вариантов различной работы одного модуля. Иногда некоторые модули нельзя автоматизировать (частично или полностью), и проверка внимательным тестировщиком просто необходима.

Другой стороной работы тестировщика является подготовка test-cases , test-plans и check-lists . Написание таких документов — это необходимый, но весьма нелегкий труд. Тем более, что эти документы приходится переписывать или редактировать от версии к версии.

Настойчивость. Чаще всего тестировщик может заметить неудобные с точки зрения usability модули в программе. Умение убедить не только программистов, но и начальство - важная черта. При этом не перегнув палку, и не испортив отношений между руководством, менеджером проекта, программистами и тестировщиками.

Умение и желание обучаться. Тестировщик должен быть любопытен. Как в работе (а что будет, если поставить программу и ног на уши?) так и к новым методологиям тестирования (а что делает вот эта новая программа, а может она нам поможет?)

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

Ко всем преимуществам работы, тестировщикам часто приходится работать без документации. Продукт разрабатывается со слов заказчика и долгих обсуждений в кругу руководства, менеджеров и программистов, и тестировщикам достается «готовый» продукт, где неизвестно, что верно, а что нет. Информацию приходится по крупинкам вытаскивать из программистов, отнимая у них свободное время, а заодно и на все 100 использовать собственную интуицию и смекалку. Без них в этом сложном деле — тестировании — никак не обойтись.

Ну вот, на мой взгляд, и главные качества тестировщика.

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

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

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

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

О путях развития специалиста в области тестирования можно говорить еще долго. Можно вспомнить о стандартизации, о usability тестировании и о других направлениях. Но об этом — в следующий раз!

Удачи вам в достижении наилучшего качества программного продукта.