Классификация видов тестирования

17 августа 2018
Различные виды тестирования

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

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

1. Виды тестирования по целям

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

  • Функциональное.
  • Нефункциональное.

Функциональное тестирование направлено на проверку того, какие функции ПО реализованы, и того, насколько верно они реализованы.

Что входит в функциональное тестирование ПО

Нефункциональное – проверяет корректность работы нефункциональных требований. Этот вид тестирования скорее проверяет, КАК программный продукт работает. Он включает в себя следующие виды:

  • Тестирование производительности – проверяет как ПО работает под определенной нагрузкой. 
  • Тестирование пользовательского интерфейса – определяет удобство пользования разными параметрами интерфейса (кнопки, цвета, выравнивание и т. д.).
  • Тестирование удобства использования – проверяет, удобен ли ПО в использовании.
  • Тестирование защищенности – определяет, насколько безопасно использование программного продукта: защищено ли ПО от атак хакеров, несанкционированного доступа к данным и т. д.
  • Инсталляционное тестирование – проверяет, не возникает ли проблем при установке, удалении, а также обновлении ПО.
  • Тестирование совместимости – тестирование работы программного продукта в определенном окружении.
  • Тестирование надежности – проверяет работу ПО при длительной средней ожидаемой нагрузке.
  • Тестирование локализации – тестирование локализованной версии программного продукта (языковой и культурный аспекты).

2. По степени автоматизации

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

  • Ручное – без использования дополнительных программных средств, т. е. тестирование «вручную».
  • Автоматизированное – с использованием программных средств (более детально в описании курса по автоматизации тестирования ПО).

3. По позитивности сценария

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

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

4. По доступу к коду программного продукта

В процессе тестирования инженер может работать с ПО, не обращаясь к его коду, а может определить правильность работы, взглянув на код. По доступу к коду программного продукта тестирование делится на:

  • Тестирование «белого ящика» – тестирование программного продукта с доступом к коду.
  • Тестирование «черного ящика» – тестирование без доступа к коду продукта.
  • Тестирование «серого ящика» – тестирование, основанное на ограниченном знании внутренней структуры ПО. Часто говорят, что это смесь тестирования «белого ящика» и «черного ящика», но это в корне неверно. В данном случае тестировщик не работает с кодом программного продукта, но он знаком с внутренней структурой программы и взаимодействием между компонентами.

Виды тестирования по доступу к коду программного продукта

5. По уровню

По уровню тестирование бывает:

  • Модульное / юнит-тестирование – проверка корректной работы отдельных единиц ПО. Этот вид тестирования могут выполнять сами разработчики.
  • Интеграционное тестирование – проверка взаимодействия между несколькими единицами ПО.
  • Системное – проверка работы всей системы на соответствие заявленным требованиям к программному продукту.

6. По исполнителю

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

  • Альфа-тестирование – тестирование программного продукта на поздней стадии разработки. Проводится разработчиками или тестировщиками.
  • Бета-тестирование – тестирование ПО перед выходом на рынок силами обычных людей – добровольцев, которым передается предварительная версия продукта (бета-версия). Их отзывы собираются, анализируются и учитываются при внесении правок в продукт.

7. По формальности

По формальности тестирование бывает:

  • Тестирование по тестам – тестирование по предварительно написанным тест-кейсам.
  • Исследовательское тестирование – одновременная разработка тестов и их исполнение.
  • Свободное тестирование –  тестирование без разработки тестов, без документации. Основывается на интуиции и опыте тестировщика.

8. По важности

По степени важности тестируемых функций тестирование делится на:

  • Дымовое тестирование – проверка самой важной функциональности программного продукта.
  • Тестирование критического пути – проверка функциональности, используемой типичными пользователями в повседневной деятельности.
  • Расширенное тестирование – проверка всей заявленной функциональности.

Виды тестирования и подходы к классификации тестирования отличаются от автора к автору. Не существует единственного правильного варианта.

Надеемся, с этой статьёй вам будет проще ориентироваться в самом начале пути в тестировании программного обеспечения. А что ещё поможет на старте карьеры? Обучение на онлайн-курсе QA Academy.