Опишите ваш проект
Наши специалисты свяжутся с вами в ближайшее время
Отправив запрос вы получаете:
  • Письмо или звонок от нашего менеджера
  • Оценку своего проекта
  • Личную встречу, при необходимости
  • Конфиденциальность гарантирована!
maxim_kaschjev
Ваш менеджер
Максим Кащеев
С удовольствием ответим на все ваши вопросы
Задать вопрос
Project Management

Автоматизация тестирования: инструменты, средства, процессы 

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

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

Для чего нужна автоматизация тестирования? Ключевые задачи

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

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

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

  • SELENIUM;
  • JUnit;
  • TestNG;
  • JENKINS.

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

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

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

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

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

Ведущие компании, которые разрабатывают средства для автоматизированного тестирования, такие как HP, IBM, Borland, AutomatedQA предоставляют большой выбор продуктов для различных целей. Это готовые решения (уже написанные авто-тесты), которые можно использовать для внедрения в проект и достижения результата более быстрым путем. Вопрос скорости только в цене.

Плюсы и минусы автоматизации тестирования

Из плюсов можно выделить:

  • скорость выполнения (для больших проектов проходит быстрее, чем при ручной проверке);
  • дешевизна (при многоразовом использовании дешевле, чем ручное);
  • универсальность (проверка в труднодоступных местах);
  • цикличность (выполняются четко поставленная цель — на что было запрограммировано);
  • неутомимость (работа по ночам, запуск в назначенное время).

Из недостатков:

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

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

QA/QC тестирование

Сегодня довольно часто путают понятия qa тестирование и qc, но все довольно просто: тестирование является частью qc, а в свою очередь qc является частью qa. QC — это контроль соблюдения требований для разработки программного обеспечения (до создания проекта). QA — соответствие и правильность процессов разработки процесса (во время создания проекта). Тестирование — проверка работоспособности проекта (после создания).

Поделись своей эмоцией после прочтения статьи
Давайте обсудим Ваш проект
Мы с радостью сделаем бесплатную оценку вашего проекта
Или просто загрузите файл с презентацией или описанием
Моисеев Артем
Business Development Manager
Моисеев Артем