Введение.
В последнее время всё чаще при просмотре чьих-либо автоматических тестов я начал сталкиваться с рядом проблем, связанных во многом с изначально слабой продуманностью их архитектуры. Стало создаваться такое впечатление, что весь процесс написания автотестов сводится к 2 шагам - получение задачи от заказчика(во многом в его роли выступает начальник отдела тестирования или какой либо project manager) и написание кода. В этой цепочке слишком часто стал упускаться один важнейший шаг, а именно - проработка архитектуры тестов. В итоге всё это приводит к тому, что при желании модифицировать или добавить что-либо в тесты - приходится , как говорил один мой хороший знакомый, “переколбашивать” много уже написанного кода. А это - время, которое в современном мире очень дорого может стоить.
В данной статье мне хотелось бы описать некоторые проблемы, которые встречаются чаще всего при написании автоматических тестов, попробовать разобраться, почему они возникают, и предложить, разумные решения для выхода из сложившихся ситуаций. Так же постараюсь описать некоторые правила , которые я понял на своём “горьком” опыте, и которые должен понять каждый специалист, занимающийся непростым занятием - автоматизацией тестирования.
Начнем, наверное, с главного, а именно - что же это за зверь, автоматизация?