Please enable JavaScript.
Coggle requires JavaScript to display documents.
Тестирование объектно-ориентированных программных систем - Coggle Diagram
Тестирование объектно-ориентированных программных систем
Объектно-ориентированное
тестирование.
Особенности тестирования
расширение области применения
тестирования;
Разработка объектно-ориентированного ПО начинается с создания визуальных моделей, отражающих статические и динамические характеристики будущей системы. Критерии тестирования моделей: правильность, полнота, согласованность.
Основной элемент этой
модели — CRC-карта.
CRC-карт рекомендуются
следующие шаги
Проход по каждому соединению CRC-карты. Проверяется корректность запросов, выполняемых.
Определяется, требуются ли другие классы, или правильно ли распределены обязанности по классам.
Исследуются обязанности CRC-карты. Цель — определить, предусмотрена ли в карте сотрудника обязанность, которая делегируется ему из данной карты.
Определяется, нужно ли объединять часто запрашиваемые обязанности.
Перекрестный просмотр CRC-карты и диаграммы сотрудничества объектов. Цель — проверить наличие сотрудников, согласованность информации в обеих моделях.
изменение методики
тестирования;
Объектно-ориентированное
тестирование правильности
При проверке правильности исчезают подробности отношений классов. Подтверждение правильности объектно-ориентированного ПО ориентировано на видимые действия пользователя и распознаваемые пользователем выводы из системы.
Тестирование объектно-
ориентированной интеграции
Здесь неприменимы методики как восходящей, так и нисходящей интеграции.
Тестирование, основанное на потоках. Объектом интеграции является набор классов, обслуживающий единичный ввод данных в систему, средства обслуживания каждого потока интегрируются и тестируются отдельно.
учет особенностей объектно-ориентированного ПО при проектировании тестовых вариантов.
ожидаемые результаты для операции Родительского
класса отличаются от ожидаемых результатов для операции Дочернего
класса.
входные данные тестов подходят к операциям обоих классов;
тесты для операции Родительский
класс::переопределена() частично применимы к операции Дочерний
класс::переопределена();
Объектно-ориентированные тестовые варианты проверяют состояния классов.
Способы тестирования
взаимодействия классов
стохастическое тестирование;
Для создания тестов используют списки операций каждого класса-клиента. Операции будут посылать сообщения в классы-серверы.
Для каждого созданного сообщения определяется класс-сотрудник и соответствующая операция в классе-сервере.
Для каждой операции в классе-сервере, которая вызывается сообщением из класса-клиента, определяются сообщения, которые она, в свою очередь, посылает.
Для каждого из сообщений определяется следующий уровень вызываемых операций; они вставляются в тестовую последовательность.
тестирование разбиений;
В основу метода тестирования разбиений положен тот же подход, который применялся к отдельному классу. Отличие в том, что тестовая последовательность расширяется для включения тех операций, которые вызываются с помощью сообщений для сотрудничающих классов.
тестирование на основе состояний
В качестве источника исходной информации используют диаграммы схем состояний, фиксирующие динамику поведения класса. Данный способ позволяет получить набор тестов, проверяющих поведение класса и тех классов, которые сотрудничают с ним.
Предваряющее тестирование при экстремальной разработке
Предваряющее тестирование и рефакторинг (реорганизация) — основной способ разработки при экстремальном программировании.
Обычно рефакторингом называют внесение в код небольших изменений, сохраняющих функциональность и улучшающих структуру программы.
Предваряющее (test-first) тестирование и рефакторинг — это способ создания и последующего улучшения ПО, при котором сначала пишутся тесты, а затем программируется код, который будет подвергаться этим тестам.