软件需求分析的相关概念
软件需求的概念
1.用户解决某一问题或达到某一目标所需的软件功能,
2.系统或系统构件为了满足合同,规约,标准或其他正式实行的文档而必需满足或具备的软件功能。
3.软件需求文档:《需求规格说明书》-SRS
测试需求的概念
测试需求是根据程序文件和质量目标对软件测试活动所提的要求
软件需求的重要性
1.测试需求是开发测试用例的依据
2.详细的测试需求是衡量测试覆盖率的重要指标
3.有助于保证测试的质量和进度
测试需求的特性要求
1.可核实的
2.满足需求的正常的前置条件,不满足需求时的出错条件
注:测试需求不涉及及具体的测试数据。
3.测试需求文档:《测试需求跟踪矩阵》
需求分析对于开发和测试的影响
开发
1.如果需求不明确,系统研发不合格,导致软件包含大量的bug
2.大量的bug修改,影响进度和团队情绪
3.进度收到影响,可能造成公司产品失去市场先机
测试
1.如果不能很好的理解需求,会被开发牵着鼻子走
2.不能及时发现软件的bug,不敢保证测试质量
软件测试需求的分析过程
需求采集
需求采集的过程
是将软件需求中的那些具有可测试性的需求或特性提取出来,形成原始测试需求
需求采集的方法
通过列表的形式对软件需求进行梳理,形成软件测试需求列表
需求分析
对每条需求进行细化分解,形成可测试的分层描述的测试要点
1.原始测试需求列表 分层为:功能点 > 测试要点 >测试点
2.覆盖全部业务流程
3.挖掘隐含需求
对形成的每一条测试要点,从软件产品的质量需求来分析,确定测试执行时需要实施的测试类型
最终建立测试需求矩阵
需求评审
评审内容
1.完整性检查:应保证测试需求能充分覆盖软件需求的各种特征,重点关注的功能要求,数据定义,接口定义,性能要求,安全性要求,可靠性要求,系统约束方面,同时还应关注是否覆盖开发人员遗漏的,系统隐含的需求。
2.准确性检查:应保证所描述的内容能够得到相关各方的一致理解,各项测试需求之间没有矛盾和冲突,各项目测试需求在详尽程度上保持一致,每一项测试需求都可以作为测试用例设计的依据。
评审的方法
1.交叉评审
2.走查
3.小组评审
参与评审人员
1.产品经理:负责跟客户沟通,确定软件需求
2.项目经理:负责整个项目的技术部分,统筹开发进度
3.测试经理:负责项目交付前的整体的测试工作以及确认最终的上线版本
软件测试需求分析案例
案例1-原始测试需求提取
原始测试需求列表
1.允许内部员工用公司特定的邮箱和密码登录
2.提供打字聊天
3.提供语音聊天
4.一个用户可以同时和多个用户分别聊天和语音
5.一个聊天窗口里面可以与多人一同聊天和语音
6.不允许使用外部邮箱登录
7.内部用户邮箱密码也不能在外部网络登录
案例2-形成可测试的分层描述的测试要点