Главная » Блоги Экспертов И ИТ-Компаний » Автоматизация тестирования от «А» до «Я»: часть 1
Более 15 лет обеспечиваем качество ПО 8 месяцев назад

Автоматизация тестирования от «А» до «Я»: часть 1

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

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

Однако далеко не все организации применяют автоматизацию тестирования ПО. Согласно данным отчета World Quality Report 2018-2019, 61% респондентов подчеркнули, что столкнулись с трудностями при ее внедрении на проектах.

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

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

ОСНОВЫ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ

В последнее время в автоматизации часто используются ИИ, машинное обучение и предсказательная аналитика, которые дают ей новые преимущества и делают ее «умнее» и эффективнее.

Для достижения значимых результатов на проекте компании должны учитывать, что автоматизированное тестирование – это не просто сервис для замены ручных проверок или дополнительный способ снизить затраты. В самом общем смысле оно нацелено на то, чтобы обеспечить высокое качество ПО быстрее, вывести процесс QA на новый уровень, а также эффективно реализовывать DevOps и Agile.

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

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

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

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

КАК НАЙТИ БАЛАНС МЕЖДУ РУЧНЫМ И АВТОМАТИЗИРОВАННЫМ ТЕСТИРОВАНИЕМ?

Ручное тестирование все еще играет важную роль в процессе обеспечения качества ПО. Однако в условиях процесса непрерывного тестирования (continuous testing) оно может быть крайне ресурсозатратным.

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

В некоторых случаях автоматизация применяться не может. Приведем примеры:

  • Тестирование пользовательского интерфейса. Ручное тестирование проверит общий вид приложения (четкость изображений, расположение и отображение элементов графического интерфейса при разных разрешениях экрана и др.), а также отдельно взятые компоненты (например, цвет шрифта – сможет ли конечный пользователь его легко воспринимать). Ручные проверки покажут, соответствует ли графический интерфейс предпочтениям потребителей.
  • Тестирование удобства использования. Оно ответит с точки зрения пользователя на вопрос, является приложение простым в использовании или нет.
  • Интуитивное тестирование. Это тип проверок, при котором тест-кейсы не создаются заранее, а QA-инженеры тестируют приложение и исследуют его «на ходу».

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

Рассмотрим 5 случаев, когда такая «командная работа» будет особенно удачной:

  1. Вы используете как автоматизированные, так и ручные проверки для тестирования различных аспектов одной и той же функциональности.
  2. У вас есть цель быстрее выпустить новую версию продукта на рынок, но, чтобы эту цель достичь, нужно ускорить сам процесс тестирования.
  3. Тесты являются «полуавтоматизированными», а для завершения теста нужно провести ручную проверку. В качестве примера можно привести тестирование пользовательского интерфейса для различных браузеров и разрешений экранов. Автотест откроет каждый браузер в нужном разрешении, перейдет по ссылкам (чтобы открыть страницу), сделает скриншот, а ручной тестировщик определит, насколько корректно отображается содержимое страницы.
  4. Ручные тесты должны быть проведены после завершения автоматизированных тестов, например, чтобы выявить проблемы с пользовательской стороны.
  5. Частые выходы новых версий ПО сложного продукта (масштабное регрессионное тестирование).

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

Читайте продолжение статьи по ссылке: https://www.a1qa.ru/blog/avtomatizatsiya-testirovaniya-ot-a-do-ya-chast-1/


Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.
Комментарии
Другие публикации
RU, Москва
+7 495 640-89-38
Информационные технологии

A1QA – ведущий провайдер услуг в сфере тестирования ПО в Восточной и Центральной Европе. Клиенты A1QA – международные компании, представляющие различные домены бизнеса. Штат сотрудников составляет более 600 инженеров по тестированию. Компания предоставляет различные услуги: полный цикл тестирования ПО, консалтинг по вопросам обеспечения качества, бизнес-анализ, автоматизация тестирования.

В России офисы и центры тестирования компании расположены в Москве, Рязани и Санкт-Петербурге.

Контакты:

info@a1qa.ru

Подробную информацию об услугах компании можно получить на сайте a1qa.ru.




Забыл пароль?
Авторизоваться через
Зарегистрируйся сейчас!
Присоединяйся к нашему обществу для того чтобы познакомиться с новыми людьми, создать собственный блог, публиковать анонсы событий и объявления, а также участвовать в обсуждении публикаций CNews. Мы создали единое пространство для общения специалистов рынка информационных технологий и всех, кто интересуется современными технологиями. Регистрация =>