top of page

КЛАССИФИКАЦИЯ И ВИДЫ ТЕСТИРОВАНИЯ

Обновлено: 19 апр. 2021 г.

ОПИСАНИЕ

Что это?


Классификация тестов на виды производится в соответствие с традиционными показателями качества, которые проверяются с их помощью. Иными словами, разделение тестирования на виды происходит в зависимости от типа требований (функциональные, нефункциональные), проверяемых с помощью тестов.



Цель


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


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

  1. Функциональное

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

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


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

  1. Тестирование производительности – работа ПО под определённой нагрузкой.

  2. Тестирование пользовательского интерфейса – удобство пользователя при взаимодействии с разными параметрами интерфейса (кнопки, цвета, выравнивание и т. д.).

  3. Тестирование UX – правильность логики использования программного продукта.

  4. Тестирование защищенности – определение безопасности ПО: защищено ли оно от атак хакеров, несанкционированного доступа к данным и т. д.

  5. Инсталляционное тестирование – оценка вероятности возникновения проблем при установке, удалении, а также обновлении ПО.

  6. Тестирование совместимости – тестирование работы программного продукта в определённом окружении.

  7. Тестирование надежности – работа программы при длительной средней ожидаемой нагрузке.

  8. Тестирование локализации –оценка правильности версии программного продукта (языковой и культурный аспекты).

Степень автоматизации


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

  1. Мануальное (ручное) – без использования дополнительных программных средств, т. е. «вручную».

  2. Автоматизированное – с использованием программных средств (более детально в описании курса по автоматизации тестирования ПО).

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


Позитивность сценария

Этот подход определяет поведение системы в привычных и экстремальных условиях.


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

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


Эти типы тестирования нередко проводятся параллельно. Ведь работая над некоторой функциональностью, тестировщику проще оценить её поведение и в стандартных, и в нестандартных условиях.


Доступ к коду программного продукта


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

  1. Тестирование «белого ящика» – с доступом к коду.

  2. Тестирование «черного ящика» – без доступа к коду продукта.

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

Уровень


Этот пункт определяет объект тестирования.

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

  2. Интеграционное тестирование – проверка взаимодействия между несколькими единицами ПО.

  3. Системное – проверка работы приложения целиком.

  4. Приёмочное– оценка соответствия заявленным требованиям к программному продукту.

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


Исполнитель


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

  1. Альфа-тестирование – проверка программного продукта на поздней стадии разработки. Проводится разработчиками или тестировщиками.

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


Формальность


Этот пункт определяет подготовленность тестировщика перед началом проверки.

  1. Тестирование по тестам– использование написанных заранее тесткейсов.

  2. Исследовательское тестирование – одновременная разработка тестов и их использование.

  3. Свободное тестирование – проверка качества без разработки тестов и написания документации. Основывается на интуиции и опыте тестировщика

Важность


Дымовое тестирование – проверка самой важной функциональности программного продукта.

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

Расширенное тестирование – проверка всей заявленной функциональности.


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


  • тестирование мобильных или десктопных приложений;

  • банкинг;

  • социальные сети;

  • игры;

  • и другое.

 
 
 

Комментарии


Пост: Blog2_Post
bottom of page