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

2021-04-20  测试杰克 

什么是需求?

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

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

  • 案例:微信可以给好友发消息、发红包、发语音和视频等操作

非功能性需求:非功能性需求是产品必须具备的属性或品质。诸如观感、可用性、安全性和法律限制等。

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

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

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

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

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

需求的重要性



《医生和病人的故事》

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

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

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

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

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

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

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

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

如何进行需求分析

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

需求分析步骤:

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

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

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

  • U、性能、网络、兼容性、易用性、特殊情况



案例一

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

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

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

给大家提供一个大概的思路,更多案例以及视频教程 公众号主页:点击(领取资料)免费获得

功能性:

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

U工(外观测试)

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

性能测试:

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

测试用例设计方法

黑盒测试用例设计方法

  1. 等价类划分法
  2. 边界值分析法
  3. 错误推测法
  4. 因果图法
  5. 判定表法
  6. 正交实验法
  7. 状态迁移图法
  8. 场景法

白盒测试用例设计方法

  1. 语句覆盖
  2. 判定覆盖
  3. 条件覆盖
  4. 判定-条件覆盖
  5. 基本路径覆盖
  6. 循环覆盖

黑盒测试

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

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

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

黑盒测试产生的原因

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

如何解决?

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

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

等价类划分

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

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

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



等价类划分原则

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

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


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

  • 案例:输入数值必须是正整数
  • 有效:正整数
  • 无效:
    • 负数·
    • 小数
    • 字符

3.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

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


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

  • 案例:密保问题选择


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

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


等价类分析步骤

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


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


软件测试全栈工程师 更多精彩&高清原图-公众号:程序员一凡

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

60°|600 人阅读|0 条评论
登录 后发表评论