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


Types of Software TestingStaticReview of DesignReview of All DocumentsCode InspectionData VerificationFunctionalGUIAPICore LevelPerformanceLoadStressVolumeCapacitySecurityWhite Box Security TestingAuthentication / AuthorizationEnvironmental andApplication Vulnerabilities
Открыть схему в полном размере

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

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

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

  1. Точно определите, что должно делать приложение.
  2. Подготовьте подходящие тестовые данные, включая допустимые и недопустимые входные значения.
  3. Сравните выходные данные с функциональной спецификацией.
  4. Покройте обязательные сценарии и сначала проверьте наибольшие риски. Проверить все возможные сценарии удаётся редко.
  5. Запишите фактический результат для каждого входного значения и сравните его с ожидаемым.

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

  1. Модульное тестирование
  2. Интеграционное тестирование
  3. Системное тестирование
  4. Регрессионное тестирование
  5. Приёмочное тестирование

Нефункциональное тестирование

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

  1. Тестирование производительности
  2. Тестирование удобства использования
  3. Тестирование безопасности
  4. Тестирование переносимости

Тестирование удобства использования

Тестирование удобства использования проверяет, насколько просто пользоваться ПО. При таком подходе чёрного ящика задают три вопроса. Удобно ли пользоваться программой? Может ли пользователь работать с ней? Может ли он научиться ею пользоваться? Учитывайте следующие аспекты.

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

Тестирование графического интерфейса

Тестирование графического интерфейса пользователя (GUI) проверяет, правильно ли работает интерфейс и соответствует ли он установленным стандартам качества. Проверьте следующие элементы.

  • Компоновка
  • Цвета
  • Шрифты
  • Размер шрифта
  • Подписи полей
  • Функции текстовых полей
  • Форматирование текста
  • Пояснительные подписи
  • Кнопки
  • Списки
  • Значки
  • Ссылки
  • Содержимое
  • Сочетания клавиш
  • Индикатор обработки, например песочные часы, пока система выполняет работу
Тестирование GUI может быть ручным или автоматизированным, в зависимости от задач тестировщика. Иногда его проводит сторонняя организация вместо команды разработки или тестирования компании.

Тестирование вне графического интерфейса

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

Тестирование переносимости

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

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

Тестирование безопасности, аутентификации и авторизации

Тестирование безопасности выявляет уязвимости и проверяет, может ли ПО при необходимости защитить конфиденциальные данные клиента. Аутентификация и авторизация являются двумя важными областями.

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

Авторизация управляет доступом к защищённым данным, функциям и сценариям использования. Успешная аутентификация не открывает доступ ко всему. Например, вход в социальную сеть позволяет увидеть данные своего аккаунта. Чужие аккаунты остаются защищёнными.

Тестирование безопасности также охватывает конфиденциальность, целостность, доступность, неотказуемость, защиту данных, SQL-инъекции, межсайтовый скриптинг (XSS) и другие вопросы. Это отдельная область специализации.

Тестирование целостности данных и базы данных

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

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

Тестирование отказоустойчивости и переключения при отказе

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

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

Тестирование конфигурации и развёртывания

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

Тестирование развёртывания проверяет, правильно ли работает развёрнутая система. Ищите замедления и сбои, проверяйте работу в реальных условиях и убедитесь, что ПО установлено в нужную папку.

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

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

Тестирование производительности

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

Нагрузочное тестирование и сравнение производительности

Нагрузочное тестирование проверяет поведение ПО при максимальной или пиковой нагрузке. Такие инструменты, как JMeter, LoadRunner и Silk Performer, создают виртуальных пользователей и запускают сценарии, чтобы имитировать одновременный доступ. Тестировщик задаёт число виртуальных пользователей и наблюдает за поведением системы.

Стресс-тестирование

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

Testing TypeUnit TestingIntegration TestingSystem TestingAcceptance Testing
Functional TestingYesYesYesYes
Configuration TestingNoNoYesYes
User Interface TestingNoNoYesYes
Usability TestingNoNoYesYes
Installation TestingNoNoYesYes
Document TestingYesYesYesYes
Performance TestingYesYesYesYes
Security TestingNoYesYesYes
Scalability TestingNoYesYesNo
Открыть схему в полном размере

Краткий обзор видов тестирования ПО



Мы гарантируем, что с нашим бесплатным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!

  1. 01

    Запишитесь онлайн

    Выберите аккредитованную сертификацию и завершите регистрацию.

  2. 02

    Получите код доступа

    Персональный код доступа к экзамену сразу придёт на электронную почту.

  3. 03

    Подготовьтесь и сдайте экзамен

    Пройдите бесплатное обучение и ответьте онлайн на 50 вопросов с выбором ответа.

  4. 04

    Получите бессрочную сертификацию

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

Образец сертификата Accredited Software Test Manager Certification™
Записаться на сертификацию

ВАШЕ БЕСПЛАТНОЕ ПРЕМИАЛЬНОЕ ОБУЧЕНИЕ ОНЛАЙН

Второе издание Software Testing Revealed уже доступно.

Мы разработали курс вместе с группой известных руководителей компаний и команд, тренеров по тестированию ПО, наставников, экспертов и признанных специалистов из всех основных отраслей. Он доступен всем посетителям International Software Test Institute™. Материалы находятся в разделах Ваша бесплатная книга по тестированию ПО и Ваше бесплатное обучение по тестированию ПО премиум-уровня в главном меню.

Эти материалы являются интеллектуальной собственностью International Software Test Institute™ и защищены авторским правом. Мы бесплатно делимся ими со всеми, потому что наш опыт помогает специалистам по тестированию ПО и способствует развитию профессии.

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

Мы гарантируем, что с нашим бесплатным премиальным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!