9 сентября 1947 года ученые Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле.
Проделанная работа требовала описания, и слово было найдено — debugging (дебаггинг, дословно: избавление от насекомого) — так и ныне называется процесс выявления и устранения багов (bugs) — причин сбоя работы компьютера. А само слово тестировщик произведено от английского слова test — проверка, испытание.
Извлеченное насекомое-баг было вклеено в технический дневник, с сопроводительной надписью: "Первый обнаруженный баг", и в дальнейшем передано в музей вычислительной техники. Доподлинно неизвестно, отмечается ли в США или других странах этот знаменательный день, а в России этот неофициальный праздник прижился, как и в ряде стран постсоветского пространства.
Тестировщик программного обеспечения (ПО) — специалист, который проводит тестирование ПО, с целью обеспечения и контроля качества программного продукта или информационной системы.
Профессия тестировщика требует широких знаний и умений — иметь представление о принципах построения ПО, структуре программных комплексов или практический опыт в разработке ПО. Также нередко необходимы навыки в области работы с базами данных (БД), скриптовых языков, а также познания в администрировании операционных систем (ОС).
Основное требование, которое выдвигается к тестировщику — это, с одной стороны, умение думать как пользователь того продукта или системы, которая находится в процессе проверки, а, с другой стороны, анализировать поведение системы (программы), входящие параметры и полученные результаты с точки зрения инженера, который принимает участие в разработке программного продукта. Тестировщик должен комплексно понимать продукт (программу) и искать в нем уязвимости, ошибки, неправильную работу и др.
Необходимыми качествами тестировщика являются логическое мышление, внимательность, хорошая память, умение учиться и адаптироваться к существующим задачам, быстро переключаться с одного типа задач на другой. Не менее важны терпение, усидчивость и умение работать в команде.
Тестировщик должен иметь хорошие коммуникативные навыки. Понимать пользователей и их потребности, получать обратную связь и отзывы от них, и технически грамотно формулировать её (обратную связь) разработчикам, уметь грамотно описать её в техническом задании (ТЗ).
Одной из особенностей профессии является возможность удаленной работы.
Однако, стоит признать, что зарплаты тестировщиков зачастую меньше, чем у программистов, поэтому эта сфера не так популярна. Многие соискатели рассматривают эти вакансии как начальный этап карьеры, трамплин для движения в сторону программирования. Профессия тестировщика до сих пор недооценена. Но грамотный такой специалист поистине не вес золота (из-за разнообразного количества навыков и знаний).