一、需求的相关概念
- 根据需求规格说明书内容分为:显性需求和隐性需求
- 显性需求:需求规格说明书中有明确定义的功能需求。
- 隐性需求:需求规格说明书中没有明确定义的功能需求,但是需要考虑的功能需求。
- 根据业务功能划分:功能需求和非功能需求
- 功能需求:明确定义的功能,大部分能够看见,比如:登录。
- 非功能需求:没有明确定义,而且也不容易看见,但需要考虑,比如:性能、易用性、可维护性。
- 根据测试类别来划分:功能、接口、性能、兼容性、安全性、帮助文档测试。
- 根据不同业务层次划分:业务需求、用户需求和功能需求
- 业务需求:也就是公司为什么要开发这套系统(描述公司在这套系统中解决了用户什么问题,如何满足用户的欲望,并利益最大化。重点是商业利益的可用性和最大化),也就是希望达到的目标。
- 用户需求:用户能使用系统,来做什么 、针对与客户解决了那些问题。
- 功能需求:功能需求描述是开发人员需求实现什么。
二、需求的分解、获取、分析与评审
-
如何提取测试需求:首先识别测试需求,接着分析测试需求,最后确定并提出测试对象
提取测试需求过后,就需要确定每一个测试对象应该怎么测试,需要提出具体的测试方法和措施,这就是测试策略制定的问题,这些都包含在测试方案当中。
- 可视化需求:由需求人员编写,包含需求列表,也就是产品或项目需求规格说明书(简称:SRS,software requirement specification),注意需求规格说明书是需求分析阶段最重要的文档。
- 需求规格说明书的内容:引言、编写目的、背景(可无)、定义(可无)、参考资料、任务描述、目标、用户特点(可无)、业务流程图、数据流程图、功能模块、功能点、性能、安全性、接口、原型图、系统设计图、总体设计图。
其中,性能、安全性应该是单独的模块进行编写,很多时候接口是一个单独的文档,并且是由开发单独提供。在很多中小型公司,在需求分析阶段是没有需求规格说明书,此时作为测试人员能做的就是尽量和公司其他部门搞好关系,并让相关部门配合提供相关的文档。 - 需求优先级:就是测试的优先级,也是在测试用例编写中需要注明优先级的地方。
(1)是否围绕用户核心使用场景
(2)是否目前阶段重点内容,在什么场景下使用该产品
(3)是否大多数用户所需要,能解决哪些问题
(4)需求使用是否强烈 - 需求评审:
(1)评审人员:项目经理、产品经理、技术经理、开发人员、测试经理、测试人员
(2)评审内容:本次迭代(产品或者需求规格说明书):业务流程或者算法逻辑设计评审(项目经理、产品经理进行讲解);技术评审(技术经理进行讲解) - 需求跟踪:需求跟踪的目的是让产品或者项目能满足需求规格说明书的要求,防止遗漏功能点。需求跟踪分为:正向跟踪和逆向跟踪。
正向跟踪:以用户需求为切入点,检验需求规格说明书功能在产品中是否有对应点,如果没有就需要确定需求是否变更。
逆向跟踪:检查设计文档、代码、测试用例等工作产品是否都在《需求规格说明书》中能够找到。
(1)开发过程中的需求跟踪:需求点--模块--函数--代码,这些存不存在,若不存在就要找原因了,具体是开发,还是产品经理的问题,就需要视情况而定。
(2)测试过程中的需求跟踪:需求点--测试点--测试用例--缺陷。 - 需求验证规范
(1)完整性:需求必须是完整的,《需求规格说明书》应该包括用户需要的每一个功能或者性能。
(2)一致性:所有需求必须是一致的,任何需求不能和其他的需求互相矛盾。
(3)有效性:必须证明需求是正确有效的,确定能解决用户面对的问题。
(4)可跟踪性:应能在每一项需求与它的根源和设计元素、源代码、测试用例之间建立起连接。
(5)可行性(现实性):指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的,不能脱离实际。
三、功能测试需求分析的方法
在进行功能测试需求分析之前,需要搞清楚两个问题:一是搞清楚功能测试,要测哪些内容?二是如何需求文档中提取出测试信息,从而去做编写测试用例及测试工作。
- 功能测试需求的分析方法及步骤:
- 了解需求范围:了解需求想要做什么?要完成哪些功能模块?
- 明确目标用户:搞清楚需求目标用户是谁?比如:登录用户,匿名用户;不同的用户角色,功能和权限是否相同?
-
分析功能步骤:要完成功能,需要哪些步骤?
(1)列出所有可能的测试功能点
(2)对每个功能点进行分层分析
(3)功能点之前存在哪些耦合关系
(4)有哪些可能的异常流程(网络环境:网络中断、网络切换、丢包延迟;服务器资源:服务器无响应、响应慢、无法连接服务器;系统环境:被测系统文件丢失、PC或者手机系统缺少必要的组件、权限不足;异常中断:断电、通话中断)
- 挖掘隐藏需求:这需要产品的熟悉和经验。首先,了解产品的整体架构,再实现产品的具体实现细节,其次要代入用户角色,在实际场景中进行推测。
-
需求分析实例:
建议采用思维导图进行分析。
-
对参加课程功能点进行分析:
- 学习页面的功能分析
网友评论