23 декабря 2020
Автоматизированное тестирование: что это?
Краткое учебное пособие.
Метод тестирования программного обеспечения, который выполняется с использованием специальных программных средств, которые в свою очередь необходимы для выполнения набора тестовых примеров. Напротив, ручное тестирование выполняется человеком, сидящим перед компьютером и тщательно выполняющим каждый шаг теста «руками».
Что такое автоматизированное тестирование?

Автоматизированное тестирование или автоматизация тестирования – это метод тестирования программного обеспечения, который выполняется с использованием специальных программных средств, которые, в свою очередь необходимы для выполнения набора тестовых примеров. Напротив, ручное тестирование выполняется человеком, сидящим перед компьютером и тщательно выполняющим каждый шаг теста «руками».

Программное обеспечение для автоматизации тестирования также может вводить тестовые данные в тестовую среду, сравнивать ожидаемые и фактические результаты и создавать подробные отчеты о тестах. Как правило, автоматизация тестирования требует значительных вложений денег и ресурсов.

Последовательные циклы разработки, особенно в крупных компаниях (Google, Facebook, Альфа-Банк, Газпром нефть и т.д.) потребуют многократного выполнения одного и того же набора тестов. Используя инструмент автоматизации тестирования, можно записать этот набор тестов и при необходимости воспроизвести его. После автоматизации набора тестов вмешательство человека не требуется. Это улучшило ROI автоматизации тестирования. Цель автоматизации – уменьшить количество тестовых примеров, которые нужно запускать вручную, а не полностью исключить ручное тестирование.
Сегодня в программе:

  • Зачем нужна автоматизация?
  • Какие тестовые случаи стоит автоматизировать?
  • Процесс автоматизированного тестирования
  • Выбор инструмента тестирования
  • Определяем объем автоматизации
  • Планирование, проектирование и разработка
  • Выполнение теста
  • Обслуживание автоматизированного тестирования
  • Платформа для автоматизации
  • Рекомендации для эффективной автоматизации тестирования
  • Преимущества автоматизации тестирования
  • Типы автоматизированного тестирования
  • Как выбрать инструмент автоматизации?
  • Инструменты автоматизации тестирования

Зачем нужна автоматизация?

Это хороший способ повысить эффективность, а также увеличить охват и скорость тестирования программного обеспечения, когда вам нужно повторять одни и те же тестовые сценарии.

  • Ручное тестирование всех рабочих процессов, полей и негативных сценариев требует больше времени и денег (при определенных условиях).
  • Сложно тестировать многоязычные сайты вручную.
  • Не требует вмешательства человека. Запускаете и переходите к другим задачам.
  • Увеличивает скорость выполнения тестов.
  • Помогает увеличить охват тестированием.
  • Ручное тестирование может наскучить, и следствиями станут потеря вовлеченности и появление ошибок.

Какие тестовые случаи стоит автоматизировать?

Для увеличения рентабельности инвестиций в автоматизацию тестовые случаи для автоматизации можно выбрать по следующим критериям:
  • Высокие риски и сбои недопустимы – крайне актуально для банковской сферы.
  • Тестовые сценарии, которые регулярно повторяются.
  • Тестовые сценарии, которые очень сложны и утомительны для выполнения вручную.
  • Тестовые примеры, отнимающие много времени.

Следующая категория тестовых случаев не подходит для автоматизации:
  • Новые тестовые примеры, которые не выполнялись вручную хотя бы один раз.
  • Сценарии тестирования, требования к которым часто меняются.
  • Тестовые примеры, которые выполняются на разовой основе.

Процесс автоматизированного тестирования:

В процессе автоматизации выполняются следующие шаги:
Выбор тестового инструмента
Шаг 1
Определение объема автоматизации
Шаг 2
Планирование, дизайн и разработка
Шаг 3
Выполнение теста
Шаг 4
Техническое обслуживание
Шаг 5
Выбор инструмента тестирования

