Мотылек создает профессию

Сегодня, 9 сентября, во многих странах, включая и Россию, отмечают День тестировщика. Без этой профессии сейчас невозможно себе представить нашу работу на компьютере
Рождение этого праздника связано с интересной историей. 9 сентября 1947 года учёные Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле, и Грейс Хоппер произнесла слово «bug» (от английского  «жук»), ставшее позднее термином, обозначающим компьютерную ошибку. Поскольку даже мельчайшие нюансы тестирования требовалось фиксировать, извлечённое насекомое было вклеено в технический дневник с сопроводительной надписью:  «Первый случай в практике, когда был обнаружен жучок». Этот забавный факт положил начало использованию слова «баг» в значении «ошибка». В итоге процесс выявления и устранения причин сбоя в работе компьютера получил название дебаггинг, «отладка», а дословно — избавление от жуков. А само название профессии возникло от английского слова test, то есть испытание.
Тот знаменитый мотылек впоследствии был передан в музей вычислительной техники, где он и хранится до сих пор. Под его стендом имеется надпись, которая гласит, что этот мотылек стал первым из обнаруженных багов в истории компьютерной техники. А тот день, когда насекомое было обнаружено, решено было сделать профессиональным праздником всех тестировщиков.
Впрочем, есть данные о том, что этот термин использовался и до происшествия в Гарвардском университете. По крайне мере, исследователям удалось отыскать письмо знаменитого американского изобретателя Т. Эдисона, в котором уже фигурировало данное слово. Оказалось, что еще в 1878 году он употреблял слово «баг» в том же самом значении.
Итак, тестировщик — это контролер качества программного обеспечения. Его основная задача — поиск багов (программных ошибок и сбоев) и создание на основе полученной информации подробных отчетов.
В отчете, который тестировщик отправляет разработчику, должно содержаться подробное описание возникших багов: место возникновения в коде программы, условия, в которых возникла ошибка и т. д. Только в случае полного и подробного отчета разработчики оперативно смогут найти и устранить возникший баг.
Еще лет 15 назад наличие бага в любой компьютерной программе считалось абсолютно недопустимым явлением и приводило к возврату софта по гарантии и финансовым потерям. Для современной компьютерной программы существует возможность оперативного выпуска так называемых «патчей» (от англ. Patch — заплатка). Патч выпускается сразу после обнаружения ошибки в уже выпущенной программе и представляет собой обновление, в котором устранена конкретная ошибка. Но от наличия такой возможности работа тестировщиков не стала менее нужной. При большом наличии патчей резко поднимается престиж разработчиков ПО, а потеря доверия — это потеря денег…
Следует сказать, что еще недавно в России работу тестировщика воспринимали как подработку на время учебы или как место для программистов-неудачников. Однако прошло некоторое время, и все убедились в важности качества программного обеспечения. После этого профессия тестировщика начала набирать популярность. Сегодня она является достаточно престижной и востребованной.
Впрочем, несмотря на это, ни в одном российском вузе до сих пор нет специальности под названием «тестировщик». Дело в том, что тестировщик должен быть разноплановым специалистом, который способен подстраиваться под особенности работы конкретной компании и ее продукта. Неудивительно, что около трети тестировщиков имеют первое образование, не связанное с IT. Согласно социологическим исследованиям, примерно 30 процентов тестировщиков — выходцы юридических, филологических и лингвистических факультетов. Настоящий тестировщик, или тестер должен обладать большим набором знаний и навыков. Без этого просто невозможно осуществлять оптимальный контроль качества программного обеспечения. Такой специалист должен уметь выполнять несколько разных функций одновременно. С одной стороны, он должен мыслить, как разработчик программного продукта, анализируя поведение системы и полученные результаты. С другой стороны, тестировщик должен мыслить и как пользователь этого же продукта.
Работа эта непростая. Требует внимания, усидчивости, терпения, хорошо развитого умения мыслить логически, отличной памяти, умения быстро обучаться и приспосабливаться к существующим задачам. Очень важно также и уметь работать в команде. Кроме того, тестировщик должен обладать определенным аналитическим складом мышления.
В общем, своим трудом эти специалисты заслужили свой особый праздник — День тестировщика.
Ведущий рубрики «Другие праздники»
Павел ГОЛУБЕВ,
«ЧЕСТНОЕ СЛОВО»