Автоматизация тестирования
АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ означает использование инструмента автоматизации для выполнения набора тестов. Напротив, ручное тестирование выполняется человеком, сидящим перед компьютером, тщательно выполняющим этапы тестирования.
Программное обеспечение автоматизации также может вводить данные испытаний в тестируемую систему, сравнивать ожидаемые и фактические результаты и генерировать подробные отчеты о тестировании. Автоматизация тестирования требует значительных вложений денег и ресурсов.
Последовательные циклы разработки потребуют многократного выполнения одного и того же набора тестов. Используя инструмент автоматизации тестирования, можно записать этот набор тестов и повторно воспроизвести его при необходимости. Как только набор тестов автоматизирован, вмешательство человека не требуется. Это улучшило ROI автоматизации тестирования. Целью автоматизации является сокращение количества тестов, которые нужно запускать вручную, а не устранение ручного тестирования в целом.
Нажмите здесь, если видео не доступно
В этом уроке вы узнаете
- Что такое тестирование автоматизации?
- Почему автоматическое тестирование?
- Какие тестовые случаи для автоматизации?
- Автоматизированный процесс тестирования
- Выбор тестового инструмента
- Определите сферу автоматизации
- Планирование, дизайн и развитие
- Выполнение теста
- Рамки для автоматизации
- Рекомендации по использованию инструментов автоматизации
- Преимущества автоматизации тестирования
- Различные типы тестирования программного обеспечения, которые могут быть автоматизированы
- Как выбрать инструмент автоматизации?
- Инструменты тестирования автоматизации
Почему автоматическое тестирование?
Автоматизированное тестирование программного обеспечения важно по следующим причинам:
- Ручное тестирование всех рабочих процессов, всех полей, всех негативных сценариев требует много времени и денег.
- Сложно проверить на многоязычных сайтах вручную
- Автоматизация не требует вмешательства человека. Вы можете запустить автоматический тест без присмотра (в одночасье)
- Автоматизация увеличивает скорость выполнения теста
- Автоматизация помогает увеличить охват тестами
- Ручное тестирование может стать скучным и, следовательно, подверженным ошибкам.
Какие тестовые случаи для автоматизации?
Тестовые случаи для автоматизации могут быть выбраны с использованием следующего критерия для увеличения ROI автоматизации
- Высокий риск — бизнес-критические тесты
- Тестовые случаи, которые многократно выполняются
- Тестовые случаи, которые очень утомительны или трудны для выполнения вручную
- Тестовые случаи, которые отнимают много времени
Следующая категория тестов не подходит для автоматизации:
- Тестовые случаи, которые были разработаны и не выполнялись вручную хотя бы один раз
- Тестовые случаи, для которых часто меняются требования
- Тестовые случаи, которые выполняются на разовой основе.
Автоматизированный процесс тестирования:
Следующие шаги выполняются в процессе автоматизации
Выбор тестового инструмента
Выбор средства тестирования во многом зависит от технологии, на которой построено тестируемое приложение. Например , QTP не поддерживает Informatica. Поэтому QTP нельзя использовать для тестирования приложений Informatica . Хорошая идея — провести проверку концепции инструмента на AUT.
Определите сферу автоматизации
Область автоматизации — это область вашего тестируемого приложения, которая будет автоматизирована. Следующие пункты помогают определить область:
- Особенности, которые важны для бизнеса
- Сценарии с большим объемом данных
- Общие функции в приложениях
- Техническая осуществимость
- Степень повторного использования бизнес-компонентов
- Сложность тестовых случаев
- Возможность использовать одни и те же тесты для кросс-браузерного тестирования
Планирование, дизайн и развитие
На этом этапе вы создаете стратегию и план автоматизации, которые содержат следующие детали:
- Инструменты автоматизации выбраны
- Фреймворк и его особенности
- In-Scope и Out-of-scope элементы автоматизации
- Автоматизация подготовки стенда
- Расписание и график написания сценариев и выполнения
- Результаты тестирования автоматизации
Выполнение теста
Сценарии автоматизации выполняются на этом этапе. Скриптам нужны входные тестовые данные, прежде чем они будут запущены. После выполнения они предоставляют подробные протоколы испытаний.
Выполнение может быть выполнено с использованием инструмента автоматизации напрямую или с помощью инструмента управления тестами, который вызовет инструмент автоматизации.
Пример: Центр качества — это инструмент управления тестами, который, в свою очередь, вызывает QTP для выполнения сценариев автоматизации. Скрипты могут быть выполнены в одной машине или группе машин. Казнь можно сделать ночью, чтобы сэкономить время.
техническое обслуживание
Поскольку новые функции добавляются в тестируемую систему с последовательными циклами, сценарии автоматизации необходимо добавлять, проверять и поддерживать для каждого цикла выпуска. Техническое обслуживание становится необходимым для повышения эффективности сценариев автоматизации.
Рамки для автоматизации
Фреймворк — это набор руководств по автоматизации, которые помогают в
- Поддержание последовательности тестирования
- Улучшает структурирование тестов
- Минимальное использование кода
- Меньше обслуживания кода
- Улучшить повторное использование
- Нетехнические тестеры могут быть вовлечены в код
- Период обучения использованию инструмента может быть сокращен
- Включает данные, где это уместно
Существует четыре типа фреймворков, используемых при тестировании программного обеспечения для автоматизации:
- Data Driven Automation Framework
- Управляемая по ключевым словам среда автоматизации
- Модульная структура автоматизации
- Hybrid Automation Framework
Рекомендации по использованию инструментов автоматизации
Чтобы получить максимальный ROI автоматизации, соблюдайте следующее
- Сфера автоматизации должна быть детально определена до начала проекта. Это устанавливает ожидания от автоматизации.
- Выберите правильный инструмент автоматизации: инструмент нельзя выбирать в зависимости от его популярности, но он соответствует требованиям автоматизации.
- Выберите подходящую основу
- Стандарты сценариев — Стандарты должны соблюдаться при написании сценариев для автоматизации. Некоторые из них-
- Создавайте единообразные скрипты, комментарии и отступы для кода
- Адекватная обработка исключений — как обрабатывается ошибка при сбое системы или неожиданном поведении приложения.
- Пользовательские сообщения должны быть закодированы или стандартизированы для регистрации ошибок, чтобы тестировщики могли их понять.
- Процент найденных дефектов
- Время, необходимое для тестирования автоматизации для каждого цикла выпуска
- Минимальное время взято для выпуска
- Индекс удовлетворенности клиентов
- Повышение производительности
Приведенные выше рекомендации, если они соблюдаются, могут значительно помочь в успешной автоматизации.
Преимущества автоматизации тестирования
Ниже приведены преимущества автоматизированного тестирования:
- На 70% быстрее, чем ручное тестирование
- Более широкий тестовый охват функций приложения
- Надежен в результатах
- Обеспечить согласованность
- Экономит время и стоимость
- Улучшает точность
- Вмешательство человека не требуется при исполнении
- Увеличивает эффективность
- Лучшая скорость выполнения тестов
- Повторно используемые тестовые сценарии
- Часто и тщательно проверяйте
- Больше автоматизации может быть достигнуто за счет автоматизации
- Раннее время выхода на рынок
Различные типы тестирования программного обеспечения, которые могут быть автоматизированы
- Тестирование дыма
- Модульное тестирование
- Интеграционное тестирование
- Функциональное тестирование
- Тестирование ключевых слов
- Регрессионное тестирование
- Тестирование на основе данных
- Тестирование черного ящика
Как выбрать инструмент автоматизации?
Выбор правильного инструмента может быть сложной задачей. Следующий критерий поможет вам выбрать лучший инструмент для ваших требований-
- Поддержка среды
- Простота использования
- Тестирование базы данных
- Идентификация объекта
- Тестирование изображения
- Проверка исправления ошибок
- Отображение объектов
- Используемый язык сценариев
- Поддержка различных типов тестов, включая функциональные, тестовые, мобильные и т. Д.
- Поддержка нескольких сред тестирования
- Легко отлаживать скрипты программного обеспечения для автоматизации
- Способность распознавать объекты в любой среде
- Обширные протоколы испытаний и результаты
- Минимизируйте стоимость обучения выбранных инструментов
Выбор инструмента является одной из самых больших проблем, которые необходимо решить, прежде чем перейти к автоматизации. Во-первых, определите требования, изучите различные инструменты и его возможности, установите ожидания от инструмента и получите подтверждение концепции.
Инструменты тестирования автоматизации
На рынке доступно множество инструментов для функционального и регрессионного тестирования. Вот лучшие инструменты, сертифицированные нашими специалистами
Ranorex Studio
Ranorex Studio — это универсальный инструмент для автоматизации функциональных тестов пользовательского интерфейса, регрессионных тестов, тестов на основе данных и многого другого. Ranorex Studio включает в себя простой в использовании интерфейс «нажми и работай» для автоматизации испытаний веб-приложений, приложений для настольных ПК и мобильных приложений.
Особенности:
- Функциональный интерфейс и сквозное тестирование на настольных ПК, в Интернете и на мобильных устройствах
- Кросс-браузерное тестирование
- SAP, ERP, Delphi и устаревшие приложения.
- iOS и Android
- Выполнять тесты локально или удаленно, параллельно или распространять по сетке Selenium
- Надежная отчетность
MABL
mabl обеспечивает комплексную автоматизацию тестирования без сценариев , интегрированную с вашим конвейером доставки, поэтому вы можете сосредоточиться на улучшении своего приложения.
Особенности:
- Собственные модели машинного обучения автоматически выявляют и выявляют проблемы приложения
- Тесты автоматически восстанавливаются при изменении пользовательского интерфейса
- Автоматическое регрессионное понимание каждой сборки
Узнайте больше о mabl
Селен
Это инструмент тестирования программного обеспечения, используемый для регрессионного тестирования. Это инструмент тестирования с открытым исходным кодом, который предоставляет средства воспроизведения и записи для регрессионного тестирования. Селен IDE поддерживает только Mozilla Firefox веб — браузер.
- Он обеспечивает возможность экспорта записанного скрипта на другие языки, такие как Java, Ruby, RSpec, Python, C # и т. Д.
- Может использоваться с такими фреймворками, как JUnit и TestNG
- Может выполнять несколько тестов одновременно
- Автозаполнение для команд Selenium, которые являются общими
- Прохождение тестов
- Идентифицирует элемент, используя id, name, X-path и т. Д.
- Храните тесты как Ruby Script, HTML и любой другой формат
- Предоставляет возможность утверждать заголовок для каждой страницы.
- Он поддерживает селен user-extensions.js файл
- Это позволяет вставлять комментарии в середине скрипта для лучшего понимания и отладки
QTP (MicroFocus UFT)
QTP широко используется для функционального и регрессионного тестирования, он охватывает все основные программные приложения и среды. Для упрощения создания и обслуживания тестов используется концепция тестирования на основе ключевых слов. Это позволяет тестировщику создавать тестовые случаи непосредственно из приложения.
- Для нетехнического человека легче использовать для адаптации и создания рабочих тестовых случаев
- Это исправляет дефекты быстрее, тщательно документируя и копируя дефекты для разработчика
- Свернуть создание тестов и тестовую документацию на одном сайте
- Параметризация проще, чем WinRunner
- QTP поддерживает среду разработки .NET
- У этого есть лучший механизм идентификации объекта
- Он может улучшить существующие сценарии QTP без использования «Тестируемого приложения» с помощью активного экрана.
Rational Functional Tester
Это объектно-ориентированный инструмент автоматического функционального тестирования , способный выполнять автоматическое функциональное, регрессионное, управляемое данными тестирование и тестирование GUI. Основными функциями этого инструмента являются
- Он поддерживает широкий спектр протоколов и приложений, таких как Java, HTML, NET, Windows, SAP, Visual Basic и т. Д.
- Он может записывать и воспроизводить действия по требованию
- Он хорошо интегрируется с инструментами управления исходным кодом, такими как Rational Clear Case и Rational Team Concert.
- Это позволяет разработчикам создавать сценарии, связанные с ключевыми словами, чтобы их можно было использовать повторно.
- Редактор Eclipse Java Developer Toolkit позволяет команде кодировать сценарии тестирования на Java с помощью Eclipse.
- Он поддерживает пользовательские элементы управления через прокси-SDK (Java / .Net)
- Он поддерживает управление версиями для параллельной разработки сценариев тестирования и одновременного использования географически распределенной командой.
Watir
Это программное обеспечение с открытым исходным кодом для регрессионного тестирования. Это позволяет вам писать тесты, которые легко читать и поддерживать. Watir поддерживает только Internet Explorer в Windows, в то время как Watir поддерживает Chrome, Firefox, IE, Opera и т. Д.
- Поддерживает несколько браузеров на разных платформах
- Вместо того чтобы использовать собственный скрипт поставщика, он использует полнофункциональный современный язык сценариев Ruby.
- Он поддерживает ваше веб-приложение независимо от того, в чем оно разработано
SilkTest
Silk Test предназначен для проведения функционального и регрессионного тестирования. Для приложений электронного бизнеса Silk Test является ведущим продуктом для функционального тестирования. Это продукт поглощения Segue Software компанией Borland в 2006 году. Это объектно-ориентированный язык, такой же, как C ++. Он использует понятие объекта, классов и наследования. Его главная особенность включает в себя
- Он состоит из всех файлов исходного скрипта
- Он преобразует команды скрипта в команды GUI. На одном компьютере команды могут выполняться на удаленном или главном компьютере.
- Чтобы определить движение мыши и нажатия клавиш, можно выполнить Silktest. Он может использовать как методы воспроизведения и записи, так и методы описательного программирования для получения диалогов.
- Он идентифицирует все элементы управления и окна тестируемого приложения как объекты и определяет все атрибуты и свойства каждого окна.
Вывод
Правильный выбор инструмента автоматизации, процесса тестирования и команды — важные игроки для успешной автоматизации. Ручные и автоматизированные методы идут рука об руку для успешного тестирования.
Источник https://coderlessons.com/tutorials/kachestvo-programmnogo-obespecheniia/ruchnoe-testirovanie/avtomatizatsiia-testirovaniia