Их разрабатывают специалисты по автоматизированному тестированию. Такие сценарии тестирования позволяют проверить работоспособность и качество программы, автоматизируя процесс. Автоматизированные сценарии тестирования могут включать в себя различные действия, такие как ввод данных, выполнение определённых операций, проверку результатов и сравнение их с ожидаемыми значениями. Они помогают ускорить и упростить процесс тестирования, а также повысить его надёжность и точность, и являются основой автоматизированного тестирования.
Автоматизированное тестирование – процесс тестирования программного обеспечения с использованием программных средств для выполнения автоматизированных сценариев тестирования и проверки результатов выполнения, с целью сокращения времени тестирования и упрощения процесса.
Чтобы заниматься таким тестированием необходимо обладать специализированными навыками и знать языки программирования.
Какое тестирование можно автоматизировать?
– функциональное тестирование сайтов;
– функциональное тестирование настольных приложений;
– функциональное тестирование мобильных приложений;
– тестирование API информационных систем.
Есть и другие сферы применения автоматизированного тестирования. Некоторые ключевые характеристики автоматизированного тестирования:
– Можно запускать тесты регулярно и независимо от занятости человека. Это обеспечивает непрерывное тестирование.
– Ускоряет и упрощает процесс тестирования.
– Повышает надёжность тестирования благодаря исключению из процесса человеческого фактора.
К примеру, необходимо ежедневно проверять, что после выпуска очередной новой версии программы в ней не ломаются основные функции, которые до этого работали без ошибок. Для этого требуется каждый день выполнять сотни тестов – однообразная и не воодушевляющая специалистов деятельность. В таком случае при наличии навыков и опыта специалисты разрабатывают сотни автоматизированных сценариев тестирования, которые в дальнейшем будут автоматически запускаться ежедневно, проверять программу, и заинтересованным людям будут отправляться на почту отчёты с результатами тестирования. Специалисты в это время могут посвятить себя более интеллектуальному тестированию.
Тестовое окружение и не только
В процессе своей трудовой деятельности специалисты по тестированию работают с окружениями. Тестовое окружение и продуктивное окружение – это два основных типа окружений при разработке программного обеспечения. Под окружением в данном случае понимается функционально связанный между собой набор компьютеров, программ, информационных систем.
Продуктивное окружение – это окружение, в котором запускается готовое программное обеспечение для конечных пользователей.
Когда вы посещаете интернет и заходите на сайт поисковой системы, чтобы осуществить поиск какой-либо информации, вы попадаете на сайт, работающий в промышленном окружении, куда поместили его создатели, чтобы конечные пользователи им пользовались.
Основные характеристики продуктивного окружения:
– в нём работает окончательная версия программы после всех тестов;
– в нём не разрабатывается и не тестируется программа;
– оно не используется для исправления дефектов;
– обеспечивает максимальную производительность и доступность;
– содержит реальные данные и учётные записи пользователей;
– настроена на безопасность и конфиденциальность данных;
– требует высокой доступности и производительности по сравнению с тестовым окружением.
Тестовое окружение – окружение, предназначенное для тестирования и отладки программ.
Перед тем как поместить сайт в промышленное окружение создатели помещают его в тестовое окружение, которое не доступно для конечных пользователей. В тестовом окружении проводят тестирование поискового сайта, чтобы убедиться, что сайт работает и его можно в дальнейшем поместить в промышленное окружение.
Основные характеристики тестового окружения:
– в нём разрабатывается и тестируется программа до выпуска в продуктивное окружение;
– используется для исправления дефектов и проверки функциональности до переноса в промышленное окружение;
– имитирует реальные условия работы, но может иметь меньшие мощности по сравнению с промышленным окружением;
– содержит не реальные данные, а тестовые.
Таким образом, тестовое окружение – для разработки и тестирования, продуктивное окружение – для реальной эксплуатации готовой программы. Основная работа специалистов по тестированию проводится на тестовом окружении.
В различных компаниях могут использоваться и другие окружения. Примеры названий: dev (дев), test (тест), qa (кью-эй), preprod (препрод), stage (стейдж), preview (превью) и т. д. То, какие окружения используются, зависит от специфики работы организации и разрабатываемых программ, поэтому мы не будем их рассматривать. Но вы должны знать, что кроме продуктивного и тестового окружения в ряде организаций существуют и другие окружения.
Тестовая документация и артефакты
В процессе работы специалисты по тестированию создают различные артефакты[11] и документы. Кстати, дефект – это один из артефактов работы тестировщика. Познакомимся поближе с документами и артефактами, которые могут создавать и с которыми могут работать специалисты по тестированию.
План тестирования
Тестирование, как и любой другой процесс, должно планироваться. Планирование тестирования – это одна из активностей, о которой мы поговорим в других главах книги. Планирование является непрерывной деятельностью, которая выполняется в течение всего жизненного цикла ПО, и в процессе планирования создаётся план тестирования (тест-план).
План тестирования – документ, описывающий стратегию и тактику тестирования программного обеспечения.
Это документ, который помогает организовать и планировать процесс тестирования на этапе разработки программного обеспечения, что позволяет провести тестирование эффективно и качественно.
В плане тестирования фиксируется следующая информация:
– Цели и задачи тестирования. Здесь определяется, что именно нужно проверить в программном обеспечении.
– Объекты тестирования[12]. Какие модули, функциональные возможности, интерфейсы и т. д. будут тестироваться.
– Уровни, типы и виды тестов. Например, функциональное тестирование, нефункциональное тестирование, тестирование производительности, и т. д.
– Приоритеты тестов. В какой последовательности будут выполняться тесты.
– Ответственные за тестирование. Кто конкретно будет разрабатывать, выполнять и отслеживать результаты тестов.
– График тестирования. План со сроками, в котором указано, когда и в какие сроки должно быть проведено и завершено тестирование.
– Тестовое окружение. Какое тестовое окружение будет использоваться в тестах.
– Риски. Что может увеличить сроки тестирования или блокировать тестирование и как эти риски нивелировать.
– Критерии успешности тестирования. Что считать успешным тестированием и какие условия должны выполняться.
В зависимости от организации в план тестирования могут включать и другую информацию, которую посчитают важной. С примером плана тестирования вы можете ознакомиться на сайте автора[13].
Разработку планов тестирования проводят опытные специалисты по тестированию или руководители и менеджеры по тестированию.