Что такое автоматизация тестирования? - Процесс тестирования и его виды

Попробуйте наш инструмент устранения неполадок





Программное обеспечение становится все более ценным и важным, поскольку мы приветствуем новые приложения и устройства в наших домах и на предприятиях, чтобы взять на себя управление важной задачей. 16 апреляthВ 1994 году авиалайнер потерпел крушение, незадолго до приземления в аэропорту. Там, где погибли 250 человек, это была самая смертоносная авария в китайских авиалиниях. Основная причина инцидента - ошибки программного обеспечения. Пользователи программного обеспечения не тестировались перед его внедрением. В каждой системе есть программные ошибки. Невозможно разработать программную систему без ошибок. Но отказ, вызванный ошибками программного обеспечения в системе, можно защитить, выполнив тестирование программного обеспечения. Тестирование программного обеспечения - это процесс, используемый для выявления ошибок, полноты и качества разработанного компьютерного программного обеспечения. Он включает в себя набор действий, выполняемых с целью поиска ошибок в программном обеспечении, чтобы их можно было исправить до того, как продукт будет выпущен для конечных пользователей. Существует два типа процедур тестирования, выполняемых вручную, и автоматизация тестирование.

Что такое автоматизация тестирования?

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




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

Ниже приведены тестовые примеры, которые необходимо автоматизировать в первую очередь.

  • Повторное задание - Пример, такой как сайт электронной коммерции, который несколько раз проверяет учетные данные для входа, чтобы убедиться, что страница входа работает в соответствии с требованиями пользователя.
  • Получение и совместное использование результатов - Вместо того, чтобы вычислять числа и строить графики, могут быть полезны инвестиции в инструменты или стратегию автоматизации, позволяющую сэкономить время.
  • Тест ввода данных - Автоматизация информации в источнике данных, чтобы ее можно было легко прочитать. Где можно лучше справиться с изменчивостью данных. То есть, когда кто-то хочет найти определенные данные из тысяч данных, инструмент автоматизации может использоваться для поиска определенных данных.
  • Сроки или скрининговый ответ - Нет необходимости отслеживать экран вручную, это можно улучшить, используя автоматический код «подождите, пока».
  • Нефункциональное тестирование - Примером автоматизации нефункционального типа тестирования является автоматизация нагрузочного тестирования. Если у нас есть нагрузка в десять тысяч, а не тестирование вручную, лучше использовать автоматическое тестирование.

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

Пошаговая процедура, используемая для автоматического тестирования:



автоматизация - тестирование - процесс

процесс автоматизации-тестирования

1). Выбор тестового инструмента

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


2). Определите сферу автоматизации

Сфера автоматизации играет основную роль. Например, важные функции для любого бизнеса - это сценарии с большим объемом данных, которые имеют общие функции для разных платформ и приложений, а также сложность тестовых случаев. И Т. Д.

3). Планирование дизайна и развития

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

4). Выполнение теста

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

5). Обслуживание

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

Подходы к автоматизации

Есть три подхода к автоматизации, они

1). Кодовый подход

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

2). Графический интерфейс пользователя (GUI)

Приложения с графическим интерфейсом пользователя можно протестировать с помощью этого метода, чтобы записывать действия и ответы пользователя любое количество раз. Пример: инструмент Selenium, используемый для тестирования веб-сайта. Тестовые примеры могут быть написаны на любом языке сценариев, например java, phyton, C .. и т. Д.

3). Рамочный подход

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

Типы каркасов

Существуют разные типы рамочных подходов.

  • Фреймворк для линейного скриптинга
  • Фреймворк, управляемый данными
  • Фреймворк, управляемый ключевыми словами
  • Модульная система тестирования
  • Гибридная структура тестирования.

Типы тестов автоматизации

Различные типы автоматических тестов:

  1. Модульное тестирование
  2. Дымовые испытания
  3. Функциональное тестирование
  4. Интеграционное тестирование
  5. Регрессионное тестирование

1). Модульное тестирование

В веб-приложении может быть несколько компонентов / моделей, которые необходимо протестировать. Процесс тестирования каждой модели - это модульное тестирование. Это делается на этапе разработки. Где коды пишут разработчики, а также тестировщики.

