Виды тестирования программного обеспечения (100 примеров)
Что такое тип тестирования программного обеспечения?
Тип тестирования программного обеспечения — это классификация различных действий по тестированию на категории, каждая из которых имеет определенную цель тестирования, стратегию тестирования и результаты тестирования. Целью типа тестирования является проверка тестируемого приложения (AUT) на соответствие определенной цели тестирования.
Например, цель тестирования доступности — подтвердить доступность AUT для людей с ограниченными возможностями. Итак, если ваше программное решение должно быть дружественным к отключению, вы проверяете его по тестам доступности.
Виды тестирования программного обеспечения
Перечень 100 типов тестирования программного обеспечения вместе с определениями. Обязательно к прочтению любому специалисту по обеспечению качества. Считайте это своим руководством по всем типам тестирования программного обеспечения.
- Приемочное тестирование: Формальное тестирование, проводимое с целью определить, удовлетворяет ли система критериям приемки, и дать возможность заказчику определить, принимать систему или нет. Обычно ее выполняет заказчик. Подробнее на Приемочное тестирование
- Тестирование доступности: Тип тестирования, определяющий возможность использования продукта людьми с ограниченными возможностями (глухими, слепыми, умственно отсталыми и т. д.). Процесс оценки проводится лицами с ограниченными возможностями. Подробнее на Тестирование доступности
- Активное тестирование: Вид тестирования, заключающийся во введении тестовых данных и анализе результатов выполнения. Обычно его проводит группа тестирования.
- Гибкое тестирование: Практика тестирования программного обеспечения, которая следует принципам гибкого манифеста, уделяя особое внимание тестированию с точки зрения клиентов, которые будут использовать систему. Обычно этим занимаются команды контроля качества. Подробнее на Гибкое тестирование
- Возрастное тестирование: Тип тестирования, которое оценивает способность системы работать в будущем. Процесс оценки проводится группами тестирования.
- Специальное тестирование: Тестирование проводится без планирования и документации – тестировщик пытается «сломать» систему, случайным образом проверяя ее функциональность. Его выполняет группа тестирования. Подробнее на Специальное тестирование
- Альфа-тестирование: Альфа-тестирование — это тип тестирования программного обеспечения, проводимого на сайте разработчика для выявления ошибок, проблем с удобством использования и пробелов в функциональности перед выпуском продукта для бета-тестирования. В нем участвуют внутренние тестировщики, такие как разработчики и команды QA, а иногда и избранные конечные пользователи в контролируемой среде. Подробнее на Альфа-тестирование
- Тестирование утверждений: Тип тестирования, заключающийся в проверке того, подтверждают ли условия требования к продукции. Его выполняет группа тестирования.
- Тестирование API: Техника тестирования аналогична модульному тестированию, поскольку она нацелена на уровень кода. Тестирование API отличается от модульного тестирования тем, что обычно это задача контроля качества, а не задача разработчика. Подробнее на Тестирование API
- Тестирование всех пар: Метод комбинаторного тестирования, который проверяет все возможные дискретные комбинации входных параметров. Его выполняют группы тестирования.
- Автоматизированное тестирование: Техника тестирования, в которой используются инструменты автоматизации тестирования для управления настройкой среды, выполнением тестов и составлением отчетов о результатах. Оно выполняется компьютером и используется внутри команд тестирования. Подробнее на Автоматизированное тестирование
- Тестирование базового пути: Механизм тестирования, который выводит логическую меру сложности процедурного проекта и использует ее в качестве руководства для определения базового набора путей выполнения. Он используется командами тестирования при определении тестовых случаев. Подробнее на Тестирование базового пути
- Тестирование обратной совместимости: Метод тестирования, который проверяет поведение разработанного программного обеспечения со старыми версиями тестовой среды. Это выполняется командой тестирования.
- Бета-тестирование: Финальное тестирование перед выпуском приложения для коммерческих целей. Обычно это делают конечные пользователи или другие лица.
- Контрольное тестирование: Метод тестирования, использующий репрезентативные наборы программ и данных, предназначенный для оценки производительности компьютерного оборудования и программного обеспечения в заданной конфигурации. Его выполняют группы тестирования. Подробнее на Контрольное тестирование
- Интеграционное тестирование Big Bang: Методика тестирования, которая объединяет отдельные программные модули только тогда, когда все готово. Его выполняют группы тестирования.
- Тестирование двоичной переносимости: Метод, который тестирует исполняемое приложение на переносимость между системными платформами и средами, обычно на соответствие спецификации ABI. Его выполняют группы тестирования.
- Тестирование граничных значений: Техника тестирования программного обеспечения, при которой тесты включают представителей граничных значений. Его выполняют команды тестирования QA. Подробнее на Тестирование граничных значений
- Интеграционное тестирование снизу вверх: При восходящем интеграционном тестировании сначала разрабатываются модули самого низкого уровня, а другие модули, которые входят в «основную» программу, интегрируются и тестируются по одному. Обычно это выполняется группами тестирования.
- Тестирование ветки: Метод тестирования, при котором все ветки исходного кода программы проверяются хотя бы один раз. Это сделано разработчиком.
- Тестирование ширины: Набор тестов, который проверяет всю функциональность продукта, но не тестирует его функции в деталях. Его выполняют группы тестирования.
- Тестирование черного ящика: Метод тестирования программного обеспечения, который проверяет функциональность приложения без специальных знаний кода/внутренней структуры приложения. Тесты основаны на требованиях и функциональности. Его выполняют команды контроля качества. Подробнее на Тестирование черного ящика
- Тестирование на основе кода: Техника тестирования, использующая платформы тестирования (например, xUnit), которые позволяют выполнять модульные тесты, чтобы определить, работают ли различные разделы кода ожидаемым образом при различных обстоятельствах. Его выполняют команды разработчиков.
- Проверка совместимости: Метод тестирования, который проверяет, насколько хорошо программное обеспечение работает в конкретной аппаратной/программной/операционной системе/сетевой среде. Его выполняют группы тестирования. Подробнее на Тестирование совместимости
- Сравнительное тестирование: Методика тестирования, при которой сравниваются сильные и слабые стороны продукта с предыдущими версиями или другими аналогичными продуктами. Может выполняться тестировщиком, разработчиком, менеджером продукта или владельцем продукта. Подробнее на Компонентное тестирование
- Тестирование компонентов: Техника тестирования аналогична модульному тестированию, но с более высоким уровнем интеграции — тестирование проводится в контексте приложения, а не просто непосредственное тестирование определенного метода. Может выполняться группами тестирования или разработки.
- Тестирование конфигурации: Методика тестирования, которая определяет минимальную и оптимальную конфигурацию аппаратного и программного обеспечения, а также эффект от добавления или изменения ресурсов, таких как память, диски и процессор. Обычно это выполняют инженеры по тестированию производительности. Подробнее на Тестирование конфигурации
- Тестирование покрытия условий: Тип тестирования программного обеспечения, при котором каждое условие выполняется путем проверки его истинности и ложности каждым из способов хотя бы один раз. Обычно его создают команды автоматизации тестирования.
- Проверка соответствия: Тип тестирования, при котором проверяется, была ли система разработана в соответствии со стандартами, процедурами и руководящими принципами. Обычно это выполняют сторонние компании, предлагающие бренд «Certified OGC Compliant».
- Параллельное тестирование: Многопользовательское тестирование, направленное на определение последствий доступа к одному и тому же коду приложения, модулю или записям базы данных. Обычно это делают инженеры по производительности. Подробнее на Параллельное тестирование
- Тестирование соответствия: Процесс проверки соответствия реализации спецификации, на которой она основана. Обычно это выполняется группами тестирования. Подробнее на Тестирование на соответствие
- Контекстно-ориентированное тестирование: Методика гибкого тестирования, которая предполагает непрерывную и творческую оценку возможностей тестирования в свете раскрываемой потенциальной информации и ценности этой информации для организации в конкретный момент. Обычно его выполняют команды тестирования Agile.
- Тестирование конверсии: Тестирование программ или процедур, используемых для преобразования данных из существующих систем для использования в заменяющих системах. Обычно этим занимаются команды контроля качества.
- Тестирование покрытия решений: Тип тестирования программного обеспечения, при котором каждое условие/решение выполняется путем установки значения true/false. Обычно его создают группы автоматизированного тестирования.
- Разрушающее тестирование: Тип испытания, при котором испытания проводятся до разрушения образца, чтобы понять структурные характеристики образца или поведение материала при различных нагрузках. Обычно этим занимаются команды контроля качества.
Читать дальше на Деструктивное тестирование - Тестирование зависимости: Тип тестирования, при котором проверяются требования приложения к уже существующему программному обеспечению, начальным состояниям и конфигурации для поддержания надлежащей функциональности. Обычно это выполняется группами тестирования.
- Динамическое тестирование: Термин, используемый в разработке программного обеспечения для описания тестирования динамического поведения кода. Обычно это выполняется группами тестирования. Подробнее на Динамическое Тестирование
- Тестирование домена: Метод тестирования белого ящика, который включает проверку того, что программа принимает только действительные входные данные. Обычно этим занимаются команды разработчиков программного обеспечения, а иногда и группы автоматизированного тестирования.
- Тестирование обработки ошибок: Тип тестирования программного обеспечения, который определяет способность системы правильно обрабатывать ошибочные транзакции. Обычно это выполняется группами тестирования.
- Сквозное тестирование: Подобно системному тестированию, оно включает в себя тестирование всей среды приложения в ситуации, имитирующей реальное использование, например взаимодействие с базой данных, использование сетевых коммуникаций или взаимодействие с другим оборудованием, приложениями или системами, если это необходимо. Его выполняют команды контроля качества. Подробнее на Сквозное тестирование
- Тестирование на выносливость: Тип тестирования, проверяющий наличие утечек памяти или других проблем, которые могут возникнуть при длительном выполнении. Обычно это выполняют инженеры по производительности. Подробнее на Тест на выносливость
- Исследовательское тестирование: Методика тестирования «черного ящика», выполняемая без планирования и документации. Обычно ее выполняют ручные тестеры. Подробнее на Исследовательское тестирование
- Тестирование эквивалентного разделения: Метод тестирования программного обеспечения, который делит входные данные программного модуля на разделы данных, из которых можно получить тестовые примеры. обычно его выполняют команды контроля качества. Подробнее на Тестирование эквивалентного разделения
- Тестирование при внесении неисправностей: Элемент комплексной стратегии тестирования, который позволяет тестировщику сосредоточиться на том, как тестируемое приложение может обрабатывать исключения. Его выполняют команды контроля качества.
- Формальная проверка Тестирование: Действие по доказательству или опровержению правильности предполагаемых алгоритмов, лежащих в основе системы, относительно определенной формальной спецификации или свойства с использованием формальных математических методов. Обычно этим занимаются команды контроля качества.
- Функциональное тестирование: Тип тестирования «черного ящика», при котором тестовые сценарии основываются на спецификациях тестируемого программного компонента. Его выполняют группы тестирования. Подробнее на Функциональное тестирование
- Фазз-тестирование: Техника тестирования программного обеспечения, которая предоставляет на вход программы неверные, неожиданные или случайные данные — особая область мутационного тестирования. Фазз-тестирование проводится группами тестирования. Подробнее на Fuzz-тестирование
- Тестирование горилл: Техника тестирования программного обеспечения, которая фокусируется на тщательном тестировании одного конкретного модуля. Оно выполняется группами обеспечения качества, обычно при проведении полного тестирования.
- Серый Box Тестирование: Сочетание черного цвета Box и белый Box методологии тестирования: тестирование части программного обеспечения на соответствие его спецификации, но с использованием некоторых знаний о его внутренней работе. Это может выполняться как командой разработчиков, так и командой тестирования.
- Стеклянная коробка Тестирование: Аналогично тестированию белого ящика, основанному на знании внутренней логики кода приложения. Это выполняется командами разработчиков.
- Тестирование программного обеспечения с графическим интерфейсом пользователя: Процесс тестирования продукта, использующего графический интерфейс пользователя, для проверки его соответствия письменным спецификациям. Обычно этим занимаются группы тестирования. Подробнее на Тестирование программного обеспечения с графическим интерфейсом пользователя
- Тестирование глобализации: Метод тестирования, который проверяет правильность функциональности продукта с любыми настройками культуры/региона, используя все возможные типы международных входных данных. Его выполняет группа тестирования. Подробнее на Тестирование глобализации
- Гибридное интеграционное тестирование: Техника тестирования, которая сочетает в себе методы интеграции сверху вниз и снизу вверх, чтобы максимально использовать преимущества такого рода тестирования. Обычно это выполняется группами тестирования.
- Интеграционное тестирование: Этап тестирования программного обеспечения, на котором отдельные программные модули объединяются и тестируются как группа. Обычно его проводят группы тестирования. Подробнее на Интеграционное тестирование
- Тестирование интерфейса: Тестирование проводится для оценки того, правильно ли системы или компоненты передают данные и управляют друг другу. Обычно его выполняют как команды тестирования, так и команды разработчиков. Подробнее на Тестирование интерфейса
- Установить/удалить Тестирование: Работа по обеспечению качества, направленная на то, что клиентам необходимо будет сделать для успешной установки и настройки нового программного обеспечения. Это может включать процессы полной, частичной установки или удаления обновлений и обычно выполняется инженером по тестированию программного обеспечения совместно с менеджером по конфигурации.
- Тестирование интернационализации: Процесс, который гарантирует, что функциональность продукта не будет нарушена, а все сообщения будут правильно отображены при использовании на разных языках и в разных региональных стандартах. Обычно это выполняется группами тестирования.
- Межсистемное тестирование: Метод тестирования, направленный на проверку корректности работы взаимосвязей между приложениями. Обычно выполняется группами тестирования.
- Тестирование по ключевым словам: Также известная как тестирование на основе таблиц или тестирование на основе действий, это методология тестирования программного обеспечения для автоматического тестирования, которая разделяет процесс создания теста на два отдельных этапа: этап планирования и этап реализации. Его могут использовать команды ручного или автоматического тестирования. Подробнее на Тестирование по ключевым словам
- Нагрузочное тестирование: Техника тестирования, которая предъявляет требования к системе или устройству и измеряет ее реакцию. Обычно его проводят инженеры по производительности. Подробнее на испытание нагрузкой
- Тестирование локализации: Часть процесса тестирования программного обеспечения была сосредоточена на адаптации глобального приложения к определенной культуре/локали. Обычно этим занимаются группы тестирования. Подробнее на Тестирование локализации
- Тестирование цикла: Техника тестирования «белого ящика», которая проверяет программные циклы. Его выполняют команды разработчиков. Подробнее на Тестирование цикла
- Ручное тестирование по сценарию: Метод тестирования, при котором тестовые примеры разрабатываются и проверяются командой перед их выполнением. Это делается командами ручного тестирования.
- Ручное тестирование поддержки: Техника тестирования, которая включает в себя тестирование всех функций, выполняемых людьми при подготовке данных и использовании этих данных из автоматизированной системы. оно проводится группами тестирования.
- Модельно-ориентированное тестирование: Применение проектирования на основе моделей для проектирования и создания необходимых артефактов для тестирования программного обеспечения. Обычно это выполняется группами тестирования. Подробнее на Модельно-ориентированное тестирование
- Мутационное тестирование: Метод тестирования программного обеспечения, который включает в себя небольшую модификацию исходного кода или байт-кода программы с целью тестирования разделов кода, к которым редко или никогда не обращаются во время обычного выполнения тестов. Обычно его проводят тестировщики. Подробнее на Мутационное тестирование
- Модульное тестирование: Техника тестирования программного обеспечения, требующая создания небольших независимых сценариев, представляющих модули, разделы и функции тестируемого приложения. Обычно это выполняется командой тестирования.
- Нефункциональное тестирование: Техника тестирования, которая фокусируется на тестировании программного приложения на предмет его нефункциональных требований. Может проводиться инженерами по производительности или группами ручного тестирования. Подробнее на Нефункциональное тестирование
- Отрицательное тестирование: Также известен как «тест на провал» — метод тестирования, цель которого — показать, что компонент или система не работает. Выполняется ручными или автоматическими тестировщиками. Подробнее на Отрицательное тестирование
- Operaциональное тестирование: Методика тестирования, проводимая для оценки системы или компонента в ее операционной среде. Обычно это выполняется командами тестирования. Подробнее на Operaциональное тестирование
- Тестирование ортогонального массива: Систематический статистический способ тестирования, который можно применять при тестировании пользовательского интерфейса, системном тестировании, регрессионном тестировании, тестировании конфигурации и тестировании производительности. Его выполняет группа тестирования. Подробнее на Тестирование ортогонального массива
- Парное тестирование: Техника разработки программного обеспечения, при которой два члена команды работают вместе за одной клавиатурой для тестирования программного приложения. Один проводит тестирование, а другой анализирует или проверяет тестирование. Это можно сделать между одним тестировщиком и разработчиком или бизнес-аналитиком или между двумя тестировщиками, при этом оба участника по очереди управляют клавиатурой.
- Пассивное тестирование: Методика тестирования, заключающаяся в контроле результатов работающей системы без введения каких-либо специальных тестовых данных. Его выполняет группа тестирования.
- Параллельное тестирование: Метод тестирования, целью которого является убедиться в том, что новое приложение, заменившее старую версию, установлено и работает корректно. Его проводит группа тестирования. Подробнее на Параллельное тестирование
- Тестирование пути: Типичное тестирование «белого ящика», целью которого является удовлетворение критериев покрытия для каждого логического пути программы. Обычно это выполняется командой разработчиков. Подробнее на Тестирование пути
- Тест на проникновение: Метод тестирования, который оценивает безопасность компьютерной системы или сети путем моделирования атаки из вредоносного источника. Обычно их проводят специализированные компании по тестированию на проникновение. Подробнее на Тестирование на проникновение
- Тестирование производительности: Функциональное тестирование, проводимое для оценки соответствия системы или компонента указанным требованиям к производительности. Обычно его проводит инженер по производительности. Подробнее на Тестирование производительности
- Квалификационное тестирование: Тестирование на соответствие спецификациям предыдущей версии, обычно проводимое разработчиком для потребителя, чтобы продемонстрировать, что программное обеспечение соответствует указанным требованиям.
- Ramp Тестирование: Тип тестирования, заключающийся в непрерывном повышении входного сигнала до тех пор, пока система не выйдет из строя. Оно может проводиться группой тестирования или инженером по производительности.
- Регрессионное тестирование: Тип тестирования программного обеспечения, направленный на выявление ошибок программного обеспечения после внесения в программу изменений (например, исправлений ошибок или новых функций) путем повторного тестирования программы. Его выполняют группы тестирования. Подробнее на Регрессионное тестирование
- Тестирование восстановления: Методика тестирования, позволяющая оценить, насколько хорошо система восстанавливается после сбоев, аппаратных сбоев или других катастрофических проблем. Его выполняют группы тестирования. Подробнее на Тестирование восстановления
- Тестирование требований: Техника тестирования, которая подтверждает, что требования являются правильными, полными, однозначными и логически последовательными, и позволяет разработать необходимый и достаточный набор тестовых примеров на основе этих требований. Его выполняют команды контроля качества.
- Тестирование безопасности: Процесс определения того, что информационная система защищает данные и поддерживает заданную функциональность. Это может выполняться группами тестирования или специализированными компаниями по тестированию безопасности. Подробнее на Тестирование безопасности
- Тестирование на здравомыслие: Метод тестирования, который определяет, достаточно ли хорошо работает новая версия программного обеспечения, чтобы принять ее для серьезного тестирования. Его выполняют группы тестирования. Подробнее на Проверка на вменяемость
- Тестирование сценариев: Деятельность по тестированию, в которой используются сценарии, основанные на гипотетической истории, чтобы помочь человеку продумать сложную проблему или систему для среды тестирования. Его выполняют группы тестирования. Подробнее на Тестирование сценариев
- Тестирование масштабируемости: Часть набора нефункциональных тестов, которые проверяют программное приложение на предмет измерения его способности к масштабированию – будь то поддерживаемая пользовательская нагрузка, количество транзакций, объем данных и т. д. Он проводится инженером по производительности. Подробнее на Тестирование масштабируемости
- Тестирование заявлений: Тестирование белого ящика, которое удовлетворяет критерию, согласно которому каждый оператор в программе выполняется хотя бы один раз во время тестирования программы. Обычно это выполняется командой разработчиков.
- Статическое тестирование: Форма тестирования программного обеспечения, при которой программное обеспечение фактически не используется. В основном проверяется работоспособность кода, алгоритма или документа. Он используется разработчиком, написавшим код. Подробнее на Статическое Тестирование
- Проверка стабильности: Техника тестирования, которая пытается определить, произойдет ли сбой приложения. Обычно его проводит инженер по производительности. Подробнее на Тестирование стабильности
- Дымовое испытание: Метод тестирования, при котором проверяются все основные компоненты программной системы, чтобы убедиться в их правильной работе. Обычно дымовое тестирование проводится командой тестирования сразу после создания сборки программного обеспечения. Подробнее на Дымовые испытания
- Тестирование хранилища: Тип тестирования, при котором проверяется, что тестируемая программа хранит файлы данных в правильных каталогах и резервирует достаточно места для предотвращения неожиданного завершения работы из-за нехватки места. Обычно это выполняется командой тестирования. Подробнее на Тестирование хранилища
- Стресс-тестирование: Техника тестирования, которая оценивает систему или компонент на уровне или за пределами установленных требований. Обычно его проводит инженер по производительности. Подробнее на Стресс-тестирование
- Структурное тестирование: Метод тестирования белого ящика, который учитывает внутреннюю структуру системы или компонента и гарантирует, что каждый оператор программы выполняет предназначенную функцию. Обычно это выполняется разработчиками программного обеспечения.
- Тестирование системы: Процесс тестирования интегрированной системы аппаратного и программного обеспечения для проверки того, что система соответствует установленным требованиям. Оно проводится группами тестирования как в среде разработки, так и в целевой среде. Подробнее на Тестирование системы
- Тестирование системной интеграции: Процесс тестирования, проверяющий сосуществование программной системы с другими. Обычно это выполняется группами тестирования. Подробнее на Системное интеграционное тестирование
- Интеграционное тестирование сверху вниз: Техника тестирования, которая включает начало с вершины иерархии системы в пользовательском интерфейсе и использование заглушек для тестирования сверху вниз до тех пор, пока вся система не будет реализована. Его проводят группы тестирования.
- Тестирование потока: Вариант метода тестирования сверху вниз, при котором постепенная интеграция компонентов следует за реализацией подмножества требований. Обычно это выполняется группами тестирования. Подробнее на Тестирование потоков
- Upgrade Тестирование: Техника тестирования, которая проверяет, можно ли правильно использовать ресурсы, созданные в более старых версиях, и не подвергается ли обучение пользователя сомнению. Его выполняют группы тестирования.
- Модульное тестирование: Метод проверки и проверки программного обеспечения, при котором программист проверяет, пригодны ли для использования отдельные единицы исходного кода. Обычно его проводит команда разработчиков. Подробнее на Модульное тестирование
- Тестирование пользовательского интерфейса: Тип тестирования, которое проводится для проверки удобства использования приложения. Его выполняют группы тестирования. Подробнее на Тестирование пользовательского интерфейса
Бонус!!! Всегда полезно знать что-то еще
- Юзабилити-тестирование: Техника тестирования, которая проверяет легкость, с которой пользователь может научиться работать, подготавливать входные данные и интерпретировать выходные данные системы или компонента. Обычно это выполняется конечными пользователями. Подробнее на Тестирование юзабилити
- Объемное тестирование: Тестирование, подтверждающее, что любые значения, которые со временем могут стать большими (например, накопленные значения, журналы и файлы данных), могут быть учтены программой и не приведут к прекращению работы программы или ухудшению ее работы каким-либо образом. Обычно его проводит инженер по производительности. Подробнее на Объемное тестирование
- Тестирование уязвимостей: Тип тестирования, который касается безопасности приложения и имеет целью предотвратить проблемы, которые могут повлиять на целостность и стабильность приложения. Это может быть выполнено внутренними группами тестирования или передано на аутсорсинг специализированным компаниям. Подробнее на Тестирование уязвимостей
- Тестирование белого ящика: Методика тестирования основана на знании внутренней логики кода приложения и включает в себя такие тесты, как покрытие операторов кода, ветвей, путей, условий. Его выполняют разработчики программного обеспечения. Подробнее на Тестирование белого ящика
- Тестирование рабочего процесса: Техника сквозного тестирования на основе сценариев, которая дублирует конкретные рабочие процессы, которые, как ожидается, будут использоваться конечным пользователем. Обычно его проводят группы тестирования. Подробнее на Тестирование рабочего процесса
На этом список завершается. Надеюсь, вам понравилось это читать. Чтобы найти подходящие инструменты для этого и других типов тестирования, изучите эту коллекцию инструменты тестирования.