Вопрос № 180377: Добрый день уважаемые эксперты! Помогите срочно сделать тестирование белым ящиком для любой программы с условиями и циклом. Завтра получу
Вопрос № 180377:
Добрый день уважаемые эксперты! Помогите срочно сделать тестирование белым ящиком для любой программы с условиями и циклом. Завтра получу "2", если не сдам( Заранее огромное спасибо.
1 Цель работы Усвоение студентами методов тестирования логики программы, формализованного описания результатов тестирования и стандартов по составлению схем программ.
2 Краткие теоретические сведения
Тестирование программного обеспечения охватывает целый ряд видов деятельности, аналогичных последовательности процессов разработки программного обеспечения. В него входят /1/: а) постановка задачи для теста, б) проектирование теста, в) написание
тестов, г) тестирование тестов, д) выполнение тестов, е) изучение результатов тестирования. Решающую роль играет проектирование тестов. Возможны разные подходы к проектированию тестов. Первый состоит в том, что тесты проектируются на основе внешних спецификаций программ и модулей, либо спецификаций сопряжения программы или модуля. Программа при этом рассматривается как черный ящик (стратегия ‘черного ящика’). Существо такого подхода - проверить соответс
твует ли программа внешним спецификациям. При этом логика модуля совершенно не принимается во внимание. Второй подход основан на анализе логики программы (стратегия ‘белого ящика’). Существо подхода - в проверке каждого пути, каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается.
2.1 Методы стратегии ‘белого ящика’
Тестирование по принципу белого ящика характеризуется степенью, какой тесты выполняют или покрывают логику (исходный текст программы).
2.1.1 Метод
покрытия операторов
Целью этого метода тестирования является выполнение каждого оператора программы хотя бы один раз.
2.2 Метод покрытия решений (покрытия переходов)
Более сильный метод тестирования известен как покрытие решений (покрытие переходов). Согласно данному методу каждое направление перехода должно быть реализовано по крайней мере один раз. Покрытие решений обычно удовлетворяет критерию покрытия операторов. Поскольку каждый опера
тор лежит на некотором пути, исходящем либо из оператора перехода, либо из точки входа программы, при выполнении каждого направления перехода каждый оператор должен быть выполнен.
2.3 Метод покрытия условий
Лучшие результаты по сравнению с предыдущими может дать метод покрытия условий. В этом случае записывается число тестов, достаточное для того, чтобы все возможные результаты каждого условия в решении выполнялись по крайней мере один раз.
Пусть есть функция, который в двузначном числе
меняет цифры местами, а остальные числа оставляет без изменения. Попробуем ее протестировать.
program p180377; var i, j, n: integer; begin write('n='); readln(n); for i:=1 to n do write('x='); readln(x); if x>9 and x<100 then f:=(x mod 10)*10+x div 10 ; write(f); end; end.
Функция состоит из трех частей - входящие данные, действия, выполняемые над ними и результат. Един
ственное, чем мы можем управлять в полной мере - это входящие данные, а результат служит индикатором. Тогда остается выбрать несколько подходящих наборов данных и следить за индикатором. Самое сложное - это понять, какой минимум параметров нужно передать, что бы найти максимум ошибок в коде (тестирование - это выявление ошибок, а не доказательство того, что функция работает).
Первый if, в приведенной выше функции, проверяет lва условия - число больше 9 и число меньше 100. Все условия объединены операторами
&&, поэтому достаточно невыполнения одного из них, что бы не выполнился код, следующий за if. Но неплохо бы знать, все ли условия вычисляются правильно. Поэтому нужно передать функции значения, которые будут true и значения, которые будут false для каждого из условий.
Больше ответвлений в программе не наблюдается, поэтому можно подводить итог. Для тестирования функции triangle_type, нужно передать ей 3 набора входящих параметров. 1) x=34 (1 и 2 условия вы
полняются) 2) x=2 (1 условие не выполняется, 2 условие выполняется) 3) x=120 (1 условие ыполняется, 2 условие не выполняется) 4-й
случай невозможен, так как если x<9, x>100 исключено.
----- Я ни от чего, ни от кого не завишу.
Ответ отправил: Гаряка Асмик (Профессионал)
Ответ отправлен: 20.10.2010, 23:58
Номер ответа: 263573
Оценка ответа: 5
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 263573
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.