Тестирование документации и требований

Содержание

Слайд 2

Главное:

Что такое «требование»
Важность требований
Источники и пути выявления требований
Уровни и типы требований
Свойства качественных

Главное: Что такое «требование» Важность требований Источники и пути выявления требований Уровни
требований
Техники тестирования требований
Пример анализа и тестирования требований
Типичные ошибки при анализе и тестировании требований

Слайд 3

Что такое «требование»

Требование (requirement) — описание того, какие функции и с соблюдением

Что такое «требование» Требование (requirement) — описание того, какие функции и с
каких условий должно выполнять приложение в процессе решения полезной для пользователя задачи.
«What is documentation testing in software testing».
[http://istqbexamcertification.com/what-is-documentation-testing/]

Слайд 4

Важность требований
Стоимость исправления ошибки в зависимости от момента её обнаружения

Важность требований Стоимость исправления ошибки в зависимости от момента её обнаружения

Слайд 5

Важность требований

Требования:
Позволяют понять, что и с соблюдением каких условий система должна делать.
Предоставляют

Важность требований Требования: Позволяют понять, что и с соблюдением каких условий система
возможность оценить масштаб изменений и управлять изменениями.
Являются основой для формирования плана проекта (в том числе плана тестирования).
Помогают предотвращать или разрешать конфликтные ситуации.
Упрощают расстановку приоритетов в наборе задач.
Позволяют объективно оценить степень прогресса в разработке проекта.

Слайд 6

Покупки в магазине

Задача : Планирование покупок в магазине
Вопрос:
представьте, что ваш с друзьями

Покупки в магазине Задача : Планирование покупок в магазине Вопрос: представьте, что
бюджет ограничен, и в списке требований появляются приоритеты (что-то купить надо обязательно, что-то, если останутся деньги, и т.п.). Как это повлияет на риски, связанные с ошибками в списке?

Слайд 7

Важность требований
Типичный проект с плохими требованиями

Важность требований Типичный проект с плохими требованиями

Слайд 8

Виды документации

Продуктная документация (product documentation, development documentation) используется проектной командой во время

Виды документации Продуктная документация (product documentation, development documentation) используется проектной командой во
разработки и поддержки продукта.
Проектная документация (project documentation) включает в себя как продуктную документацию, так и некоторые дополнительные виды документации и используется не только на стадии разработки, но и на более ранних и поздних стадиях (например, на стадии внедрения и эксплуатации).

Слайд 9

Product documentation

План проекта (project management plan54) и в том числе тестовый план

Product documentation План проекта (project management plan54) и в том числе тестовый
(test plan).
Требования к программному продукту (product requirements document,
PRD) и функциональные спецификации (functional specifications document, FSD; software requirements specification, SRS).
Архитектуру и дизайн (architecture and design).
Тест-кейсы и наборы тест-кейсов (test cases, test suites).
Технические спецификации (technical specifications), такие как схемы баз данных, описания алгоритмов, интерфейсов и т.д.

Слайд 10

Project documentation

Пользовательскую и сопроводительную документацию (user and accompanying documentation), такую как встроенная

Project documentation Пользовательскую и сопроводительную документацию (user and accompanying documentation), такую как
помощь, руководство по установке и использованию, лицензионные соглашения и т.д.
Маркетинговую документацию (market requirements document, MRD), которую представители разработчика или заказчика используют как на начальных этапах (для уточнения сути и концепции проекта), так и на финальных этапах развития проекта (для продвижения продукта на рынке).

Слайд 11

Источники и пути выявления требований

Источники и пути выявления требований

Слайд 12

Уровни и типы требований

Уровни и типы требований

Слайд 13

Уровни и типы требований

Форма представления, степень детализации и перечень полезных свойств требований

Уровни и типы требований Форма представления, степень детализации и перечень полезных свойств
зависят от уровней и типов требований.
Бизнес-требования (business requirements) выражают цель, ради которой разрабатывается продукт (зачем вообще он нужен, какая от него ожидается польза, как заказчик с его помощью будет получать прибыль). Результатом выявления требований на этом уровне является общее видение (vision and scope) — документ, который, как правило, представлен простым текстом и таблицами. Здесь нет детализации поведения системы и иных технических характеристик, но вполне могут быть определены приоритеты решаемых бизнес-задач, риски и т.п

Слайд 14

Уровни и типы требований

Пользовательские требования (user requirements) описывают задачи, которые пользователь может

Уровни и типы требований Пользовательские требования (user requirements) описывают задачи, которые пользователь
выполнять с помощью разрабатываемой системы (реакцию системы на действия пользователя, сценарии работы пользователя). Поскольку здесь уже появляется описание поведения системы, требования этого уровня могут быть использованы для оценки объёма работ, стоимости проекта, времени разработки и т.д. Пользовательские требования оформляются в виде вариантов использования (use cases), пользовательских историй (user stories), пользовательских сценариев (user scenarios).

Слайд 15

Уровни и типы требований

Бизнес-правила (business rules) описывают особенности принятых в предметной области

Уровни и типы требований Бизнес-правила (business rules) описывают особенности принятых в предметной
(и/или непосредственно у заказчика) процессов, ограничений и иных правил. Эти правила могут относиться к бизнес-процессам, правилам работы сотрудников, нюансам работы ПО и т.д.
Атрибуты качества (quality attributes) расширяют собой нефункциональные требования и на уровне пользовательских требований могут быть представлены в виде описания ключевых для проекта показателей качества (свойств продукта, не связанных с функциональностью, но являющихся важными для достижения целей создания продукта — производительность, масштабируемость, восстанавливаемость). Атрибутов качества очень много, но для любого проекта реально важными является лишь некоторое их подмножество.

Слайд 16

Уровни и типы требований

Функциональные требования (functional requirements) описывают поведение системы, т.е. её

Уровни и типы требований Функциональные требования (functional requirements) описывают поведение системы, т.е.
действия (вычисления, преобразования, проверки, обработку и т.д.). В контексте проектирования функциональные требования в основном влияют на дизайн системы.
Нефункциональные требования (non-functional requirements) описывают свойства системы (удобство использования, безопасность, надёжность, расширяемость и т.д.), которыми она должна обладать при реализации своего поведения.

Слайд 17

Уровни и типы требований

Ограничения (limitations, constraints) представляют собой факторы, ограничивающие выбор способов

Уровни и типы требований Ограничения (limitations, constraints) представляют собой факторы, ограничивающие выбор
и средств (в том числе инструментов) реализации продукта.
Требования к интерфейсам (external interfaces requirements) описывают особенности взаимодействия разрабатываемой системы с другими системами и операционной средой.
Требования к данным (data requirements) описывают структуры данных (и сами данные), являющиеся неотъемлемой частью разрабатываемой системы. Часто сюда относят описание базы данных и особенностей её использования.
Спецификация требований (software requirements specification, SRS) объединяет в себе описание всех требований уровня продукта и может представлять собой весьма объёмный документ (сотни и тысячи страниц)

Слайд 18

Уровни и типы требований

Ограничения (limitations, constraints) представляют собой факторы, ограничивающие выбор способов

Уровни и типы требований Ограничения (limitations, constraints) представляют собой факторы, ограничивающие выбор
и средств (в том числе инструментов) реализации продукта.
Требования к интерфейсам (external interfaces requirements) описывают особенности взаимодействия разрабатываемой системы с другими системами и операционной средой.
Требования к данным (data requirements) описывают структуры данных (и сами данные), являющиеся неотъемлемой частью разрабатываемой системы. Часто сюда относят описание базы данных и особенностей её использования.
Спецификация требований (software requirements specification, SRS) объединяет в себе описание всех требований уровня продукта и может представлять собой весьма объёмный документ (сотни и тысячи страниц)

Слайд 19

Свойства качественных требований

Свойства качественных требований

Слайд 20

Свойства качественных требований

Завершённость (completeness). Требование является полным и законченным с точки зрения

Свойства качественных требований Завершённость (completeness). Требование является полным и законченным с точки
представления в нём всей необходимой информации, ничто не пропущено по соображениям «это и так всем понятно».
Атомарность, единичность (atomicity). Требование является атомарным, если его нельзя разбить на отдельные требования без потери завершённости и оно описывает одну и только одну ситуацию.
Непротиворечивость, последовательность (consistency). Требование не должно содержать внутренних противоречий и противоречий другим требованиям и документам.
Недвусмысленность (unambiguousness , clearness). Требование должно быть описано без использования жаргона, неочевидных аббревиатур и расплывчатых формулировок, должно допускать только однозначное объективное понимание и быть атомарным в плане невозможности различной трактовки сочетания отдельных фраз.

Слайд 21

Свойства качественных требований

Выполнимость (feasibility). Требование должно быть технологически выполнимым и реализуемым в

Свойства качественных требований Выполнимость (feasibility). Требование должно быть технологически выполнимым и реализуемым
рамках бюджета и сроков разработки проекта.
Обязательность, нужность (obligatoriness) и актуальность (up-to-date). Если требование не является обязательным к реализации, оно должно быть просто исключено из набора требований. Если требование нужное, но «не очень важное», для указания этого факта используется указание приоритета. Также исключены (или переработаны) должны быть требования, утратившие актуальность.

Слайд 22

Свойства качественных требований

Прослеживаемость (traceability). Прослеживаемость бывает вертикальной (vertical traceability) и горизонтальной (horizontal

Свойства качественных требований Прослеживаемость (traceability). Прослеживаемость бывает вертикальной (vertical traceability) и горизонтальной
traceability). Вертикальная позволяет соотносить между собой требования на различных уровнях требований, горизонтальная позволяет соотносить требование с тест-планом, тест-кейсами, архитектурными решениями и т.д.
Модифицируемость (modifiability). Это свойство характеризует простоту внесения изменений в отдельные требования и в набор требований. Можно говорить о наличии модифицируемости в том случае, если при доработке требований искомую информацию легко найти, а её изменение не приводит к нарушению иных описанных в этом перечне свойств