专栏文章 想要写优秀的设计测试用例,不懂这个可不行!

程序员一凡 · 2021年04月20日 · 2397 次阅读

什么是需求?

需求是产品必须完成的事以及必须具备的品质。需求包括:功能性需求、非功能性需求和限制条件

功能性需求: 功能性需求是产品必须完成的那些事,要求一定的功能和品质。

  • 案例:微信可以给好友发消息、发红包、发语音和视频等操作
    非功能性需求:非功能性需求是产品必须具备的属性或品质。诸如观感、可用性、安全性和法律限制等。

  • 例子:x 平台用户数为 5 万人,每天登录用户数为 1 万左右,网络的带宽为 100M 带宽。在工作时间根据资料名称条件进行搜索,可以在 3 秒内得到搜索结果。

  • 2021 年天猫活动的订单处理峰值达高于 58.3 万笔/秒,要求订单成功率为 100% 一>成功下单

注意:在项目中一般优先分析功能性需求,产品的功能确定之后再分析非功能性需求。

限制条件:在需求分析中需要考虑一些条件约束,规则等,比如客户的约束,行业的约束,法律的约束以及自己的约束。

  • 例如:客户需求:x 平台必须在 2021 年开学的第一学期上线
  • 例如:每个 APP 必须要求对应的隐私条例等

需求的重要性

《医生和病人的故事》

背景:冯大勇吃鱼时嗓子被鱼刺卡住了。现在正坐在椅子上候诊。

大夫:(在桌上拿起一份挂号单,大声的喊)冯大勇!

冯大勇:(病怏怏的样子,边走边咳嗽)我是。

大夫:怎么了?(低头整理手中的资料,自言自语,并打手势,示意冯大勇坐下)

冯大勇:我...(咳嗽)...我今天. . ﹒(咳嗽) 大夫:不用说了,我知道了。(从桌子下面拿出一个大盒子,放在桌子上)

我看你适合吃这种药。这是本院独家开创的哮喘新药 “咽喉糖浆”,疗程短,见效快,一个疗程吃 3 盒,平均每天只需花费 3 块钱。给你先开 6 盒吧!(边说边开药方)

冯大勇非常惊讶地瞪大眼睛并止不住地弯腰大声咳嗽,以至于把鱼刺都咳出来了。冯大勇从口里掏出一条巨型鱼刺,递给医生。医生见到鱼刺先是吃惊,而后又非常尴尬。

  • 符合尽早介入测试、文档也需要测试原则
  • 是设计测试用例的重要依据,有助于保证测试的质量和进度
  • 是衡量测试覆盖率的重要指标。

如何进行需求分析

测试需求分析的主要目的:根据需求文档提取测试点,根据测试点来编写测试用例。

需求分析步骤:

1.熟悉需求背景及商业目标
2.找出功能性需求与约束:

-单个功能,如能否登录,等否发送信息;
-功能交互;
-业务流程,如登录成功 - 给好友发送红包 - 好友领取红包

3.找出非功能性需求与约束:

-UI、性能、网络、兼容性、易用性、特殊情况

案例一

生活物品测试需求分析,如:杯子、笔、桌子
面试题:怎么对杯子、笔、桌子进行测试?讲出测试的思维?测试点?

1∶反问:笔、杯子、桌子需求是怎么样的? --测试思维

软件质量特性:功能性、可靠性、可用性、效率、可维护性、可移植性

给大家提供一个大概的思路

功能性:

-笔头开合是否流程
-书写是否流畅
-笔头笔心大小是否合适
-笔筒和笔芯是否牢固
-笔芯替换是否方便

Ui(外观测试)

-尺寸大小:
-色彩搭配:绿色
-携带
-logo

性能测试:

-笔能够写多长时间
-笔心 (墨水) :能够持续多长时长
-高温低温
-气味:特殊人群

# 测试用例设计方法

黑盒测试用例设计方法

-等价类划分法
-边界值分析法
-错误推测法
-因果图法
-判定表法
-正交实验法
-状态迁移图法
-场景法

白盒测试用例设计方法

-语句覆盖
-判定覆盖
-条件覆盖
-判定 - 条件覆盖
-基本路径覆盖
-循环覆盖

黑盒测试

黑盒测试:也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出结果。

主要测试依据是需求文档、设计文档、用户手册

1.业务能力
2.测试策略(功能测试、uI 测试,兼容性测试)
3.设计用例 -- 逻辑思维

黑盒测试产生的原因

从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出所有的错误。实际上测试情况是无穷多的,完全测试是不可能的。

如何解决?

必须将黑盒测试行为加以分类

节约测试实施的时间和资源
避免盲目测试、提高测试效率
使测试的实施重点突出、目的更明确

等价类划分

是一种典型的、常用的黑盒测试方法,这种方法把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量有代表性的测试数据取得较好的测试结果。

1.有效等价类:

有效等价类是程序规格说明有意义,合理的输入数据 -- 验证软件的功能是否实现

2.无效等价类:

无效等价类是程序规格说明无意义,不合理的输入数据 -- 提高软件的安全性和体验性

等价类划分原则

1.如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类。--公式

-案例:成绩输入有效值:【0,100】,用户名:长度 8 个字符长度

2.在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

-案例:输入数值必须是正整数
-有效:正整数
-无效:
-负数·
-小数
-字符
3.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

-案例:第一个数和第二个数必填

4.在规定了输入数据的一组值(假定 n 个),并且程序要对每一个输入值分别处理的情况下,可确立N 个
有效等价类和一个无效等价类(没有无效等价类)。

-案例:密保问题选择

5.如果我们确知,已划分的某个等价类的各元素,在程序中的处理方式是不同的,则应将此等价类进
一步划分成更小的等价类。

-案例:分数:O-100,如果是 81-100 这个范围,则返回结果优秀,如果分数在 71-80 这个范围,则返回结果良好,如果在 60-70 这个范围,则返回结果合格,否则的话返回结果不及格

等价类分析步骤

1.为每个输入划分等价类,得到等价类列表,为每个等价类规定一个唯一编号

2.设计一个测试用例,使其尽可能多的覆盖所有的有效等价类。重复这一步骤,使得所有有效等价类
均被测试用例覆盖到

3.设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤,使得所有无效等价类均被覆盖

希望大家能够举一反三,活学活用。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册