【测试基础】03-软件测试需求分析及常见控件的测试点

什么是软件测试需求

回顾软件测试的流程:需求分析->测试计划->软件测试设计->软件测试执行->测试评估。

今天我们就讲第一个阶段:对应的需求分析怎么做?


什么是测试需求分析?

测试需求分析就是熟悉被测项目的业务,知道项目他具体是测什么?

测试需求主要解决的是测什么的问题,一般来自需求规格说明书中的原始需求【就是在当前这段,我要知道我们到底要测什么,测什么功能】。

我们进行需求分析的时候要关注以下两点:

1.测试目标或测试对象:解决测试什么问题。【解决测什么】

2.具体到被测对象中有什么需求,测试,每个测试目标要测试的内容。【解决有哪些功能需要去测(测试点)】

主要分析什么?覆盖范围有哪些?

我们做测试需求分析的时候,对应要去分析哪些东西呢?

测试需求分析要涵盖功能性需求,非功能性需求。

  • 功能性需求:测试需求应该全部覆盖已定义的业务流程以及功能,这就是功能需求。
  • 非功能性需求:除功能需求以外,其他就是非功能需求,指的是性能、安全性、兼容性、易用性的需求。

需求

明确需求:需求文档中涵盖的需求,或者用户明确提及的需求。

隐形需求:需求文档或用户没有提及的需求,但需要实现的需求,站在用户的角度去思考。


注意:测试需求不涉及具体的测试数据,测试数据设计是测试设计环节应解决的内容。


软件测试需求的必要性

为什么需要做测试需求分析?

  1. 软件测试需求是设计测试用例的依据。【我们后面的步骤要依靠他】
  2. 有助于保障测试的质量进度。【保障质量的理解:比如如果没有测试需求,对功能a进行需求分析,标准来说提取到的测试点有20个,但实际我的测试点只有10个,此时我的测试覆盖率只有50%,漏测了10个被测的内容...此时就没法保证产品的质量了;保障测试进度理解:分析的时候你没有去了解到被测对象有哪些业务,那么你自己都对需求不清楚,此时你又回头去进行需求分析,势必会影响我们整个项目的进度】
  3. 测试需求是衡量测试覆盖率的重要指标。
    【怎么理解:
    测试覆盖率由以下这三者来决定:
    1、需求分析的覆盖率 :比如对功能a进行需求分析,它有20个测试点,那你实际提取到的测试点有没有20个?
    2、测试用例的覆盖率 :测试用例是根据需求来进行设计的,也就是说做测试用例的时候,有没有全部覆盖需求分析
    3、测试执行的覆盖率 :根据测试用例有没有全部执行到我们的测试能例?】
    疑问:测试用例覆盖率是100%,测试执行率是100%,需求覆盖率是80%那最终测试的覆盖率是多少?
    答案:80% 你需求有20个测试点,但是你实际只提取了16个,那你后面测试用例的覆盖率和执行的覆盖率都是由他决定的。
    所以我们说测试需求极其重要,他是这是覆盖率的重要指标,核心影响因素

总而言之,只有明确了测试需求,才能知道怎么去测试?什么时候开始测试?要多少人测试?在什么环境上测试?


如何对软件测试需求进行分析【重点】

1、先要进行需求收集

需求收集的需求来源是什么呢?我没说是需求规格说明书,但是并不是所有的项目都有需求规格书,此时我们以什么为依据进行需求的收集呢?


需求收集的需求来源是什么?

1、项目需求规格说明书(SRS)

2、开发需求

3、继承需求【比如二次开发的项目,其中的部分需求从第1期中得到】

4、同行竞争产品【如果上述三者都没有,我们就可以参考一下别人的】

5、经验库


问题:项目没有任何需求文档如何进行需求分析?

此时可以参考同行的竞争产品,以及站在用户的角度及自身的经验进行需求分析。


2、测试需求分析

你收集到我们的需求之后,我们就要对需求文档进行细化和分解【提取需求的要点,也就是我们所谓的测试点】。


怎么去提取我们的测试点呢?

1、以需求文档作为参考依据

2、细化分解需求,提取我们对应的测试点

比如注册表单:需要注意到输入输出和限制条件,同时还要考虑交互功能。

这里还有一个例子:验证充值话费100元,点击充值,那么提示充值成功,那么就一定能够验证充值成功了蛮?其实并不是,我们还得去查询一下你当前的话费的余额是否多了100.

所以总结下来就是说:

如何对开发需求的细化和分解【提取测试点包括那些考虑点】

  • 通过分析每条开发需求描述中的输入、输出、处理、限制、约束等,给出对应的验证内容;
  • 通过分析各个模块之间的业务顺序,和各个功能模块之间传递的信息和数据(功能交互分析),对存在功能交互的功能项,给出对应的验证内容。(功能的交互)

注意交互很重要,不要忘记,比如:我要验证注册成功,它提示注册成功不是就完了,而是得看到你注册的用户名和密码能登录成功。


