软件测试 - 业务需求
软件的开发基于其功能和业务需求。业务需求是指从软件开发生命周期 (SDLC) 的开始,收集和描述用户(即供应商、客户和员工)的业务需求的过程。它们作为软件未来开发的指南,主要由组织的业务分析师制定。
什么是业务需求?
业务需求是软件应该能够执行以实现组织战略目标的基本需求和假设。它们还描述了业务目标、业务应该如何运行以及软件将如何帮助业务运作并实现其目标。它们在 SDLC 的初始阶段定义,并指导软件架构和设计的构建过程。
软件业务需求包含什么?
软件业务需求包含以下列出的项目 -
- 软件业务需求包括业务背景、范围、背景、组织目标、行业模式等。
- 软件业务需求列出了项目中的业务利益相关者,例如监管机构、客户、高管、业务分析师等。
- 软件业务需求包括定义项目是否成功的标准。这些标准是根据组织目标决定的,包括提高生产力和成本、增强最终用户体验以及遵守标准和法规的措施。
- 软件业务需求包括在软件开发过程中应考虑的各种约束和限制。
- 软件业务需求包括概念数据模型,例如数据实体、关系、属性。它还描述了软件中将使用的数据集的数据字典。
软件业务需求的优势
软件业务需求的优势如下所列 -
- 软件业务需求准确地反映了组织通过开发软件想要实现的目标,这主要有助于使所有利益相关者达成共识。
- 软件业务需求改善了项目中业务利益相关者和技术团队之间的沟通方式。
- 软件业务需求有助于制定项目计划、预算、进度等,这些是项目管理成功的关键要素。
- 通过在 SDLC 的最初阶段识别业务需求,可以降低软件中大部分潜在风险。
- 业务需求有助于提高客户在使用软件时的满意度和体验。
- 业务需求有助于有效利用资源、时间、精力和成本,通过有效分配软件的关键特性和功能来实现。
谁定义软件业务需求?
软件业务需求由以下人员定义 -
- 业务分析师
- 产品负责人
- 项目经理
- 利益相关者
- 客户
- 赞助商
- 领域专家
软件业务需求的格式
软件业务需求的格式如下所述 -
标题页 - 包含项目名称、文档标题、作者和日期。
目录 - 描述不同的章节及其页码。
摘要 - 描述项目及其目标以及业务需求的范围。
目标 - 详细描述项目的目标和目的。
范围 - 描述项目中属于范围和不属于范围的特性和功能。
利益相关者 - 列出所有利益相关者的姓名及其角色和职责。
业务需求 - 包括功能性需求(软件的特性和功能)和非功能性需求(软件的性能、可靠性、可用性、安全性等)。它们应该有需求 ID、描述、优先级、依赖项、验收标准等。
监管和合规性要求 - 包括软件应遵循的法律、法规和合规性。
用例 - 描述用户如何与软件交互以实现特定目标。每个用例都应该有用例 ID、描述、参与者、先决条件、后置条件、步骤等。
假设和约束 - 描述项目中可能出现的各种假设和约束,例如成本、技术、时间安排。
验收标准 - 描述为了使需求被认为已满足而应满足的标准。
可追溯性矩阵 - 包含一个表格,将每个需求映射到其测试用例、设计因素和项目目标。
批准和签字 - 包含项目利益相关者和赞助者的签名。
附录 - 包括重要术语、文档、支持项等的词汇表。这主要是为了使业务需求更加简洁、准确、详尽等。
软件业务需求中的原型设计
软件业务需求中的原型设计是为了以下列出的原因而进行的。
- 原型设计有助于通过可视化方式解决需求中的疑虑。其主要目的是收集利益相关者的反馈,以便业务需求清晰明了,并符合组织的业务目标。
- 原型设计有助于改善技术团队和业务利益相关者之间的沟通,使他们都能对需求达成一致的理解。它提供了一个平台来交换想法和观点,以改进它们。
- 原型设计致力于通过在受控环境中验证需求来验证需求。因此,它在开发过程的初期就识别出了任何需求中的缺陷。
- 原型设计有助于识别需求的范围。因此,功能和特性会根据其重要性进行优先级排序。
- 原型设计是一项节省成本和时间的活动,因为它能够尽早发现差距,而不是在开发的后期阶段发现。经过原型设计阶段的需求使开发过程更加系统化和高效。
- 原型设计从 SDLC 的早期阶段开始验证软件,因此软件变得更易于使用。在原型设计阶段收集的反馈使其更接近最终用户的期望。
软件业务需求的挑战
软件业务需求的挑战如下所示:
- 软件业务需求有时含糊不清、不完整、不清楚且记录不完善,这会导致项目中的误解和混淆。
- 业务需求的修改和添加可能会导致交付延迟,从而影响项目的成本。需求的优先级也可能在中途发生变化。
- 利益相关者的不可用性可能会使需求收集阶段延长。
- 复杂且相互关联的软件业务需求难以描述和记录。此外,业务需求应符合法规和标准。
- 不同的利益相关者可能对哪些需求应该首先得到解决持有不同的观点。资源的不可用也会影响需求的选择。
- 如果需要将新的需求与遗留软件合并,则业务需求有时会面临技术挑战。此外,由于技术限制,某些需求无法满足。
- 软件业务需求的文档可能非常糟糕。
- 业务需求可能会受到项目利益相关者错误假设的影响。跨越国际边界的全球项目可能会受到文化差异的影响,从而导致混淆。
- 难以验证和确认最终软件是否根据项目的业务需求构建。
结论
本教程全面介绍了软件业务需求,到此结束。我们首先描述了什么是软件业务需求,软件业务需求包含什么,软件业务需求的优势是什么,谁定义软件业务需求,软件业务需求的格式是什么,软件业务需求中的原型设计是什么,软件业务需求的挑战是什么。这使您对软件业务需求有了深入的了解。明智的做法是不断练习您学到的知识,并探索与软件测试相关的其他内容,以加深您的理解并拓宽您的视野。