Выбор средства тестирования во многом зависит от технологии, на которой построено тестируемое приложение. Например , QTP не поддерживает Informatica. Таким образом, QTP нельзя использовать для тестирования приложений Informatica . Хорошая идея – провести Proof of Concept of Tool (демонстрация практической осуществимости) на AUT.

Определяем объем автоматизации

Объем автоматизации – это область тестируемого приложения, которая будет автоматизирована. Его помогают определить следующие пункты:
  • Функции, важные для бизнеса
  • Сценарии с большим объемом данных
  • Общие функции приложений
  • Техническая осуществимость
  • Частота повторного использования бизнес-компонентов
  • Сложность тестовых случаев
  • Возможность использовать одни и те же тестовые сценарии для кросс-браузерного тестирования

Планирование, проектирование и разработка

На этом этапе вы создаете стратегию и план автоматизации, которые содержат следующие детали:
  • Выбранные инструменты автоматизации
  • Конструкция каркаса и его особенности
  • Входящие и выходящие за рамки элементы автоматизации
  • Подготовка стендов автоматизации
  • График и временная шкала сценариев и выполнения
  • Результаты тестирования автоматизации

Выполнение теста


На этом этапе выполняются сценарии автоматизации. Сценариям необходимо ввести тестовые данные, прежде чем они будут запущены. После выполнения они предоставляют подробные отчеты об испытаниях.

Выполнение может быть выполнено с использованием инструмента автоматизации напрямую или с помощью инструмента управления тестированием, который вызовет инструмент автоматизации.

Пример: Центр качества – это инструмент управления тестированием, который, в свою очередь, вызывает QTP для выполнения сценариев автоматизации. Скрипты могут выполняться на одной машине или на группе машин. Для экономии времени тестирование можно проводить ночью.

Обслуживание автоматизированного тестирования

Этот этап автоматизированного тестирования проводится для проверки того, как работают новые функции, добавленные в программное обеспечение: нормально или нет. Сопровождение в автотестировании выполняется, когда добавляются новые сценарии автоматизации, и их необходимо проверять и поддерживать, чтобы повышать эффективность сценариев автоматизации с каждым последующим циклом выпуска.

Платформа для автоматизации

Фреймворк – это набор руководств по автоматизации, которые:
  • поддерживают последовательность тестирования;
  • улучшают структурирование теста;
  • позволяют использовать минимальное количество кода;
  • уменьшают затраты на обслуживания кода;
  • повышают удобство повторного использования;
  • дают возможность нетехническим тестировщикам участвовать в кодировании тестов;
  • помогают сократить срок обучения использованию инструмента;
  • включают данные везде, где это необходимо.

Для автоматизации тестирования программного обеспечения используют четыре типа фреймворков:
  1. платформа автоматизации на основе данных;
  2. фреймворк автоматизации на основе ключевых слов;
  3. модульная платформа автоматизации;
  4. гибридная среда автоматизации.

Рекомендации для эффективной автоматизации тестирования


Чтобы получить максимальную рентабельность инвестиций в автоматизацию, соблюдайте следующие правила:

  • Объем автоматизации необходимо детально определить до начала проекта. Это позволит убедиться, что ожидания от автоматизации будут оправданы.
  • Определите правильный инструмент автоматизации: инструмент не должен выбираться на основании его популярности, он должен соответствовать требованиям автоматизации на конкретном проекте.
  • Выберите подходящий фреймворк.
  • Стандарты создания сценариев. При написании сценариев для автоматизации необходимо соблюдать стандарты. Вот некоторые из них:
    • cоздайте единые скрипты, комментарии и отступы кода;
    • разработайте правила наименования тестовых сценариев;
    • прикладывайте необходимые документы, если, например, сложно понять прохождение тестового сценария без скриншота и/или спецификации.
  • Определите метрики и следите за ними. Успех автоматизации нельзя определить лишь путем сравнения затраченных усилий, на тот или иной вид тестирования. Вот основные показатели:
    • процент обнаруженных дефектов;
    • время, необходимое для тестирования автоматизации выпуска каждого нового цикла;
    • минимальное время требуемое для выпуска;
    • индекс удовлетворенности клиентов;
    • улучшение производительности.

