Виды тестирования

 

 

Виды тестирования (Более главное)

По Целям  
ФункциональноеНефункциональное
 UI / UX
 Инсталляционное
 Совместимости
 Надежности и восстановления             после  сбоев
 Локализация
 Защищенность
 производительность
  
  
По хронологии выполнениюПо позитивности сценария
ОсновноеПозитивное
ПовторноеНегативное
РегрессивноеПо уровню тестирования
ПриемочноеМодульное
 Интеграционное
По исполнению кодаСистемное
Статическое 
 ДинамическоеПо знанию системы 
 Белый ящик
 Черный ящик
 Серый ящик

 

По целям

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

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

Эта проверка включает в себя следующие виды:

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

     

Классификация по хронологии выполнения

        Повторное/подтверждающее тестирование (re-testing/confirmation testing) — тестирование, во время которого исполняются тестовые сценарии, выявившие ошибки во время последнего запуска, для подтверждения успешности исправления этих ошибок, т.е. проверяется исправление багов.

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

        Приёмочное тестирование проверяет соответствие системы потребностям, требованиям и бизнес-процессам пользователя.

 

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

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

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

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

 

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

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

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

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

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

 

По исполнению кода

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

        Динамическое тестирование: Тестирование, проводимое во время выполнения программного обеспечения, компонента или системы.

 

По уровню тестирования

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

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

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

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

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

 

 

Важность

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

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

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

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

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

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

        Автоматизированное – с использованием программных средств.

 

Таблица (Главное)

 

Максимально что выходит "виды тестирования" (сохраните фото/улучиться качество)
QA Engineer

QA Engineer

💻💻💻🖥