Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_proektirovanie_IS.docx
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
1.25 Mб
Скачать
  1. Тестирование. Методы тестирования. Категории тестов и оценок системы. Планирование тестирования и оценки системы.

Тести́рование програ́ммного обеспе́чения — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

С точки зрения ISO 9126, качество программного обеспечения можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:

  • Надёжность

  • Сопровождаемость

  • Практичность

  • Эффективность

  • Мобильность

  • Функциональность

Тестирование программного обеспечения

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

По объекту тестирования:

  • Функциональное тестирование (functional testing)

  • Тестирование производительности (performance testing)

    • Нагрузочное тестирование (load testing)

    • Стресс-тестирование (stress testing)

    • Тестирование стабильности (stability / endurance / soak testing)

  • Юзабилити-тестирование (usability testing)

  • Тестирование интерфейса пользователя (UI testing)

  • Тестирование безопасности (security testing)

  • Тестирование локализации (localization testing)

  • Тестирование совместимости (compatibility testing)

По знанию системы:

  • Тестирование чёрного ящика (black box)

  • Тестирование белого ящика (white box)

  • Тестирование серого ящика (grey box)

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

  • Ручное тестирование (manual testing)

  • Автоматизированное тестирование (automated testing)

  • Полуавтоматизированное тестирование (semiautomated testing)

По степени изолированности компонентов:

  • Компонентное (модульное) тестирование (component/unit testing)

  • Интеграционное тестирование (integration testing)

  • Системное тестирование (system/end-to-end testing)

По времени проведения тестирования:

  • Альфа-тестирование (alpha testing)

    • Тестирование при приёмке (smoke testing)

    • Тестирование новой функциональности (new feature testing)

    • Регрессионное тестирование (regression testing)

    • Тестирование при сдаче (acceptance testing)

  • Бета-тестирование (beta testing)

По признаку позитивности сценариев:

  • Позитивное тестирование (positive testing)

  • Негативное тестирование (negative testing)

По степени подготовленности к тестированию:

  • Тестирование по документации (formal testing)

  • Тестирование ad hoc или интуитивное тестирование (ad hoc testing)

Уровни тестирования

  • Модульное тестирование (юнит-тестирование) — тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция. Часто модульное тестирование осуществляется разработчиками ПО.

  • Интеграционное тестирование — тестируются интерфейсы между компонентами, подсистемами или системами. При наличии резерва времени на данной стадии тестирование ведётся итерационно, с постепенным подключением последующих подсистем.

  • Системное тестирование — тестируется интегрированная система на её соответствие требованиям.

    • Альфа-тестирование — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования. Иногда альфа-тестирование выполняется под отладчиком или с использованием окружения, которое помогает быстро выявлять найденные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, подобном тому, в котором будет использоваться ПО.

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

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

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

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

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

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

  • Интеграционное тестирование – это совместное выполнение двух или более классов, пакетов, компонентов или подсистем, созданных несколькими программистами или группами.

  • Регрессивным тестированием называют повторное выполнение тестов, направленное на обнаружение дефектов в программе, уже прошедшей этот набор тестов.

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

План тестирования должен быть неотъемлемой частью начальных планов проекта. Опережающее планирование помогает организации начать тестирование вовремя и оставаться в рамках плана и бюджета

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]