Что же такое тестирование? Тестирование – это процесс поиска ошибок с целью ответить на вопрос о качестве исследуемого программного обеспечения (в дальнейшем ПО).
И первый стереотип, который существует – это инженером по тестированию может быть человек с низкой квалификацией. Поэтому, во многих фирмах на должности инженера по тестированию работают люди, которые не имеют никакой квалификации или вообще данная роль отводится пользователям ПО. Это приводит к тому, что приемочное тестирование проводится не в полном объеме и (если фирма дорожит своей репутацией) фирме приходится тратить деньги на дальнейшую поддержку ПО (исправление ошибок выявленных в процессе эксплуатации). При этом часто страдает репутация в момент внедрения (установки) ПО, так как появляются ошибки, которых в процессе разработки не было – это ошибки неинициализированных данных.
Второй стереотип – это инженер по тестированию должен выявить как можно больше ошибок. Это бессмысленно, так как задача инженера по тестированию – это повышение качества ПО, а неисправленные ошибки качества не повышают. Поэтому, инженер по тестированию (в идеале) должен выявить ровно столько, сколько программисты в состоянии исправить.
Третьий стереотип – в протестированном ПО отсутствуют ошибки. Давайте рассмотрим простой пример. Пусть дана функция Ф(х) = у которая умножает х на два. Х – это целые числа от 1 до 99. Давайте определим тесты:
Х = 1 у = 2
Х = 99 у = 182
Х = 0 у = ошибка
Х = -1 у = ошибка
Х = 100 у = ошибка
Х = слово у = ошибка
Х = « у = ошибка
Х = 1.1 у = ошибка
Итак, мы получили восемь вариантов тестов. Теперь увеличим количество входящих параметров в два раза то есть будет Ф(х,х1) = у которая будет перемножать х и х1. Сколько будет вариантов тестов? А теперь вспомним программный код, сколько функций имеют больше чем один параметр? И если мы зададимся целью провести все тесты, то потратим на них неоправданно большое количество времени.
Четвертый стереотип – программист может сочетать в себе роль инженера по тестированию. Программист не может этого сделать, так как изначально знает, как не надо работать с программой и скорее всего не будет проводить тесты с третьего по восьмой из прошлого примера. Это нормально. Ведь достаточно сложно переступить через себя и разрушать то, что создавал собственными руками.
Итак, почему же поиск по hh.ru выдает только пять результатов, да и те не связаны с тестированием? Видимо заказчики еще не готовы платить за качество ПО.