1 Документирование как основа тестирования. 2 Проблемы терминологии В современной IT-промышленности терминология, касающаяся QA и тестирования, весьма.

Презентация:



Advertisements
Похожие презентации
Документирование ПО Совокупные затраты на документирование крупных программных продуктов могут достигать 20 – 30% от общей трудоемкости проекта.
Advertisements

Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Жизненный цикл программного обеспечения Лекция 4.
Ранжирование функциональных требований. Критерии ранжирования функциональных требований широта сферы применения; степень детализации; функциональный.
SOFTWARE DEVELOPMENT PODGOTOVIL TVOU ZHOPY K SDACHE.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 8. Управление качеством.
Лекция 1 Учебные вопросы : Вопрос 1. История возникновения и понятие CASE- технологии. Вопрос 2. Особенности внедрения CASE- технологии. Вопрос 3. Основные.
ГОСТЕХКОМИССИЯ РОССИИ РУКОВОДЯЩИЙ ДОКУМЕНТ Защита от несанкционированного доступа к информации.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
8. Федеральные критерии безопасности информационных технологий.
Сергей Сыроежкин Бизнес-аналитик, консультант В рамках курса лекций: «Разработка требований к программному обеспечению», мехмат, БГУ Спецификация.
Разработка программного обеспечения (Software Engineering) Часть 1. Введение.
Введение в тестирование. 1. Команда тестирования Тестер; Разработчик тестов; Разработчик автоматизированных тестов.
ОСНОВЫ ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММ. Разработка программ - промышленное производство необходима технология разработки программ. Д. Кнут «Искусство программирования.
Анализ проекта [Проект] [Докладчик]. Исполнение и цели Цель: укажите исходные цели или цели проекта –Перечислите критерии оценки успешного выполнения.
Виды и методы тестирования на разных стадиях разработки ПО.
Проект п-Ф-192 Научно-исследовательская работа «РАЗРАБОТКА СТРУКТУРЫ И МЕТОДИКИ ФОРМИРОВАНИЯ ЕДИНОГО ФЕДЕРАЛЬНОГО БАНКА ИЗМЕРИТЕЛЬНЫХ МАТЕРИАЛОВ.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
2 Основным понятием программной инженерии является понятие жизненного цикла ПО. Жизненный цикл ПО (software lifecycle) – это период времени, который начинается.
Транксрипт:

1 Документирование как основа тестирования

2 Проблемы терминологии В современной IT-промышленности терминология, касающаяся QA и тестирования, весьма запутана пример: термины тест, тестовая процедура и тестовый пример часто путают, используют в разных контекстах по- разному или попеременно Особенно плохо дело обстоит с русскоязычной терминологией

3 Определение теста – IEEE ТЕСТ – набор, состоящий из одного или нескольких тестовых примеров и процедур ТЕСТОВАЯ ПРОЦЕДУРА – перечень большого числа этапов со своими входными данными, каждый из которых имеет свои промежуточные ожидаемые результаты ТЕСТОВЫЙ ПРИМЕР – комбинация специфических входных данных и ожидаемых результатов

4 Другое определение теста В настоящее время широко используется термин test case (тестовый пример) в качестве синонима слова тест Тестовый пример (test case) – это совокупность Конфигурации системы Входных данных Начальных условий Алгоритма действий (сценарий). Может содержать ветвления (условия, переходы), однако лучше, чтобы он был линейным и как можно более коротким Ожидаемых результатов (и конечного состояния, которое может отличаться от начального состояния/условий)

5 Типичный набор документов (IEEE Std ) Функциональная спецификация (Functional specification, FS) Спецификация программных требований (Software requirement specification, SRS) Traceability matrix (матрица прослеживаемости) Тест-план (Test plan, test strategy - TP) Тестовая спецификация (Test specification, TS)

6 «Классический» проект: разработка и кодирование

7 «Классический» проект: тестирование

8 Пример Functional Specification

9 Тестовый план Это документ, включающий: объем ресурсы календарный план работ по тестированию выполняемые тесты тестируемые элементы задачи тестирования ответственные сотрудники вероятность возникновения непредвиденных обстоятельств и меры, которые потребуется при этом принимать (стандарт ANSI/IEEE for Software Test Documentation)

