Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы зачета / Ответы на вопросы зачета по ТПО.docx
Скачиваний:
72
Добавлен:
29.03.2022
Размер:
1.25 Mб
Скачать
  1. Системное тестирование

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

Категории тестов системного тестирования:

  • Полнота решения функциональных задач;

  • Надежность, отказоустойчивость компонентов;

  • Корректность использования ресурсов (утечка памяти, возврат ресурсов);

  • Оценка производительности;

  • Проверка инсталляции и конфигурации (в т.ч. на разных платформах);

  • Корректность документации.

Целесообразным подходом является полная или частичная автоматизация системного тестирования.

  1. Комбинирование уровней тестирования

Рисунок 22.4

  1. Особенности индустриального тестирования

Необходимо определиться с выбором между ручным и автоматизированным тестированием. Иногда проще и быстрее выполнить ручное тестирование, но без автоматизированного чаще всего не обойтись.

Рисунок 23.5

  1. Автоматизация тестирования

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

Основные виды автоматизированного тестирования:

  • Автоматизированное тестирование кода (на уровне программных модулей, классов и библиотек);

  • Автоматизированное тестирование графического пользовательского интерфейса (генерация пользовательских событий);

  • Автоматизированное тестирование программного интерфейса ПО, предназначенного для взаимодействия с другим ПО.

  1. Издержки тестирования

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

На практике используются следующие методы тестирования и отладки, упорядоченные по связанным с их применением затратам:

  • Статические методы тестирования;

  • Модульное тестирование;

  • Интеграционное тестирование;

  • Системное тестирование;

  • Тестирование реального окружения и реального времени.

  1. Качество программного продукта

Качество ПО характеризуется набором свойств, определяющих, насколько продукт «хорош» с точки зрения заинтересованных сторон.

Заинтересованные стороны: заказчик продукта, спонсор, конечный пользователь, разработчики и тестировщики продукта…

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

Понятие качества весьма субъективно.

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

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

  1. Фазы процесса тестирования

  1. Определение целей: какие части системы будут тестироваться, какие аспекты их работы будут выбраны для проверки и т.п.

  2. Планирование: создание графика разработки тестов для каждой тестируемой подсистемы; оценка необходимых ресурсов и др.

  3. Ручное или автоматизированное тестирование. Если автоматизированное, то ручная разработка тестов или генерация тестов.

  4. Выполнение тестов — реализация тестовых циклов.

  5. Анализ результатов.

После анализа результатов возможно повторение процесса тестирования, начиная с планирования, разработки тестов или даже с уточнения и/или переопределения целей.