- •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.
13. Автоматизация модульного тестирования.
Оболочки тестирования (frameworks) – программные средства для разработки unit-тестов. Они включают в себя построение тестов, их выполнение, вывод результатов их прохождения. Они м.б. использованы не только как программные тестирования, но и как программные средства разработки. Эти оболочки могут использоваться на любой стадии разработки, включая разработку программной архитектуры, дизайна, реализацию кода, отладку, оптимизацию производительности и обеспечение качества.
Семейство XUnit состоит из следующих реализация:
JUnit – для тестирования java-кода,
CppUnit – для тестирования С++ кода,
NUnit – для тестирования .NET-приложений и тд
Для получения результатов тестирования с использованием семейства XUnit необходимо иметь:
Test Case
Test Suite = Test Result
Test Runner
– класс, наследуемый от базового XUnitTestCase – класса. TestCase состоит из одного или нескольких тестов, описанных в методах этого класса. Обычно TestCase содержит в себе методы для тестирования одной функциональной направленности.
– группа тестов, предназначенная для сборки родственных тестов. По умолчанию создается TestSuite, включающий все имеющиеся тесты.
- тестовый исполнитель, объект для запуска тестовых наборов (TestSuite). XUnit предоставляет несколько тестовых исполнителей, которые наследуются от интерфейса BaseTestRunner.
Преимущества и недостатки XUnit:
Преим-ва:
реализация XUnit – надстройки над языком. Физически это – набор библиотек классов. Поэтому для написания и прогонки тестов необходимо иметь эти наборы библиотек.
могут использоваться на различных платформах
высокая скорость работы скриптов, т.к. отсутствует посредник – веб-браузер.
Реализация XUnit при тестировании веб-приложений позволяет обойти браузер и получить доступ к сайту напрямую. Происходит эмуляция поведения браузера, включая заполнение форм, работу с элементами на странице, работа с cookies. Т.о. происходит тестирование методом «серого ящика» - напрямую с сервером без участия браузера.
тестируется чистое приложение без учета работы браузера
XUnit’s являются свободно распространяемыми продуктами.
Недостатки:
В их возможности не входит работа с flash and ActiveX
Процесс прогонки автоматизированных тестов невизуальный, что затрудняет понимание причин непрохождения тестов и замедляет процесс выявления ошибок.
Нет возможности записи действий пользователя над тестируемым приложением с целью их последующего воспроизведения для регрессионного теста. Т.о. тестовые случаи разрабатываются исключительно вручную
При таком тестировании не осуществляется проверка на правильное отображение страниц, проверка дизайна.
14. Тестовые случаи и их свойства. Процесс разработки тестовых случаев.
Тестовые сценарии (случаи, TestCase) – документ, в котором описывается алгоритмы проверки каждой функциональности программы. Также – совокупность тестовых случаев.
Тестовый случай – алгоритм проверки некоторой функциональности программы.
уник. ID
д. им. ссылку на треб-е, кот. он б. проверять
д. им. название модуля или экрана, в кот. б. происходить тест-е
д. им. шаги воспроизведения
ожидаемые рез-ты
Наиб. Удобным вар-ом написания тест-х сценариев является табличный.
№ |
№ треб. |
Название модуля |
Название подмодуля |
Описание Т Случай |
Ожидаемые результаты |
Пройден ли тест |
Коммента рии |
1 |
R1 |
Пароль |
Пароль |
1 ввести имя пользователя 2 в пароль 3 [Далее] |
1 с-ма позволит ввести имя … |
|
|
2 |
R2 |
Работа с товаром |
Создание |
… |
|
|
|
Этапы разработки тестовых случаев:
ознакомление с требованиями и тестовым планом
проектирование тестовых случаев
разработка тестовых случаев
тестирование тестовых случаев.
Свойства тестовых случаев:
Тест-й случай д. обладать высокой степенью вер-сти обнаруж-я бага: нельзя делать предполож-я, что тот или иной функционал работает исправно. Проверять следует весь функционал.
Тест-й случай д.б. воспроизводимым: т.е. д.б. определено нач. сост-е сис-мы, конфигурация аппаратных ср-в, кол-во польз-лей сис-мы и др.
Тест-й случай д. обладать четко опред-ными ожидаемыми рез-тами и критериями успешного или неудачного вып-я теста: Обычно ожид. рез-ты и критерии испыт-й тесно связаны. Если ожид-й рез-т получен – тест пройден. Иначе – тест не пройден.
Тест-й сценарий не д.б. избыточным: Оптимальный рабочий график тестир-я требует, чтобы тестер выполнял объем тестир-я, дост-ный для обнаружения всех багов. Н:о тестер не д. тратить время на провед-е избыточных тестов. Этот вопрос тесно связан с разбиением на классы эквивалентности и анализом граничных значений.