Несколько недель назад я решил написать о тестировании фиксов. Главной моей целью было определить, существует ли системный подход, которому можно было бы следовать в общих случаях. Анализируя это, я быстро понял решающую роль уверенности в проверке и одобрении любого тестируемого нами программного обеспечения.
Уверенность диктует, сколько тестов, по нашему мнению, нам нужно выполнить, прежде чем мы сможем подтвердить успешность тестирования. Уверенность в команде разработчиков напрямую влияет на то, сколько времени мы потратим на тестирование, чтобы почувствовать, что наш продукт готов к релизу. Эта уверенность основывается на нашем опыте общения с командой разработки и качества их кода в прошлом.
Высокая уверенность — выполняется только самое необходимое количество тестов, гарантирующих, что программное обеспечение может быть принято. (Примечание: это не относится к критически важным программным системам.)
Низкая уверенность — на основе предыдущего опыта тестировщики могут проводить дополнительные проверки, даже если нынешнее качество кода хорошее.
Я считаю, что уровень уверенности очень влияет на скорость, с которой программное обеспечение может быть разработано. Часто можно услышать, что «QA — это узкое место процесса разработки», но это потенциально связано с исторически низким качеством кода, заставляющим тестировщиков перетестировать, даже когда проверяется код хорошего качества. Чтобы проиллюстрировать этот момент, я привожу ниже подход, который я придумал для тестирования и проверки исправлений ошибок.