Вот мы говорим о тестировании. Что есть профессия “тестировщик” (специалист по тестированию), что тестировщик работает в сфере информационных технологий, что это перспективное направление развития и так далее. Но зачем вообще нужен тестировщик?
Все мы совершаем ошибки. Вряд ли существует хотя бы один человек, который не допустил ни одной ошибки за свою жизнь. И эти ошибки могут быть как незначительными, так и влекущими за собой разрушительные последствия. И именно поэтому любой продукт созданный человеком нуждается в проверке (в тестировании) прежде, чем его можно будет безопасно и эффективно использовать. Это утверждение относится и к программным продуктам.
У вас может возникнуть вполне логичный и справедливый вопрос: “Разве разработчики не могут сами за собой проверить написанную ими программу?”
С одной стороны — конечно, могут. И в некоторых компаниях, где нет тестировщиков, именно так и происходит. Программы разрабатываются и тестируются самими разработчиками.
Однако есть взгляд и с другой стороны.
Во-первых, если разработчик будет тестировать за собой программу, то у него будет меньше времени чтобы заниматься своими прямыми обязанностями: разработкой и исправлением ошибок. Соответственно, на разработку и тестирование программы в целом будет уходить намного больше времени, чем могло бы, если бы тестированием программы занимались тестировщики. Да, перед тем как передать программу тестировщикам разработчик тоже её тестирует. Но он делает это поверхностно, с целью проверить работает ли основная заложенная им в программу логика. Если он не будет делать эти небольшие проверки и переданная на тестирование программа не будет работоспособна, она будет очень быстро возвращена тестировщиками на доработку.
Во-вторых, разработчик не всегда может учесть различные варианты использования программы в силу того, что его мозг думает несколько иначе, чем мозг тестировщика. Тестировщик продумывает все возможные вариации того как пользователь может воспользоваться программой. В том числе учитывая то, что потенциально может привести к поломке программы, так как пользователь, если у него что-то не получается, будет просто тыкать везде, куда достанет «а вдруг заработает как мне надо?». Разработчик же чаще всего думает именно о том как программа должна правильно использоваться и не всегда задумывается о том как программу можно потенциально сломать (он просто не может ломать то, что он создал своими руками). Соответственно, при таком подходе разработчик будет пропускать критические ошибки, на которые может наткнуться конечный пользователь.
Отсюда и вывод, что тестировщики нужны везде, где есть разработчики. Разработчики разрабатывают, а тестировщики — тестируют.
Сфера информационных технологий не стоит на месте. Она активно развивается. Всё больше компаний связанных с информационными технологиями начинают взращивать у себя отделы тестирования, всё большему числу компаний требуются грамотные специалисты по тестированию. Ведь качественный продукт позволяет им быть конкурентоспособными на рынке, а обеспечить качество могут только квалифицированные специалисты.