Достоинства и недостатки существующих решений
Мы рассмотрели 5 подходов к разработке тестов для программных интерфейсов на языке программирования Си. Достоинства и недостатки каждого из них сведены в Таблице 1.
Все рассмотренные подходы обладают определёнными достоинствами. Тем не менее, с точки зрения тестирования программных интерфейсов на соответствие требованиям стандарта все они обладают существенным недостатком, заключающемся в отсутствии поддержки прослеживаемости проверок в тестах к требованиям стандарта. Кроме того, ни один из этих инструментов не сочетает в себе все указанные выше достоинства, хотя явных противоречий между ними не существует.
При разработке набора инструментов T2C была поставлена задача обеспечить прослеживаемость требований стандарта, реализовав при этом все достоинства существующих решений, представленные в Таблице 1, за исключением иерархической организации пакетов тестов. Данное исключение связано с тем, что возможность иерархической организации пакетов не оказывает существенного влияния на разработку и эксплуатацию тестов на соответствие требованиям стандарта.
MANUAL | Check | CUnit | TET | GTKVTS | |
Параметризация тестов | – | – | – | – | + |
Прослеживаемость требований стандарта | – | – | – | – | – |
Запуск тестов в отдельном процессе | – | + | – | – | – |
Автоматическая обработка исключительных ситуаций | + | + | – | + | + |
Ограничение времени работы теста | – | + | – | + | + |
Иерархическая организация пакетов | + | – | – | – | – |
Удобство отладки тестов | + | + | + | – | – |
Переносимость тестов | – | + | + | + | – |
Использование стандартных видов вердиктов [5] | – | – | – | + | + |
Таблица 1. Сравнение существующих подходов.