我们提取测试点的常用工具是什么?

  • xmind
  • excel

我们提取的测试点的特征是什么?

1、测试点他必须是可核实 的,也就是说他们必须是有一个可观察、可评测的结果。

2、测试点应该指明满足需求的正常的前置条件 ,同时也要指明不满足需求时的出错条件

比如登录,在什么情况下登录成功,什么情况下登录失败

3、测试点不涉及 具体的测试数据,测试数据设计是测试设计环节应解决的内容。

这三个有其中一个符合即就是合格的测试点。


一个页面如何进行需求分析的一般步骤

1、界面检查,参考需求原型图【字体大小,字体颜色,页面布局】

2、从上到下,从左到右,对各个控件【比如输入框,文本框,单选按钮等等】的输入输出去提取测试点(考虑输入输出限制以及约束)。

3、按钮的分析,按照逻辑的先后顺序进行分析它的交互功能(关联功能)。【 我们的控件是按照从上到下,从左到右去分析,而我们的按钮一般并不是按照从上到下,从左到右去分析,按钮是按照逻辑的先后顺序进行分析,怎么理解,我们的按钮如果没有逻辑先后顺序就按照从上到下,从左到右去分析,如果按钮存在逻辑先后顺序,那么就按照逻辑的先后顺序去分析;同时还需要去分析我们的关联功能】

什么是关联功能(交互功能):它是验证当前结果的功能【当前这个功能的结果,通过什么功能去进行验证,这个就是他的关联功能】,比如验证注册成功功能,我们如何验证呢?此时反过来问就是什么样的功能可以验证注册成功?那它对应的关联功能是登录,我们提示注册成功并不代表就已经成功了,而是用你注册的用户名加密码去验证是否都能成功。
注意事项:一般不能通过提示去验证功能的结果,而是通过关联功能去验证


那么接下来我们开始实操了,使用xmind写测试点


比如:当前有一个登录功能和注册功能的需求文档,我们该怎么做?

登录功能需求文档:

text 复制代码
登录页面

若用户名与密码正确点击登录按钮,进入系统首页;
若用户名不正确点击登录按钮提示"用户不存在!";
若密码不正确点击登录按钮提示"密码不正确,请检查后重新输入!";
点击重置按钮,清空用户名与密码框。
点击注册按钮,进入新用户注册页面。

注册功能需求文档:

text 复制代码
注册页面
点击注册按钮,校验是否满足以下条件:-
1.用户名、密码、确认密码必须填写
2.用户名必须同时包含中文、英文与数字,长度大于等于6且小于等于12-
3.密码必须同时包含英文和数字,长度等于6
4.密码与确认密码必须一致
5.必须使用未被注册过的用户名
如果校验通过则弹出提示"注册成功",否则提示"注册失败"
点击取消按钮,退出注册页面

一行一行的读取需求,根据需求写出测试点


常见测试控件的测试要点

可以点击这个链接查看:
常见控件的测试要点总结


3、进行需求分析评审

我们通过需求评审会议进行需求分析评审,参与人员有产品测试开发。

需求分析评审目的:

1、需求的完整性【看你有没有遗漏的测试点、以及是否有遗漏的隐性需求】

2、保证需求的准确性【看你的测试点对不对,测试点是否有需求一致】


那本期我们梳理了如何进行软件测试的需求分析之后,下期我们将介绍需求分析中其他方面的考虑-软件质量的九大特征。

最后如果这些梳理对老铁们有用,希望老铁们点赞👍、关注、加收藏哦👋~

相关推荐
天天爱吃肉82184 小时前
【新能源汽车NTC+VCU温度采集全链路解析:原理、试验与测不准根源定位】
功能测试·嵌入式硬件·机器学习·信息可视化·汽车
汽车仪器仪表相关领域20 小时前
液力传动精准标定 + 智能换挡控制,动力总成测试新高度:GZCVL T‑IV 变矩器变速箱测试系统实战全解
功能测试·单元测试·汽车·压力测试·可用性测试·安全性测试
小罗和阿泽1 天前
接口测试系列 接口用例的编写
功能测试
安畅检测齐鲁物联网测试中心1 天前
在政府采购中,履约验收报告如何守护资金安全?
功能测试·政府采购·验收测试报告
我想静静[静]_2 天前
Anaconda被误删后抢救手册大纲
功能测试
测试_AI_一辰2 天前
AI测试工程笔记:AI Agent评测体系设计(从数据集到质量验证)
人工智能·笔记·功能测试·自动化·ai编程
程序员小远3 天前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
吗喽1号3 天前
合规-客户端/网页问题
功能测试
汽车仪器仪表相关领域3 天前
全工况精准标定 + 智能安全防护,建筑机械防坠生命线:GZCVL T‑II 安全防坠器测试系统实战全解
功能测试·测试工具·安全·单元测试·汽车·压力测试·可用性测试