- •1. Роль и место тестирования в жизненном цикле разработки по.
- •Проектирование
- •Тестирование
- •2. Тестирование методами “черного, белого и серого ящика”
- •3. Понятие «качество программного продукта». Экономические и психологические аспекты тестирования.
- •4. Основные составляющие «быстрого тестирования».
- •5. Каскадная, V-образная и спиралевидная модели разработки по.
- •6. Процесс разработки требований. Свойства и категории требований.
- •8. Модульное тестирование и его методы
- •9. Структурное тестирование.
- •If_then case
- •10. Интеграционное тестирование.
- •Заключается в том, что тестирование начинается с головного модуля (a). Тогда возникает проблема передачи данных в головной модуль. Решение проблемы:
- •11. Особенности объектно-ориентированного тестирования.
- •12. Тестирование классов.
- •13. Автоматизация модульного тестирования.
- •14. Тестовые случаи и их свойства. Процесс разработки тестовых случаев.
- •15. Сходства и различия тестовых случаев для приемочного, критического и углубленного тестов.
- •16. Эквивалентирование и анализ граничных значений.
- •17. Тестовый план. Тестовая стратегия.
- •18. Статическое тестирование, его виды.
- •19. Процесс динамического тестирования.
- •20. Ошибка. Свойства ошибки.
- •21. Правила составления отчета об ошибках.
- •22. Жизненный цикл ошибки. Системы документирования ошибок.
- •23. Специфика и ограничения тестирования Web-приложений.
- •24. Приемочный тест. Критерии непрохождения приемочного теста.
- •25. Критическое тестирование. Углубленное тестирование.
- •26. Использование контрольных перечней в углубленном тестировании.
- •27. Теория модели cmm
- •28. Автоматизированное тестирование, его этапы, преимущества и недостатки.
- •Достоинства автоматизированного тестирования.
- •Необоснованные ожидания от авто-го тестирования.
- •29. Метод функциональной декомпозиции
- •30. Методы Data-driven, Keyword-driven.
15. Сходства и различия тестовых случаев для приемочного, критического и углубленного тестов.
Смотри 14.
Как правило, весь функционал не тестируется сразу, а разбивается на этапы:
приемочный тест (smoke test) – проверка основного функционала программного продукта. Цель – определить пригодна ли данная версия для дальнейшего тестирования.
Критический тест (critical passtest ) – проверка всей функциональности программы при стандартных (правильных) вариантах работы
Углубленный тест – это проверка работы программы при нестандартных вариантах работы.
Критическое тестирование - основной вид тестирования, при котором проверяется типичная работа программы (при правильной последовательности действий и т.д.). Этот вид проводится всегда над каждой версией пп по заранее подготовленным тестовым сценариям.
Каждый отработанный случай помечается, как пройден/не пройден. Если «не пройден», то тестер оформляет отчет на найденную ошибку.
Если в процессе тестирования обнаружена ошибка не предусмотренная тестовым сценарием, то тестер добавляет новый тестовый случай и сост отчет об ошибке. Такой подход позволяет не потерять возм-ю ошибки в следующей версии пп.
Углубленное тестирование - проверяет работу проги в непредвиденных, нестандартных случаях, например при неккоректном вводе значений. Проводиться не всегда, а в основном ближе к окончанию работы. Связано с экономией времени.
Углубленное тестирование проводиться на основе заранее разработанных тестовых сценариев, а также с использованием контрольных перечней – check list’ов. Как правило, контрольные перечни создаются для стандартных компонентов (поле даты, текстовые поля и тд).
В некоторой степени контроль переменных является упрощенным тестовым сценарием.
16. Эквивалентирование и анализ граничных значений.
Область входных данных программы или модуля можно разбить на конечное число классов эквивалентности. Как минимум существует два класса эквивалентности: допустимые и запрещенные значения.
Разбиение эквивалентности – полезный метод, который может повысить результативность тестирования. Суть – многие состояния ввода очень похожи друг на друга, но отличаются только в нескольких аспектах. Если 1 такой ввод выполняется довольно хорошо, то существует высокая вероятность, что б. успешно выполняться другой ввод.
Можно также выполнить группировку или разбиение эквивалентности пространства ввода. Для этого нужно выбрать т. одно состояние ввода из каждой группы с вероятностью, равной общей вероятности возникновения всех состояний в данной группе.
Ускоряется процесс тестирования, т.к. не выполняются те состояния ввода, которые могут привести к новым сбоям.
Памятка для простого разбиения классов эквивалентности:
Пространство входных данных |
Действительные значения |
Недействительные значения |
восходящая область: (2,3,4,6) |
min-2 max-6, среднее 3или4 |
min-0 max-10 |
Перебор значений (2,4,12,17,19) |
min-2 max-19, номинальное 17или19 |
min-0 max-20 и 8 |
Несколько подмножеств значений: (2,3,4,5) (b,c,d,e) (73,106) |
|
min-(0,А) max-(17,q), а также значение, не принадлежащее интервалу (100) |
Содержит обязательное значение: первый символ д.б. Z или X |
ZOOM |
ROOM |
Граничные значения определяются как min и max значения каждого класса эквивалентности. Т.о. для критического теста проверяются все граничные значения верных классов эквивалентности, а также их серединные значения. Для углубленного теста характерна та же ситуация: проверка на границах неверных значений, на серединных, на пустых полях, на символах и спецсимволах.
Под граничными условиями понимается ситуация, возникшая непосредственно на границе входного или вых. условия, определенного спецификацией, т. е. выше или ниже его.
Если классы верных и неверных зн-ний имеют общую границу (0), тогда надо проверять граничное зн-ние справа и граничное зн-ние слева. Т.е. для класса верных зн-ний: 1 и 264; для неверных – 0 и -264.
Памятка:
1. постр-ть тесты для границ области допустимых значений исход. данных и тесты с недопустимыми знач-ми на границе.
([1,100] провер. 1, 100, 0, 101, 0.99, 100.1)
2. тоже для дискретных значений;
3. для кажд. выходного условия;
4. для кажд. выходного условия