10 Назначение тестового плана служит для поиска ошибок облегчает управление работами и контроль хода их выполнения облегчает организацию технических аспектов тестирования помогает организовать и скоординировать усилия сотрудников, разрабатывающих и тестирующих программный продукт повышает эффективность и полноту тестирования документация должна быть не объемной, а эффективной. Любые составляющие плана, не помогающие в поиске ошибок и организации тестирования, являются пустой тратой ресурсов

11 Разработка тестового плана Как правило, применяется эволюционный подход (проведение тестирования параллельно с разработкой его плана) Первый этап - начальная разработка: 1. Проработка спецификации / пользовательской документации 2. Первая версия списка функций программы (полнота списка определяет полноту тестирования) (список будет постепенно расширяться) 3. Анализ входных данных и ограничений (простейший анализ граничных условий)

12 Направления развития плана 1. Наиболее вероятные ошибки (чем больше ошибок обнаружено в некоторой области программы, тем больше их там же) 2. Наиболее заметные ошибки (пользователю) 3. Наиболее часто используемые области программы 4. Отличительные особенности программы (то, что отличает от конкурентов) 5. Самые сложные аспекты для тестирования 6. Самые понятные функциональные области

13 Компоненты тестового плана списки таблицы планы матрицы отчетов и экранных форм входных и выходных переменных возможностей и функций файлов сообщений об ошибках совместимого оборудования совместимых программ публикуемых документов конфигураций совместимой операционной среды перечень материалов отчетов входных и выходных значений ввода-вывода решений клавиатурных комбинаций совместимых принтеров диаграмма граничных значений диаграмма потоков данных иерархический список функций

14 Матрицы: аппаратной и программной совместимости аппаратных конфигураций операционных окружений комбинаций входных значений сообщений об ошибках и клавиатурных комбинаций Источники материалов: спецификация заметки разработчиков черновики руководства пользователя и другой документации устные беседы с руководством и программистами результат собственного опыта, полученного в ходе экспериментов над программой

15 Пример таблицы ввода-вывода Входная переменная Выходная переменная Связь Цена_товара Цена_товара_в_счете = Цена_товара Общая_стоимость Сумма стоимостей заказанных товаров Налог_с_продаж 7% от Общая_стоимость

16 Иерархический список функций системы 1. Перечень всех высокоуровневых действий пользователя 2. Подфункции всех функций (все доступные опции и варианты) 3. Детализация до элементарных логических действий программы 4. Перечислить входные и выходные условия для каждой функции и подфункции 5. Список всех способов диалога с программой при выполнении каждой из функций (клавиатура, мышь)

17 Разделы тестового плана по стандарту идентификатор введение тестируемые элементы тестируемые функции не тестируемые функции подход к тестированию (кто, виды работ, технологии и средства, критерии, крайние сроки) критерии прохождения тестов документация необходимое оборудование календарный план ответственность …

18 Структура Test specification Как у обычного проектного документа: Заголовок Авторы История модификации Логотипы Сведения о степени конфиденциальности Содержание Введение Фактическая часть – тестовые примеры (test cases)

19 Test Specification – обязательный документ Test Specification – документ, обязательный к исполнению: все, что там написано – д.б. выполнено Оптимизация Test Specification – одна из основных задач Вообще набор видов тестирования содержится в Test Planе

20 Пример Test specification

21 Структура Test Log – основные поля Список тестовых примеров Список версий продукта (билдов) Отметки об успешном или неуспешном прохождении

22 Пример Test Log

23 Структура Test Log – дополнительные поля Разбиение по платформам, конфигурациям, средам выполнения,... Приоритеты Группы и подгруппы Детализация результатов выполнения Критический/некритический/косметический Номер ошибки в системе сопровождения ошибок Комментарии относительно хода выполнения

24 Выводы по результатам проведения тестирования Тестирование пройдено/не пройдено (для билда) Статистика: Время выполнения В среднем на тестовый пример На каждый билд На последний билд На каждой платформе Процент покрытия функциональности/тестовых примеров по каждому балду По каждой платформе

25 Примеры отчетов l Такие отчеты могут выполнять две основных функции: фиксировать состояние в данной контрольной точке показывать динамику процесса и переход от одной его фазы к другой