Автоматизированное тестирование, автоматизация тестирования приложений

Информационная безопасность 11.07.2018 68809
Автоматизированное тестирование, автоматизация тестирования приложений

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

Ключевые преимущества

⦁ Повышение качества тестирования, поскольку при использовании средств автоматизации «человеческий фактор» не оказывает влияния на качество тестирования.
⦁ Ускорение процесса тестирования без потери качества. Проведение того же объема работ ручным методом занимает больше времени. Использование средств автоматизации для тестирования позволяет запускать уже написанные скрипты без дальнейших доработок.
⦁ Возможность выполнения таких видов тестирования, которые либо не могут быть выполнены вручную, либо требуют значительных затрат (дополнительное оборудование, персонал).
⦁ В ходе тестирования отчеты о результатах работы программных приложений рассылаются и сохраняются автоматически.

Автоматическое тестирование. Основные нюансы проверки качества программного обеспечения (ПО)

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

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

⦁ Запись в базу данных, логирование файлов, backend процессы, то есть места в системе, представляющие наибольшую труднодоступность.
⦁ Достаточно часто используется функциональность, которая обладает высоким уровнем рисков на ошибки. При автоматизации критической функциональности посредством тестирования гарантированно обеспечивается быстрое нахождение ошибок.
⦁ Автоматизированное тестирование эффективно для рутинных операций. Например, формы, в которых имеется большое количество полей для набора данных (перебор данных). Тестовый процесс позволяет автоматически выполнять заполнение полей, а также после сохранения осуществлять их проверку.
⦁ Данный вид тестирования позволяет автоматизировать процесс заполнения полей некорректными данными, проводить проверку различной валидации.
⦁ Длинные сценарии (end-to-end).
⦁ Тестирование данных, для которых необходимы точные математические расчеты.
⦁ Для автоматизации правильности поиска данных.

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

Основные этапы автоматизации тестирования

Подготовка — Выбор бизнес-операций, подлежащих автоматизации тестирования, определение требований к Системе Автоматизированного Функционального Тестирования (САФТ), согласование проектных сроков, выбор инструмента автоматизации, оценка возможных рисков.
Проведение — Производится запуск автоматизированных тестов и проведение регрессионного автоматизированного тестирования, если необходимо.
Отчет — Составляется итоговый документ с результатами тестирования, который содержит обнаруженные дефекты, отклонения от нормативов и предложения по улучшению системы. Создаются руководство пользователя и инструкции по настройке и сопровождению системы автоматизированного функционального тестирования.

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

GUI-тестирование — Оценка функционирования графического интерфейса приложения

Тестирование веб-сервисов — Тестирование функционала web-сервисов, реализованное автоматизированными средствами

Автоматизация тестирования мобильных приложений — Проверка работоспособности функционала мобильного приложения на различных мобильных устройствах и операционных системах

Тестирование баз данных — Оценка соответствия БД функциональным и нефункциональным требованиям

Тестирование веб-приложений — Проверка работоспособности модулей веб-приложений

GUI тестирование

Автоматизированное тестирование GUI позволяет эмулировать работу реальных пользователей с интерфейсом системы. При этом проверяется работа системы на соответствие техническому заданию при помощи современных инструментов автоматизированного тестирования.
Автоматизированное тестирование GUI предназначено для проверки работы приложения через графический интерфейс пользователя. Любые приложения, имеющие графический интерфейс пользователя, нуждаются в тестировании GUI, в том числе: web-приложения, клиентские настольные приложения, банковские приложения, платежные системы.

Ключевые преимущества

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

Основные задачи

В рамках этого тестирования проводится:
⦁ анализ графического интерфейса системы;
⦁ разработка автоматизированных GUI тест-кейсов и подготовка тестовых данных;
⦁ запуск автоматизированных тестов и составление отчета;
⦁ поддержка автоматизированных тестов.

Тестирование баз данных

Тестирование баз данных позволяет проверить корректность функционирования базы данных и минимизировать риски при внедрении системы в промышленную эксплуатацию.
Тестирование баз данных позволяет проверить работу базы данных (БД) приложения на предмет соответствия функциональным и нефункциональным требованиям. Любые приложения, включающие в свою архитектуру базы данных, нуждаются в тестировании БД, в том числе: web-приложения, приложения с высокой степенью критичности для бизнеса, приложения с высокой отказоустойчивостью, банковские приложения.

Ключевые преимущества

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

Тестирование веб-сервисов

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

Ключевые преимущества

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

Основные задачи

В рамках этого тестирования проводятся:
⦁ проверка работы веб-сервиса на предмет его соответствия заявленным требованиям;
⦁ соответствие интерфейсов и конфигураций веб-сервиса на имеющихся серверах;
⦁ проверка корректности интеграции веб-сервиса с системами потребителей и поставщиков;
⦁ валидация механизмов безопасности, реализованных в веб-сервисе (SSL, пользовательская авторизация).

Тестирование веб-приложений

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

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

Основные задачи

Тестирование веб-приложений имеет несколько основных направлений:
⦁ Функциональное тестирование – предусматривает автоматизированную, полуавтоматизированную или ручную проверку программного продукта для подтверждения стабильности работы всех его компонентов и их соответствия бизнес-требованиям;
⦁ Проверка пользовательского интерфейса и кроссбраузерное тестирование – подразумевают анализ взаимодействия приложения с пользователем и проверку его работы в разных браузерах;
⦁ Анализ удобства пользования – выявляет в навигации и пользовательском интерфейсе места, которые могут быть непонятны для пользователя, недостаточно либо избыточно информативны;
⦁ Нагрузочное тестирование – направлено на проверку стабильности функционирования программного продукта при предполагаемой рабочей и пиковых нагрузках.
Автоматизация тестирования мобильных приложений
Автоматизированное тестирование мобильных приложений применяется для оперативного выявления дефектов приложения после обновления или патча. Компания клиент получает возможность проверить работу мобильного приложения без существенного увеличения трудозатрат. Данный тип тестирования применяется для проверки работоспособности приложения на многообразии мобильных устройств и операционных систем.

Ключевые преимущества

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

Основные задачи

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *