LeadStartup
Получите бесплатно — все материалы с наших курсов и тренингов
Тренинги, Курсы, Обучение — Agile, Scrum, OKR
Тренинги, Курсы, Обучение — Agile, Scrum, OKR
Тренинги, Курсы, Обучение — Agile, Scrum, OKR
Начальное руководство по автоматизированному тестированию. Основные принципы, преимущества и методы для начинающих в области качества программного обеспечения.

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

Автоматизированное тестирование или как сэкономить время на проверке ПО
Нравится
4
Редактировать

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

Автоматизированное тестирование — это часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения.

Нравится Что такое автоматизированное тестирование?
6
Комментарий Что такое автоматизированное тестирование?
0
Редактировать Что такое автоматизированное тестирование?
Редактировать
Mikhail Ряженка
Founder, Executive Partner

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

Основные преимущества АТ: экономия времени и средств, т.к. тестировщик может не проводить вручную один и тот же тест несколько раз; повышение скорости работы.

Нравится Преимущества автоматизированного тестирования?
8
Комментарий Преимущества автоматизированного тестирования?
0
Редактировать Преимущества автоматизированного тестирования?
Редактировать
Mikhail Ряженка
Founder, Executive Partner

Основные инструменты автоматизированного тестирования?

Самыми популярными являются: Selenium, Rational Functional tester, 21 Labs, QTP и т.д.

Нравится Основные инструменты автоматизированного тестирования?
3
Комментарий Основные инструменты автоматизированного тестирования?
0
Редактировать Основные инструменты автоматизированного тестирования?
Редактировать
Mikhail Ряженка
Founder, Executive Partner

Что такое автотесты?

Тестирование программного обеспечения помогает компании проверить готовый продукт. Это тестирование делится на 2 основные категории: ручное и автоматизированное. Все, кто как–то связан с индустрией разработки программного обеспечения знают, что споры «какое (ручное или автоматизированное) тестирование лучше» это обычное дело в этой сфере.

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

Но в чем принципиальная разница? Все просто. При ручном тестировании человек сам проверяет функциональность ПО так, как это сделал бы пользователь. Автоматизированное тестирование выполняется с помощью инструментов автоматизации, поэтому остается больше свободного времени на выполнение каких–либо других задач.

Нравится Что такое автотесты?
2
Комментарий Что такое автотесты?
0
Редактировать Что такое автотесты?
Редактировать
Mikhail Ряженка
Founder, Executive Partner

Что такое автоматизированное тестирование (АТ)

Автоматизированное тестирование – это метод тестирования программного обеспечения, который использует специальные программные средства автоматизации для контроля выполнения тестов. Кроме автоматического запуска тестов, АТ позволяет управлять данными и использовать результаты тестирования для улучшения качества ПО.

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

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

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

Нравится Что такое автоматизированное тестирование (АТ)
3
Комментарий Что такое автоматизированное тестирование (АТ)
0
Редактировать Что такое автоматизированное тестирование (АТ)
Редактировать
Mikhail Ряженка
Founder, Executive Partner

Важность автоматизированного тестирования

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

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

Нравится Важность автоматизированного тестирования
2
Комментарий Важность автоматизированного тестирования
0
Редактировать Важность автоматизированного тестирования
Редактировать
Mikhail Ряженка
Founder, Executive Partner

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

Существует огромное количество разновидностей АТ и собрать их все в одном тексте довольно трудно, поэтому мы перечислим только несколько основных.

  • Smoke–тестирование

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

  • Unit–тестирование

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

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

  • Функциональное тестирование

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

  • Регрессионное тестирование

Набор тестов, направленных на обнаружение дефектов в уже протестированных участках ПО. Цель – устранить регрессионные ошибки, т.е. ошибки, которые появились после добавления нового участка программы или после исправления других багов.

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

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

  • Тестирование черного ящика

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

  • Тестирование по ключевым словам

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

Нравится Типы автоматизированного тестирования
5
Комментарий Типы автоматизированного тестирования
0
Редактировать Типы автоматизированного тестирования
Редактировать
Mikhail Ряженка
Founder, Executive Partner

Как происходит тестирование?

Теперь, когда нам известны основные критерии для автоматизации и ее типы, стоит рассмотреть общий процесс организации автоматического тестирования. Выделяется 3 основных этапа АТ:

  1. Подготовка

Во–первых, нужно подготовить тестовые данные и среду, в которой будет проводиться тестирование.

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

  1. Проведение тестирования

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

  1. Отчет о результатах

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

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

Нравится Как происходит тестирование?
6
Комментарий Как происходит тестирование?
0
Редактировать Как происходит тестирование?
Редактировать
Mikhail Ряженка
Founder, Executive Partner

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

Считается, что автоматизированное тестирование гораздо быстрее ручного. Многие исследователи утверждают, что эта разница в скорости составляет около 70%. Вот еще несколько преимуществ автоматизации:

  • Широкий тестовый охват функций приложения;

  • надежность результатов;

  • экономия времени и денег;

  • высокая точность;

  • можно повторно использовать тесты для проверки в рамках другого проекта;

  • само тестирование можно проводить чаще, т.к. оно не требует большого количества времени;

  • высокая эффективность;

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

Нравится Преимущества автоматизированного тестирования
5
Комментарий Преимущества автоматизированного тестирования
0
Редактировать Преимущества автоматизированного тестирования
Редактировать
Mikhail Ряженка
Founder, Executive Partner

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

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

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

  1. Selenium

Это инструмент тестирования ПО, используемый для регрессионного тестирования. Он предоставляет возможность проводить тестирование с открытым исходным кодом. Selenium обеспечивает возможность экспорта записанного скрипта на других языках (Java, Ruby, Python, C#), но поддерживает только браузер Mozila Firefox, а основные фреймворки для его использования: Junit и TestNG. Еще одним из плюсов этого инструмента является возможность выполнять несколько тестов одновременно.

2. Rational Functional Tester

Инструмент автоматизированного функционального тестирования, способный выполнять автоматическое функциональное, регрессионное тестирование, а также тестирование на основе данных и тестирование графического интерфейса. Он поддерживает широкий спектр протоколов и приложений, таких как Java, HTML, NET, Windows, Visual Basic и т.д. К тому же RFT помогает команде кодировать тест–кейсы на Java с помощью Eclipse.

3. 21 Labs

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

Одна из функций – быстрая интеллектуальная разработка. Создание с помощью ИИ дает пользователям возможность создавать автоматизированные функциональные тесты и тесты пользовательского интерфейса за очень короткое время.

4. QTP (MicroFocus UFT)

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

Команда, правильный выбор инструмента и процесса тестирования – основные критерии для успешной автоматизации.

Нравится Инструменты автоматизированного тестирования
8
Комментарий Инструменты автоматизированного тестирования
0
Редактировать Инструменты автоматизированного тестирования
Редактировать
Mikhail Ряженка
Founder, Executive Partner

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

Эффективность и стоимость автоматизации тестирования зависит от множества факторов.

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

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

Вывод

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

Нравится Рекомендации для эффективной автоматизации тестирования
8
Комментарий Рекомендации для эффективной автоматизации тестирования
0
Редактировать Рекомендации для эффективной автоматизации тестирования
Редактировать
Mikhail Ряженка
Founder, Executive Partner