Приведенные выше рекомендации, если их соблюдать, позволят качественно выполнить автоматизацию тестирования.

Преимущества автоматизации тестирования

  • На 70% быстрее, чем при ручном тестировании.
  • Более широкий тестовый охват функций приложения.
  • Надежные в результаты.
  • Обеспечивает согласованность тестовых моделей.
  • Экономит время и деньги.
  • Повышает точность.
  • Позволяет исполнять процесс тестирования без вмешательства человека.
  • Повышает эффективность .
  • увеличивает скорость исполнения тестирования.
  • Повторно использует тестовые скрипты.
  • Позволяет тестировать часто и тщательно.
  • Больший цикл выполнения может быть достигнут за счет автоматизации.
  • Сокращает время выхода продукта на рынок

Типы автоматизированного тестирования



Как выбрать инструмент автоматизации?

Выбор подходящего инструмента может оказаться сложной задачей. Следующие критерии помогут вам выбрать лучший инструмент для ваших требований:

  • поддержка окружающей среды;
  • легкость использования;
  • тестирование базы данных;
  • идентификация объекта;
  • тестирование изображений;
  • тестирование восстановления после ошибок;
  • отображение объектов;
  • используемый язык сценариев;
  • поддержка различных типов тестирования, в том числе функционального, тестового управления, мобильного и т. д.;
  • поддержка нескольких фреймворков тестирования;
  • легко отлаживать сценарии программного обеспечения автоматизации;
  • умение распознавать предметы в любой среде;
  • обширные отчеты об испытаниях и их результаты;
  • минимизация затрат на обучение выбранным инструментам.
Выбор инструмента – одна из самых серьезных проблем, которую необходимо решить, прежде чем приступать непосредственно к автоматизации. Во-первых, определите требования, изучите различные инструменты и их возможности, установите ожидания от инструмента и сделайте Proof Of Concept.

Инструменты автоматизации тестирования

На рынке доступно множество инструментов для функционального и регрессионного тестирования. В следующих выпусках расскажем в пользу чего делают выбор наши практикующие специалисты.

Ranorex Studio

Это универсальный инструмент для автоматизации функциональных тестов пользовательского интерфейса, регрессионных тестов, тестов на основе данных и многого другого. Ranorex Studio включает простой в использовании интерфейс для автоматизации тестирования веб-приложений, настольных и мобильных приложений.

Особенности:
  • Функциональный пользовательский интерфейс и сквозное тестирование на ПК, в Интернете и на мобильных устройствах
  • Кроссбраузерное тестирование
  • SAP, ERP, Delphi и унаследованные приложения.
  • iOS и Android
  • Запускайте тесты локально или удаленно, параллельно или распределяйте в Selenium Grid
  • Надежная отчетность

Testim

«Самый быстрый путь к отказоустойчивым сквозным тестам – без кода, с кодированием или и тем, и другим. Testim позволяет создавать удивительно стабильные тесты без кода, которые используют наш ИИ, а также гибкость для экспорта тестов в виде кода. Такие клиенты, как Microsoft, NetApp, Wix и JFrog, ежемесячно проводят миллионы тестов на Testim.

Особенности
  • Вы можете использовать современный JavaScript API от Testim и свою IDE для отладки, настройки или рефакторинга тестов.
  • Храните тесты в своей системе управления версиями, чтобы синхронизировать их с ветвями и запускать тесты при каждой фиксации.
  • Интеграция с популярными инструментами»

21 Labs

«Это сложная самообучающаяся платформа автоматизации тестирования и аналитики для приложений iOS и Android.

