Соотношение домена и диапазона
![]() | Тон или стиль этой статьи могут не отражать энциклопедический тон , используемый в Википедии . ( Май 2016 г. ) |
Отношение домена к диапазону (DRR) — это соотношение, которое описывает, как количество выходов соответствует количеству входов данной логической функции или программного компонента . Отношение домена к диапазону — это математическое соотношение мощности между набором возможных входных данных функции ( домен ) и набором возможных выходных данных ( диапазон ). [1] [2] Для функции, определенной в домене, и диапазон, отношение домена к диапазону определяется как: Его можно использовать для измерения риска пропуска потенциальных ошибок при тестировании только диапазона выходных данных. [3]
Пример
[ редактировать ]Рассмотрим функцию isEven()
ниже, который проверяет четность беззнакового короткого номера , любое значение между и и возвращает логическое значение, которое соответствует тому, четное или нечетное. В этом решении используется тот факт, что целочисленное деление в программировании обычно округляется в сторону нуля.
bool isEven(unsigned short x) {
return (x / 2) == ((x + 3)/2 - 1);
}
Потому что может быть любое значение от к , область определения функции имеет мощность . Функция дает , если четно, или , если странно. Это выражается как диапазон , мощность которого равна . Следовательно, отношение домена к диапазону isEven()
дается: Здесь отношение домена к диапазону указывает на то, что для этой функции потребуется сравнительно большое количество тестов для поиска ошибок. Если тестовая программа пытается использовать все возможные значения в порядке от к , программа должна будет выполнить тесты для каждого из двух возможных выходных данных с целью обнаружения ошибок или крайних случаев . Поскольку ошибки в функциях с высоким отношением домена к диапазону трудно выявить с помощью ручного тестирования или методов, которые уменьшают количество проверяемых входных данных, таких как тестирование ортогональных массивов или тестирование всех пар, более сложные в вычислительном отношении можно использовать методы, такие как как фаззинг или статический анализ программы , для поиска ошибок.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Воас, Дж. М.; Миллер, К.В. (март 1993 г.). «Семантические метрики тестируемости программного обеспечения». Журнал систем и программного обеспечения . 20 (3): 207–216. дои : 10.1016/0164-1212(93)90064-5 .
- ^ Вудворд, Мартин Р.; Аль-Ханджари, Зухур А. (5 сентября 2000 г.). Тестируемость, размер ошибки и соотношение домена к диапазону: вечный треугольник . Компания ACM SIGSOFT. стр. 168–172. дои : 10.1145/347324.349016 . ISBN 978-1-58113-266-3 . S2CID 17772461 .
- ^ Тарлиндер, Александр. Тестирование разработчиков: обеспечение качества программного обеспечения . ISBN 0-13-429106-9 . OCLC 992888632 .