Файл: Обеспечения Базовый курс (3е издание) Версия книги 2 от 17. 04. 2023.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 861
Скачиваний: 31
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Источники и пути выявления требований
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 38/301 ровать большое количество идей, которые в дальнейшем можно не спеша рассмот- реть с точки зрения их использования для развития проекта.
Наблюдение. Может выражаться как в буквальном наблюдении за некими процессами, так и во включении проектного специалиста в эти процессы в качестве участника. С одной стороны, наблюдение позволяет увидеть то, о чём (по совер- шенно различным соображениям) могут умолчать интервьюируемые, анкетируе- мые и представители фокусных групп, но с другой — отнимает очень много времени и чаще всего позволяет увидеть лишь часть процессов.
Прототипирование. Состоит в демонстрации и обсуждении промежуточных версий продукта (например, дизайн страниц сайта может быть сначала представ- лен в виде картинок, и лишь затем свёрстан). Это один из лучших путей поиска единого понимания и уточнения требований, однако он может привести к серьёз- ным дополнительным затратам при отсутствии специальных инструментов (позво- ляющих быстро создавать прототипы) и слишком раннем применении (когда требо- вания ещё не стабильны, и высока вероятность создания прототипа, имеющего мало общего с тем, что хотел заказчик).
1 2 3 4 5 6 7 8 9 ... 38
Анализ документов. Хорошо работает тогда, когда эксперты в предметной области (временно) недоступны, а также в предметных областях, имеющих обще- принятую устоявшуюся регламентирующую документацию. Также к этой технике от- носится и просто изучение документов, регламентирующих бизнес-процессы в предметной области заказчика или в конкретной организации, что позволяет при- обрести необходимые для лучшего понимания сути проекта знания.
Моделирование процессов и взаимодействий. Может применяться как к
«бизнес-процессам и взаимодействиям» (например: «договор на закупку формиру-
ется отделом закупок, визируется бухгалтерией и юридическим отделом…»), так и к «техническим процессам и взаимодействиям» (например: «платёжное по-
ручение генерируется модулем “Бухгалтерия”, шифруется модулем “Безопас-
ность” и передаётся на сохранение в модуль “Хранилище”»). Данная техника тре- бует высокой квалификации специалиста по бизнес-анализу, т.к. сопряжена с обра- боткой большого объёма сложной (и часто плохо структурированной) информации.
Самостоятельное описание. Является не столько техникой выявления тре- бований, сколько техникой их фиксации и формализации. Очень сложно (и даже нельзя!) пытаться самому «придумать требования за заказчика», но в спокойной обстановке можно самостоятельно обработать собранную информацию и акку- ратно оформить её для дальнейшего обсуждения и уточнения.
Часто специалисты по бизнес-анализу приходят в свою профессию из те- стирования. Если вас заинтересовало это направление, стоит ознако- миться со следующими книгами:
• «Требования для программного обеспечения: рекомендации по сбору и документированию» (Илья Корнипаев).
• «Business Analysis Techniques. 72 Essential Tools for Success» (James
Cadle, Debra Paul, Paul Turner).
• «Business Analysis (Second Edition)» (Debra Paul, Donald Yeates, James
Cadle).
Уровни и типы требований
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 39/301
2.2.4.
Уровни и типы требований
Форма представления, степень детализации и перечень полезных свойств требований зависят от уровней и типов требований
68
, которые схематично пред- ставлены на рисунке 2.2.e
69
Бизнес-требования (business requirements
70
) выражают цель, ради которой разрабатывается продукт (зачем вообще он нужен, какая от него ожидается польза, как заказчик с его помощью будет получать прибыль). Результатом выявления тре- бований на этом уровне является общее видение (vision and scope
71
)
— документ, который, как правило, представлен простым текстом и таблицами. Здесь нет дета- лизации поведения системы и иных технических характеристик, но вполне могут быть определены приоритеты решаемых бизнес-задач, риски и т.п.
Несколько простых, изолированных от контекста и друг от друга примеров бизнес-требований:
• Нужен инструмент, в реальном времени отображающий наиболее выгод-
ный курс покупки и продажи валюты.
• Необходимо в два-три раза повысить количество заявок, обрабатывае-
мых одним оператором за смену.
• Нужно автоматизировать процесс выписки товарно-транспортных
накладных на основе договоров.
Рисунок 2.2.e — Уровни и типы требований
68
Очень подробное описание уровней и типов требований (а также их применения) можно найти в статье «Software Require- ments
Engineering:
What,
Why,
Who,
When, and
How
», Linda Westfall [
http://www.westfallteam.com/Pa- pers/The_Why_What_Who_When_and_How_Of_Software_Requirements.pdf
]
69
В основу данного рисунка положены идеи, представленные в книге «Software Requirements (3
rd edition
)» (Karl Wiegers and
Joy Beatty).
70
Business requirement. Anything that describes the financial, marketplace, or other business benefit that either customers or the developing organization wish to gain from the product. [«Software Requirements (3
rd edition)», Karl Wiegers and Joy Beatty]
71
Vision and scope. The vision and scope document collects the business requirements into a single deliverable that sets the stage for the subsequent development work. [«Software Requirements (3
rd edition)», Karl Wiegers and Joy Beatty]
Уровни и типы требований
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 40/301
Пользовательские требования (user requirements
72
) описывают задачи, ко- торые пользователь может выполнять с помощью разрабатываемой системы (ре- акцию системы на действия пользователя, сценарии работы пользователя). По- скольку здесь уже появляется описание поведения системы, требования этого уровня могут быть использованы для оценки объёма работ, стоимости проекта, времени разработки и т.д. Пользовательские требования оформляются в виде ва- риантов использования (use cases
73
), пользовательских историй (user stories
74
), пользовательских сценариев (user scenarios
75
).
(Также см. создание пользователь- ских сценариев
{146}
в процессе выполнения тестирования.)
Несколько простых, изолированных от контекста и друг от друга примеров пользовательских требований:
• При первом входе пользователя в систему должно отображаться лицен-
зионное соглашение.
• Администратор должен иметь возможность просматривать список всех
пользователей, работающих в данный момент в системе.
• При первом сохранении новой статьи система должна выдавать запрос
на сохранение в виде черновика или публикацию.
Бизнес-правила (business rules
76
) описывают особенности принятых в пред- метной области (и/или непосредственно у заказчика) процессов, ограничений и иных правил. Эти правила могут относиться к бизнес-процессам, правилам работы сотрудников, нюансам работы ПО и т.д.
Несколько простых, изолированных от контекста и друг от друга примеров бизнес-правил:
• Никакой документ, просмотренный посетителями сайта хотя бы один
раз, не может быть отредактирован или удалён.
• Публикация статьи возможна только после утверждения главным редак-
тором.
• Подключение к системе извне офиса запрещено в нерабочее время.
Атрибуты качества (quality attributes
77
) расширяют собой нефункциональ- ные требования и на уровне пользовательских требований могут быть представ- лены в виде описания ключевых для проекта показателей качества (свойств про- дукта, не связанных с функциональностью, но являющихся важными для достиже- ния целей создания продукта — производительность, масштабируемость, восста- навливаемость). Атрибутов качества очень много
78
, но для любого проекта реально важными является лишь некоторое их подмножество.
72
User requirement. User requirements are general statements of user goals or business tasks that users need to perform. [
«Soft- ware Requirements (3
rd edition)
», Karl Wiegers and Joy Beatty]
73
Use case. A sequence of transactions in a dialogue between an actor and a component or system with a tangible result, where an actor can be a user or anything that can exchange information with the system. [ISTQB Glossary]
74
User story. A high-level user or business requirement commonly used in agile software development, typically consisting of one or more sentences in the everyday or business language capturing what functionality a user needs, any non-functional criteria, and also includes acceptance criteria. [ISTQB Glossary]
75
A scenario is a hypothetical story, used to help a person think through a complex problem or system.
«An Introduction to Scenario
Testing
», Cem Kaner. [
http://kaner.com/pdfs/ScenarioIntroVer4.pdf
]
76
Business rule. A business rule is a statement that defines or constrains some aspect of the business. It is intended to assert business structure or to control or influence the behavior of the business. A business rule expresses specific constraints on the creation, updating, and removal of persistent data in an information system. [
«Defining Business Rules — What Are They Really»,
David Hay и др.]
77
Quality attribute. A feature or characteristic that affects an item’s quality. [ISTQB Glossary]
78
Даже в Википедии их список огромен: http://en.wikipedia.org/wiki/List_of_system_quality_attributes
Уровни и типы требований
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 41/301
Несколько простых, изолированных от контекста и друг от друга примеров атрибутов качества:
• Максимальное время готовности системы к выполнению новой команды
после отмены предыдущей не может превышать одну секунду.
• Внесённые в текст статьи изменения не должны быть утеряны при нару-
шении соединения между клиентом и сервером.
• Приложение должно поддерживать добавление произвольного количества
неиероглифических языков интерфейса.
Функциональные требования (functional requirements
79
) описывают поведе- ние системы, т.е. её действия (вычисления, преобразования, проверки, обработку и т.д.). В контексте проектирования функциональные требования в основном вли- яют на дизайн системы.
Стоит помнить, что к поведению системы относится не только то, что система должна делать, но и то, что она не должна делать (например: «приложение не должно выгружать из оперативной памяти фоновые документы в течение 30 минут с момента выполнения с ними последней операции»).
Несколько простых, изолированных от контекста и друг от друга примеров функциональных требований:
• В процессе инсталляции приложение должно проверять остаток свобод-
ного места на целевом носителе.
• Система должна автоматически выполнять резервное копирование дан-
ных ежедневно в указанный момент времени.
• Электронный адрес пользователя, вводимый при регистрации, должен
быть проверен на соответствие требованиям RFC822.
Нефункциональные требования (non-functional requirements
80
) описывают свойства системы (удобство использования, безопасность, надёжность, расширяе- мость и т.д.), которыми она должна обладать при реализации своего поведения.
Здесь приводится более техническое и детальное описание атрибутов качества. В контексте проектирования нефункциональные требования в основном влияют на архитектуру системы.
Несколько простых, изолированных от контекста и друг от друга примеров нефункциональных требований:
• При одновременной непрерывной работе с системой 1000 пользователей,
минимальное время между возникновением сбоев должно быть более или
равно 100 часов.
• Ни при каких условиях общий объём используемой приложением памяти не
может превышать 2 ГБ.
• Размер шрифта для любой надписи на экране должен поддерживать
настройку в диапазоне от 5 до 15 пунктов.
Следующие требования в общем случае могут быть отнесены к нефункцио- нальным, однако их часто выделяют в отдельные подгруппы (здесь для простоты рассмотрены лишь три таких подгруппы, но их может быть и гораздо больше; как правило, они проистекают из атрибутов качества, но высокая степень детализации позволяет отнести их к уровню требований к продукту).
79
Functional requirement. A requirement that specifies a function that a component or system must perform. [ISTQB Glossary]
Functional requirements describe the observable behaviors the system will exhibit under certain conditions and the actions the system will let users take. [
«Software Requirements (3
rd edition)
», Karl Wiegers and Joy Beatty]
80
Non-functional requirement. A requirement that does not relate to functionality, but to attributes such as reliability, efficiency, usability, maintainability and portability. [ISTQB Glossary]
Уровни и типы требований
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 42/301
Ограничения (limitations, constraints
81
) представляют собой факторы, ограни- чивающие выбор способов и средств (в том числе инструментов) реализации про- дукта.
Несколько простых, изолированных от контекста и друг от друга примеров ограничений:
• Все элементы интерфейса должны отображаться без прокрутки при раз-
решениях экрана от 800x600 до 1920x1080.
• Не допускается использование Flash при реализации клиентской части
приложения.
• Приложение должно сохранять способность реализовывать функции с
уровнем важности «критический» при отсутствии у клиента поддержки
JavaScript.
Требования к интерфейсам (external interfaces requirements
82
) описывают особенности взаимодействия разрабатываемой системы с другими системами и операционной средой.
Несколько простых, изолированных от контекста и друг от друга примеров требований к интерфейсам:
• Обмен данными между клиентской и серверной частями приложения при
осуществлении фоновых AJAX-запросов должен быть реализован в фор-
мате JSON.
• Протоколирование событий должно вестись в журнале событий операци-
онной системы.
• Соединение с почтовым сервером должно выполняться согласно RFC3207
(
«SMTP over TLS»).
Требования к данным (data requirements
83
) описывают структуры данных (и сами данные), являющиеся неотъемлемой частью разрабатываемой системы. Ча- сто сюда относят описание базы данных и особенностей её использования.
Несколько простых, изолированных от контекста и друг от друга примеров требований к данным:
• Все данные системы, за исключением пользовательских документов,
должны храниться в БД под управлением СУБД MySQL, пользовательские
документы должны храниться в БД под управлением СУБД MongoDB.
• Информация о кассовых транзакциях за текущий месяц должна храниться
в операционной таблице, а по завершении месяца переноситься в архив-
ную.
• Для ускорения операций поиска по тексту статей и обзоров должны быть
предусмотрены полнотекстовые индексы на соответствующих полях
таблиц.
81
Limitation, constraint. Design and implementation constraints legitimately restrict the options available to the developer. [
«Soft- ware Requirements (3rd edition)
», Karl Wiegers and Joy Beatty]
82
External interface requirements. Requirements in this category describe the connections between the system and the rest of the universe. They include interfaces to users, hardware, and other software systems. [
«Software Requirements (3rd edition)», Karl
Wiegers and Joy Beatty]
83
Data requirements. Data requirement describe the format, data type, allowed values, or default value for a data element; the composition of a complex business data structure; or a report to be generated. [
«Software Requirements (3rd edition)», Karl
Wiegers and Joy Beatty]