Технология Azov автоматизации массового создания тестов работоспособности


Использование предложенной технологии на практике - часть 2


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


Количество

Исходные типы

Максимальное количество использований специализированного типа

513

bool (специализированный тип — тип параметров, принимающих значение true)

Количество специализированных типов, использованных

400 и более раз

3

bool, int

200-399 раз

5

bool, int, char*, QWidget*

100-199 раз

16

10-99 раз

225

2-9 раз

556

Общее количество специализированных типов

1665

Количество использований специализированных типов как типов параметров или объектов вызова

11503

Количество использований всех типов как типов параметров или объектов вызова

22757

Таблица 1. Показатели использования специализированных типов.

В результате были получены тесты для 10803 функций и методов из 10873. 70 методов (0.6%) не было протестировано по одной из следующих причин.

  • Методы класса QSessionManager не могут быть вызваны обычным образом, поскольку библиотека Qt 3 не позволяет как-либо создать объект этого класса. Такой объект может использоваться только в рамках переопределяемого метода финализации приложения, который вызывается средой Qt3 автоматически в конце работы приложения.

  • Некоторые конструкторы и деструкторы, предназначенные для вызовов только для объектов самого этого класса, а не его наследников, определены для абстрактных классов. Выполнить вызов такого конструктора или деструктора средствами языка C++ не удается.

  • Несколько методов классов Qt 3 попали в стандарт LSB, хотя не предназначены для использования извне библиотеки.

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

При выполнении полученных тестов на одной из реализаций Qt 3 было выявлено около 10 различных ошибок в самой реализации библиотеки, несмотря на то, что все тесты представляют собой простейшие сценарии работы с методами ее классов.

Достаточно успешное применение технологии Azov в описанном проекте показывает, что она вполне годится для быстрого создания тестов работоспособности больших промышленных программных систем.




Начало  Назад  Вперед