2). Дымовые испытания

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

3). Функциональное тестирование

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

4). Интеграционное тестирование

При этом отдельные компоненты интегрируются и тестируются сразу. Где мы можем проверить, совместимы ли отдельные модули для связи друг с другом. Например, если мы рассмотрим производство шариковой ручки, где ручка состоит из стержня, колпачка и корпуса, которые производятся отдельно и собираются вместе. При сборке проверяем, установлены ли они правильно или нет.

5). Регрессионное тестирование

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

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

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

  • Поддержка окружающей среды
  • Тестирование базы данных
  • Идентификация объекта
  • Тестирование изображений
  • Тестирование восстановления после ошибок
  • Поддержка нескольких рамок
  • Минимизировать стоимость
  • Обширные отчеты об испытаниях и стоимость.

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

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

1). Селен

Это открытый исходный код, который является популярным методом тестирования для выполнения веб-приложений, различных браузеров и платформ. Последняя версия селена - Selenium4. От программиста требуется углубленное знание языка программирования. Есть четыре компонента Selenium, selenium IDE, selenium remote control, веб-драйвер, selenium grid.

2). воды

Это инструмент тестирования с открытым исходным кодом, состоящий из библиотеки ruby, которая автоматизирует тестирование веб-приложений. Последняя версия watir - watir 6.16. Коды можно писать на любом языке. Firefox, chrome, safari - это определенные браузеры, которые поддерживает watir. Вот некоторые из особенностей watir: сокращение экрана, производительность страницы и простая загрузка любого файла.

3). Ранорекс

Это универсальный инструмент для тестирования графического интерфейса. Он подходит для всех браузеров и устройств среды. Он поддерживает C # и V.NET. Он встроен в Microsoft Windows и Windows Server. Основными компонентами ranorex являются регистратор ранорекс, репозиторий ранорекс, шпион ранорекс, редактор кода ранорекс и отладчик ранорекс.

4). API (Тестирование интерфейса прикладного программирования)

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

Инструменты автоматизации тестирования мобильных приложений

Различные типы средств автоматизации тестирования мобильных приложений: Appium, Robotium, MonkeyRunner, UI Automator, Selendroid, MonkeyTalk, Testdroid, Calabash, Frank, SeeTest.

1). Appium

  • Это открытый исходный код
  • Поддерживает Java, Ruby и другие
  • Исходный код можно использовать повторно
  • Совместимость с Android и iOS.

2). роботы

  • Это открытый исходный код
  • Совместимость со всеми версиями Android и подверсиями.
  • Коды написаны на Java.

3). Бегун обезьян

  • Тестирование фреймворка или функционального уровня выполняется с помощью monkeyrunner
  • Коды написаны на питоне
  • Особенности: он управляет множеством устройств одновременно, автоматизация может быть расширяемой, приложения и оборудование для Android можно тестировать, автоматизация может быть расширяемой.

4). UI Automator

  • Он используется для тестирования пользовательских интерфейсов с использованием тестовых примеров пользовательского интерфейса.
  • Поддерживает разные версии андроидов
  • Он может блокировать и разблокировать смартфоны

5). Селендроид

  • Он используется для тестирования пользовательского интерфейса гибрида на базе Android.
  • Тестовые случаи написаны с использованием selendroid
  • К протокол вроде JSON wire очень совместим.

Риск, связанный с автоматизацией тестирования

Риск, связанный с автоматическим тестированием:

  • Начальная стоимость будет высокой
  • Автоматизация никогда не бывает 100%
  • Не автоматизирует нефиксированный пользовательский интерфейс
  • Неправильная оценка времени и усилий
  • Несовместимость средств автоматизации.

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

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

  • Выполнение тестовых случаев упрощено
  • Повышает надежность теста
  • Снижает стоимость обслуживания
  • Результаты тестов публикуются
  • Без человеческих ошибок
  • Экономит время и память.

Здесь мы описываем программное обеспечение автоматизация тестирования, свой процесс тестирования, типы автоматизации тестирования и инструмент автоматизации тестирования. Возникает вопрос: «Чем автоматическое тестирование лучше ручного?».