Содержание
- 2. Стратегии Стратегия «Черного ящика» Стратегия «Белого ящика» Но на самом деле это не стратегии и даже
- 3. Ключевой вопрос тестирования Какое подмножество всех возможных тестов имеет наивысшую вероятность обнаружения большинства ошибок? Изучение методологий
- 4. Методы тестирования Стратегия «Черного ящика» эквивалентное разбиение; анализ граничных значений; применение функциональных диаграмм; предположение об ошибке;
- 5. Рекомендации При проектировании эффективного теста программы рекомендуется использовать если не все эти методы, то, по крайней
- 6. Стратегия «Черного ящика» Как мы уже говорили при использовании стратегии «Черного ящика» полный перебор всех всевозможных
- 7. «Правильный» тест Правильно выбранный тест должен обладать следующими двумя свойствами: уменьшать, причем более чем на единицу,
- 8. Метод эквивалентного разбиения Разработка тестов методом эквивалентного разбиения осуществляется в два этапа: выделение классов эквивалентности; построение
- 9. Выделение классов эквивалентности Классы эквивалентности выделяются путем выбора каждого входного условия (обычно это предложение или фраза
- 10. Таблица
- 11. Правила Если входное условие описывает область значений (например, «целое данное может принимать значения от 1 до
- 12. Правила Если входное условие описывает множество входных значений и есть основание полагать, что каждое значение программа
- 13. Правила Если есть любое основание считать, что различные элементы класса эквивалентности трактуются программой неодинаково, то данный
- 14. Построение тестов Назначение каждому классу эквивалентности уникального номера. Проектирование новых тестов, каждый из которых покрывает как
- 15. Пример Предположим, что при разработке интерпретатора для подмножества языка Бейсик требуется протестировать синтаксическую проверку оператора DIM
- 16. Пример Символические имена могут содержать от одного до шести символов – букв или цифр, причем первой
- 17. Классы эквивалентности
- 18. Построение тестов Сперва, строим тест, покрывающий один или более правильных классов эквивалентности. Например, тест DIM A(2)
- 19. Построение тестов Перечислим неправильные классы эквивалентности и соответствующие им тесты: (3) DIM (21) DIM C(I.,10) (5)
- 20. Метод анализа граничных условий Тесты, исследующие граничные условия, приносят большую пользу, чем тесты, которые их не
- 21. Метод анализа граничных условий Достаточно трудно описать принимаемые решения при анализе граничных значений, так как это
- 22. Правила Построить тесты для границ области и тесты с неправильными входными данными для ситуаций незначительного выхода
- 23. Правила Использовать первое правило для каждого выходного условия. Например, если программа вычисляет ежемесячный расход и если
- 24. Правила Использовать второе правило для каждого выходного условия. Например, если система информационного поиска отображает на экране
- 25. Метод анализа граничных условий Существенное различие между анализом граничных значений и эквивалентным разбиением заключается в том,
- 26. Недостатки Одним из недостатков анализа граничных значений и эквивалентного разбиения является то, что они не исследуют
- 27. Предположение об ошибке Некоторые люди обладают умением «выискивать» ошибки и без привлечения какой-либо методологии тестирования. Объясняется
- 28. Предположение об ошибке Процедуру для метода предположения об ошибке описать трудно, так как он в значительной
- 29. Покрытие Логики Тестирование по принципу белого ящика характеризуется степенью, в какой тесты выполняют или покрывают логику
- 30. Покрытие Логики Покрытие логики программы реализуется несколькими методами: Покрытие операторов, Покрытие решений, Покрытие условий, Покрытие условий/решений,
- 31. Покрытие операторов Если отказаться полностью от тестирования всех путей, то можно показать, что критерием покрытия является
- 32. Покрытие операторов
- 33. Покрытие решений Более сильный критерий покрытия логики программы (и метод тестирования) известен как покрытие решений, или
- 34. Покрытие решений Так как покрытие операторов считается необходимым условием, покрытие решений, которое представляется более сильным критерием,
- 35. Покрытие решений Изложенное выше предполагает только двузначные решения или переходы и должно быть модифицировано для программ,
- 36. Покрытие решений A = 3, В = 0, Х = 3 и A = 2, В
- 37. Покрытие условий В этом случае записывают число тестов, достаточное для того, чтобы все возможные результаты каждого
- 38. Покрытие условий Программа имеет четыре условия: A > 1, B = 0, A = 2 и
- 39. Покрытие решений/условий Очевидным следствием из этой дилеммы является критерий, названный покрытием решений/условий. Он требует такого достаточного
- 40. Покрытие решений/условий Недостатком критерия покрытия решений/условий является невозможность его применения для выполнения всех результатов всех условий;
- 41. Покрытие условий
- 42. Комбинаторное покрытие условий Требуется создания такого числа тестов, чтобы все возможные комбинации результатов условия в каждом
- 43. Комбинаторное покрытие условий А > 1, B = 0. A > 1, В ≠ 0. A
- 44. Комбинаторное покрытие условий Для того чтобы протестировать эти комбинации, необязательно использовать все восемь тестов. Фактически они
- 45. Комбинаторное покрытие условий Таким образом, для программ, содержащих только одно условие на каждое решение, минимальным является
- 46. Стратегия Тестирования Если спецификация содержит комбинации входных условий, то начать рекомендуется с применения метода функциональных диаграмм.
- 47. Стратегия Тестирования Определить правильные и неправильные классы эквивалентности для входных и выходных данных и дополнить, если
- 48. Нисходящее тестирование Нисходящее тестирование начинается с верхнего, головного класса (или модуля) программы. Строгой, корректной процедуры подключения
- 49. Нисходящее тестирование
- 50. Рекомендации В принципе нет такой последовательности, которой бы отдавалось предпочтение, но рекомендуется придерживаться двух основных правил:
- 51. Восходящее тестирование Данная стратегия предполагает начало тестирования с терминальных классов (т. е. классов, не использующих методы
- 52. Восходящее тестирование Если вернуться к предыдущему примеру, то первым шагом должно быть тестирование нескольких или всех
- 53. Сравнение
- 55. Скачать презентацию