Особенности:
  • Быстрая и интеллектуальная разработка – создание с помощью ИИ дает пользователям возможность создавать автоматизированные функциональные тесты и тесты пользовательского интерфейса за считанные минуты.
  • Результаты, которым вы доверяете – бесшовная система алгоритмических локаторов обеспечивает стабильные результаты во всех средах.
  • Устранение проблем с обслуживанием и нестабильных результатов – самообучающееся обслуживание автоматически обновляет тесты и гарантирует, что ваша команда может сосредоточиться на разработке новых функций, полагаясь на результаты тестов.
  • Выпускайте с уверенностью – производственная интеграция закрывает цикл обратной связи и анализирует фактическое покрытие. Используйте данные при выпуске.
  • Полностью SaaS, не требует установки или устройств для создания или выполнения тестов. Предлагает беспрепятственный доступ к десяткам устройств».

Selenium

Это инструмент тестирования программного обеспечения, используемый для регрессионного тестирования. Это инструмент тестирования с открытым исходным кодом, который предоставляет возможность воспроизведения и записи для регрессионного тестирования. Селен IDE поддерживает только Mozilla Firefox веб – браузер.

Особенности:
  • Он обеспечивает возможность экспорта записанного скрипта на других языках, таких как Java, Ruby, RSpec, Python, C# и т. д.
  • Его можно использовать с такими фреймворками, как JUnit и TestNG.
  • Он может выполнять несколько тестов одновременно Автозаполнение для общих команд Selenium
  • Пошаговые тесты
  • Идентифицирует элемент с помощью идентификатора, имени, X-пути и т. Д. Храните тесты как Ruby Script, HTML и любой другой формат
  • Он предоставляет возможность утверждать заголовок для каждой страницы
  • Он поддерживает файл selenium user-extensions.js
  • Это позволяет вставлять комментарии в середину скрипта для лучшего понимания и отладки.

QTP (MicroFocus UFT)

Широко используется для функционального и регрессионного тестирования, он касается всех основных программных приложений и сред. Чтобы упростить создание и обслуживание тестов, в нем используется концепция тестирования, управляемого ключевыми словами. Это позволяет тестировщику создавать тестовые примеры прямо из приложения.

Особенности:
  • Нетехническому человеку проще адаптироваться и создавать рабочие тестовые примеры.
  • Он быстрее устраняет дефекты, тщательно документируя и воспроизводя дефекты для разработчика.
  • Сверните создание тестов и документацию по тестам на одном сайте
  • Параметризация проще, чем в WinRunner
  • QTP поддерживает среду разработки .NET
  • У него лучший механизм идентификации объекта
  • Он может улучшить существующие сценарии QTP без доступности «Тестируемого приложения», используя активный экран.

Rational Functional Tester

Это объектно-ориентированный инструмент автоматизированного функционального тестирования , способный выполнять автоматическое функциональное, регрессионное тестирование, тестирование на основе данных и тестирование графического интерфейса. Основные особенности этого инструмента:

Особенности:
  • Поддерживает широкий спектр протоколов и приложений, таких как 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 предназначен для выполнения функционального и регрессионного тестирования. Для приложений электронного бизнеса шелковый тест является ведущим продуктом для функционального тестирования. Это продукт поглощения Segue Software компанией Borland в 2006 году. Это объектно-ориентированный язык, как и C ++. Он использует концепцию объекта, классов и наследования. Его основная особенность включает

Особенности:
  • Он состоит из всех файлов исходных скриптов.
  • Он преобразует команды сценария в команды графического интерфейса. На одном компьютере команды могут выполняться на удаленном или хост-компьютере.
  • Чтобы идентифицировать движение мыши вместе с нажатиями клавиш, можно запустить Silktest. Он может использовать как методы воспроизведения и записи, так и методы описательного программирования для получения диалогов.
  • Он определяет все элементы управления и окна тестируемого приложения как объекты и определяет все атрибуты и свойства каждого окна.

Заключение

Правильный выбор инструмента автоматизации, процесса тестирования и команда – основные составляющие успеха автоматизации. Для успешного тестирования ручные методы и автоматизация идут рука об руку.
Вам также может быть интересно