Первому виду обработки соответствуют исходные данные в критических точках и на границах областей изменения переменных. При таких критических значениях может изменяться маршрут исполнения программы, вследствие чего возможно наибольшее изменение результатов. Поэтому обычно тестирование обработки данных, прежде всего, направлено на проверку исполнения программ при значениях переменных, влияющих на выбор маршрута и логику функционирования программ (стратегия выделения областей переменных). Граничные условия — это ситуации, возникающие в непосредственной близости к границам областей коренного изменения обрабатываемых переменных. Число таких критических значений каждой переменной может быть на несколько порядков меньше, чем число значений по всей внутренней части области изменений этой величины.
Большинство критических значений (предикатов) может существенно влиять на результаты и подлежит наиболее тщательному тестированию. В этой части тестирование обработки данных по содержанию близко к тестированию структуры программы (см. п. 13.4). При этом виде тестирования маршруты формируются в процессе анализа и обработки данных на последовательных операторах условий в тексте программы. Набор сочетаний исходных данных в тестах непосредственно влияет на степень охвата тестированием из полного набора участков программы. Путем сопоставления проверенных маршрутов с маршрутами, выделенными по графу программы при различных критериях, можно оценивать достигнутую полноту тестирования модуля и приблизительно степень его корректности.
Второму виду обработки соответствуют данные в ограниченной (или неограниченной) области определения, которая может делиться на некоторое множество сопрягающихся областей (подобластей). Изменение данных внутри такой области не влияет на маршрут исполнения программы. Поэтому для проверки функционирования программы из всего множества значений достаточно использовать при тестировании только несколько значений внутри и вблизи границ области. Количество величин, используемых для тестирования при обработке этого вида, может быть на несколько порядков меньше полного числа значений каждой переменной в области. В процессе тестирования проверяется точность осуществляемых вычислений, правильность масштабирования и размерности обрабатываемых величин, корректность формирования логических величин. При этом тестирование должно охватывать всю область изменения каждой обрабатываемой переменной и каждой результирующей величины.
При анализе обработки данных в пределах областей их определения методы тестирования целесообразно применять упорядоченно в следующей последовательности'.
тестирование при значениях данных, определяющих маршруты исполнения программы (стратегия областей);
тестирование корректности записи и считывания переменных при вычислениях и полноты состава выходных данных на всех маршрутах исполнения программы;
тестирование точности результатов вычислений и корректности обработки каждой переменной;
тестирование на полное соответствие спецификации требований состава, значений и точности выходных данных.
В приведенной последовательности частные методы тестирования позволяют, прежде всего, выявлять первичные ошибки, которые способны искажать результаты в наибольшей степени. При ограниченных ресурсах и такой последовательности тестирования в программе могут оставаться ошибки, наименее влияющие на корректность выходных данных. На основе таких проверок может оцениваться степень охвата тестированием всех условий, определенных в спецификации, и дополнительное тестирование следует проводить только при отдельных недостаточно проверенных входных данных.
Do'stlaringiz bilan baham: |