- •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.
6. Процесс разработки требований. Свойства и категории требований.
Требование (requirement) – описание того, что способна вып-ить с-ма, а также усл-я, необх-е для ее работы. Треб-я опред-ют то,что д. вып-ить с-ма, а не то, как этого добиться.
Процесс разработки требований состоит из след. этапов:
Опрос заказчика для выявл-я требов-й, к-рые он предъявляет к ПО.
Подготовка документа, содержащего определения требований.
Подготовка спецификаций требований. Спецификация – документ, который описывает требования на специальном языке (для программистов).
Подготовка матрицы прослеживаемости требований. Матрица – таблица, которая ставит в соответствие каждому требованию - компоненты кода – компоненты модулей – компоненты тестов.
Тестирование требований.
Опрос зак-ка производится в виде вопросов и ответов. Исп-ются слайды, макеты, чертежи, аналогичные проекты. Обмен инфы настолько важен, что затрачиваются значительные усилия и ср-ва на это. Присутствие специалиста по тестир-ю во время интервью позволяет узнать, как зак-к намерен исп-ть этот продукт, для того чтобы провести нужное реальное тест-ние. Для этого исп-ется: 1) метод JAD (join application development) совместная разработка приложений; 2) метод JAR (join application requirement) совместная разработка требований.
В рез-те проведения интервью с зак-ком надо извлечь соглашение относит-но приоритетов треб-й, т.е. каждое треб-е д.б. отнесено к одной из след. категорий:
наиболее важное требование;
требования, вып-ние к-рых желательно;
требования, вып-ние к-рых желательно, но не обязательно.
Тестирование требований завершает процесс разработки требований и проводится методом статического тест-ния. Существует 6 базовых критериев, к-рым должны удовлетворять требования.
Полнота. Набор треб-й счит-ся полным, если все его составные части представлены, и каждая часть выполнена в полном объеме. Треб-я не д. сод-ть выражений типа: и т.д., и прочее, подлежит дальнейшему определению, а также треб-я не д. ссылаться на несущ-вующие доки.
Однозначность. Треб-е д. содержать единственное толкование, а также д.б. удобочитаемым.
Непротиворечивость. Треб-я не д. противоречить друг другу.
Прослеживаемость. Каждое треб-е д.и. уник. идентификатор.
Осуществимость. Каждое треб-е д. ставить реально выполнимые задачи, как с функциональной точки зрения, так и с точки зрения времени и затрат ср-в на разработку.
Контролепригодность. Треб-я д.б.измеряемыми в приемлемых усл.
Свойства требований
Каждое требование должно иметь уникальный ID;
Требование д.б. представлены с точки зрения пользовательской системы и не затрагивать внутренние свойства системы;
Требования д. включать, как функциональные, так и нефункциональные требования. Функциональные – услуги и функции, предоставляемые продуктом. Нефункциональные – описывают ограничения, накладываемые на работу системы и стандарты, которым должна соответствовать программа.
Категории требований.
Функциональное средство – набор требований, кот определяет, какие функции д. выполнять данный ПП на системном или пользовательском уровне.
Интерфейсы – категория требований описывает входы, получаемые из внешней среды, и выходы, направленные на внешнюю систему. Также указывается, накладываются ли на эти интерфейсы какие-то ограничения, связанные с форматами данных и носителями информации.
Данные – описывают входные и выходные данные системы. Какой при этом используется формат, какие данные н. сохранить, какой объем данных поступит из системы, с какой точностью должны выполняться вычисления.
Производительность – проблемы масштабирования и синхронизации (например, ск-ко пользователей одновременно д. обслуживать система).
Польз-ли и чел-ий фактор – описаны треб-я к тем, кто будет раб-ть с прогой, их квалиф-я, опыт, ур-нь удобства и простоты испыт-я.(ск-ко отдел. действий треб-ся для вып-я опер-ии в системе).
Физическая среда – где должна функционировать система (температура, влажность).
Безопасность – как осуществляется доступ к системе, к ее данным, где они сохраняются и как часто дублируются.
Документация – в каком виде д.б. документация (печатном или электронном) и для кого она предназначена.
Устранение неисправностей – как система д. реагировать на возникновение сбоя (аварийный сигнал, сообщений) время простоя до зависания.
Сопровождение и план поставки версий – как и кем производится поставка новых версий.
Спецификация требований.
Требования – описание того, что способна выполнить программа. Требование определяет то "что" должна выполнить прога, а не то "как" она должна это выполнить. Спецификация требований содержит то же самое, что и документ определения требований, но содержит уточнения: диапазоны значений, формулы.
Спецификация – документ, который описывает требования на специальном языке (понятном для программистов).
7. Хронологический порядок тестирования.
Хронология тестирования:
Создаются и тестируются отдельные элементы проги – 1-ая часть модульного тестирования (м-д белого ящика)
Эти эл-ты объединяются в одно целое, как подсистемы и тестируются (м-д черного ящика)
подсистемы объединяются в систему и тестируются (интеграционное тестирование)
Полученная сис-ма помещается в реальное окружение пользователя и подвергаются тестированию (функциональное тестирование).
Эти системные тесты сохраняются для повторного выполнения в случае внесения изменений (регресионное тестирование)
Модульное тестирование (пункт 1) – тестированию подвергается внутренние рабочие части программы, элементы или модули, независимо от способа их вызова.
Этапы модульного тестирования.
Планирование модульного тестирования;
Разработка тестов;
Формирование отладочных заданий;
Процесс тестирования;
Обработка результатов тестирования;