Автоматизировать тестирование или нет?AUTOMATED TESTING: YES OR NO?
Всем известно, что автоматизированное тестирование - это круто. Написал тесты и запускаешь их после каждого изменения в системе. Красота, одним словом. Однако, на деле все не так просто. Предлагаю рассмотреть, когда именно имеет смысл писать автоматизированные тесты, а когда нет, и какие факторы влияют на выбор автоматизированного тестирования.
Everyone knows that automated testing is cool. Make the tests and simply run them after every system update. Sounds like a dream, right? However,. it is not so simple. Let us discuss when it makes sense to write automated testing, when it does not and what are the factors affecting the choice of automated testing.
Первым фактором, который я бы назвал при выборе автоматизированного тестирования – слабая изменяемость тестируемого функционала. Часто изменяемый функционал означает частое переписывание тестов, что приводит к удорожанию внедряемой или поддерживаемой системе, увеличению сроков на внедрение функционала и вероятности появления ошибки при написании самого теста.
I believe the first factor is the low changeability of the tested functional. Frequently changing functional means frequent re-writing of the tests, which increases the cost of the introduced or supported system, extends the time needed to introduce the functional and increases the probability of errors in the test itself.
Вторым фактором является частота, с которой необходимо прогонять тесты. Бывают случаи, когда необходимо провести разовое тестирование системы. В этом случае, разумеется, писать автоматические тесты не имеет смысла.
The second factor is the frequency of testing. Sometimes a single testing of the system is needed. Obviously, in this case it makes no sense to write automated tests.
Третьим фактором является количество наборов тестовых данных. В случае большого количества тестовых наборов данных, зачастую, имеет смысл написать автоматизированные тесты и прогнать их на всех наборах данных. Косвенно, большое количество тестовых наборов данных означает сложную логику системы, что характерно для бизнес-систем.
The third factor is the number of sets of data for testing. If there are many sets of data for testing, it often makes sense to write automated tests and run them on all datasets. Indirectly a large number of testing sets means a complex system logic, which is something specific to business systems.
Четвертым фактором является наличие специалистов и инструментов для автоматизированного тестирования. Не всегда в компании присутствуют квалифицированные инженеры по тестированию, даже в компаниях, занимающихся разработкой программного обеспечения. Инструменты, используемые для автоматизированного тестирования, также могут стоить значительных средств, что снижает эффективность применения автоматизированного тестирования.
The fourth factor is the availability of experts and tools for automated testing. Sometimes there are no qualified testing engineers in the companies, even in those working with software development. The tools used for automated testing may also be rather expensive, which decrease the efficiency of the automated testing application.
Пятым фактором является необходимость тестирования производительности системы или ее стабильности под нагрузкой. В этом случае, без автоматизированного тестирования просто не обойтись.
The fifth factor is the need to test the system efficiency and stability under load. In this case, automated testing is essential.
Шестым фактором является количество браузеров или смежных систем (окружения), в которых необходимо проводить тестирование. При большом наборе различных сред, также появляется необходимость повторного проведения одних и тех же тестов, и автоматизированное тестирование, зачастую, имеет преимущество перед ручным тестированием.
The sixth factor is the number of browsers and adjacent systems (periphery), in which the testing is required. A large number of different environments also requires re-testing of the same tests and the automated testing is often more beneficial than the manual one.
Седьмым фактором является методология, которую использует ваша компания для управления разработкой программного обеспечения. Например, если вы используете Continuesintegrationс ее регулярными автоматическими билдами, то без автоматизированного тестирования вам не обойтись.
The seventh factor is the methodology, which your company is using to manage the software development. For example, if you are using Continuesintegrationс with its regular automated builds, automated testing is essential for you.
Обобщим все вышесказанное. Если у вас крупный, комплексный проект, то скорее всего автоматизированное тестирование вам значительно поможет. На небольших проектах, вполне вероятно ручное тестирование будет подходить гораздо лучше, в то время, когда автоматизированное тестирование окажется излишним.
Let us summarize. If you have a large complex project, most likely automated testing will be of use to you. For small projects, manual testing is likely to fit much better, while automated testing will be excessive.
2017-03-23
Напишите намSend us an E-mail
Оставьте свои контактные данные, чтобы наши специалисты связались с ВамиEnter your contacts and our experts will contact you
Обратная связьCONTACT US
Позвоните нам:Call us: +7 (961) 252 42 22 Или просто задайте интересующий Вас вопрос и оставьте свои контакты, чтобы мы связались с Вами.You can also ask a question and enter your contact details in the form below and we will contact you.
Ваше письмо отправлено!Your letter has been sent!
Мы свяжемся с Вами в ближайшее времяWe will contact you shortly