КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Заглушки
Часто возникает необходимость тестировать модули использующее процедуры других модулей, которые могут влиять на результат тестирования или значительно усложнять его получение. Допустим, имеется функция climatControl, которая обрабатывает информацию с датчика температуры и управляет нагревателем. Значение температуры она получает при помощи функции getTemperature, которая в свою очередь опрашивает температурный датчик. Пусть имеется следующее требование "Если температура становится ниже 23C, то функция clmatControl должна включить нагреватель". Для тестирования этого требования, необходимо передать функции некое значение температуры, меньшее 23, допустим 20. Но эта величина не является входным значением функции climatControl, она задается возвращаемым значением функции getTemperature. Один из путей -это "заставить" функцию getTemperature возвратить нужное значение, например, подключив реальный датчик температуры и охладив его до 20С. Но при этом нет гарантии, что сама функция getTemperature работает правильно. А что если она возвращает значение температуры в фаренгейтах (20С равно 68F, т.е. функция вернет 68 вместо ожидаемых 20). Это приведет к тому, что функция climatControl не включит нагреватель, даже если не содержит в себе ошибок. В таких ситуациях реальная функция getTemperature заменяется новой функцией, которая разрабатывается специально для конкретного (конкретных) тестового примера, и выполняет только то, что необходимо для теста, возвращая нужное значение. Т.е. в данном примере функция getTemperature заменяется на функцию, которая не будет опрашивать датчик, а сразу вернет значение 20. Функции или программы, которыми заменяются используемые при тестировании SUT функции и программы называют заглушками. Стоит отметить, что если SUT использует какие-либо функции, которые не заменяются заглушками в ходе тестирования, то такие функции так же должны быть предварительно протестированы. Это приводит к так намазываемому «восходящему» тестированию. Что, в свою очередь, предполагает такую же последовательность реализации модулей системы. Чаще как раз подобные getTemperature процедуры реализуются в последний момент, так как зависят от периферийного оборудования, которое не изготавливается, а закупается или характеристики которого специально подгоняются под условия эксплуатации системы. В этих случаях написание моделей (заглушек) программ неизбежно.
Дата добавления: 2014-12-26; Просмотров: 450; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |