什么是需求?
需求是产品必须完成的事以及必须具备的品质。需求包括:功能性需求、非功能性需求和限制条件
功能性需求: 功能性需求是产品必须完成的那些事,要求一定的功能和品质。
- 案例:微信可以给好友发消息、发红包、发语音和视频等操作
非功能性需求:非功能性需求是产品必须具备的属性或品质。诸如观感、可用性、安全性和法律限制等。
-
例子:x平台用户数为5万人,每天登录用户数为1万左右,网络的带宽为100M带宽。在工作时间根据资料名称条件进行搜索,可以在3秒内得到搜索结果。
-
2021年天猫活动的订单处理峰值达高于58.3万笔/秒,要求订单成功率为100%一>成功下单
注意:在项目中一般优先分析功能性需求,产品的功能确定之后再分析非功能性需求。
限制条件:在需求分析中需要考虑一些条件约束,规则等,比如客户的约束,行业的约束,法律的约束以及自己的约束。
- 例如:客户需求:x平台必须在2021年开学的第一学期上线
- 例如:每个APP必须要求对应的隐私条例等
需求的重要性
《医生和病人的故事》
背景:冯大勇吃鱼时嗓子被鱼刺卡住了。现在正坐在椅子上候诊。
大夫:(在桌上拿起一份挂号单,大声的喊)冯大勇!
冯大勇:(病怏怏的样子,边走边咳嗽)我是。
大夫:怎么了?(低头整理手中的资料,自言自语,并打手势,示意冯大勇坐下)
冯大勇:我...(咳嗽)...我今天. . ﹒(咳嗽)大夫:不用说了,我知道了。(从桌子下面拿出一个大盒子,放在桌子上)
我看你适合吃这种药。这是本院独家开创的哮喘新药“咽喉糖浆”,疗程短,见效快,一个疗程吃3盒,平均每天只需花费3块钱。给你先开6盒吧!(边说边开药方)
冯大勇非常惊讶地瞪大眼睛并止不住地弯腰大声咳嗽,以至于把鱼刺都咳出来了。冯大勇从口里掏出一条巨型鱼刺,递给医生。医生见到鱼刺先是吃惊,而后又非常尴尬。
- 符合尽早介入测试、文档也需要测试原则
- 是设计测试用例的重要依据,有助于保证测试的质量和进度
- 是衡量测试覆盖率的重要指标。
如何进行需求分析
测试需求分析的主要目的:根据需求文档提取测试点,根据测试点来编写测试用例。
需求分析步骤:
1.熟悉需求背景及商业目标
2.找出功能性需求与约束:
- 单个功能,如能否登录,等否发送信息;
- 功能交互;
- 业务流程,如登录成功-给好友发送红包-好友领取红包
3.找出非功能性需求与约束:
-
U、性能、网络、兼容性、易用性、特殊情况
案例一
生活物品测试需求分析,如:杯子、笔、桌子
面试题:怎么对杯子、笔、桌子进行测试?讲出测试的思维?测试点?
1∶反问:笔、杯子、桌子需求是怎么样的? --测试思维
软件质量特性:功能性、可靠性、可用性、效率、可维护性、可移植性
给大家提供一个大概的思路,更多案例以及视频教程 公众号主页:点击(领取资料)免费获得
功能性:
- 笔头开合是否流程
- 书写是否流畅
- 笔头笔心大小是否合适
- 笔筒和笔芯是否牢固
- 笔芯替换是否方便
U工(外观测试)
- 尺寸大小:
- 色彩搭配:绿色
- 携带
- logo
性能测试:
- 笔能够写多长时间
- 笔心(墨水) :能够持续多长时长
- 高温低温
- 气味:特殊人群
测试用例设计方法
黑盒测试用例设计方法
- 等价类划分法
- 边界值分析法
- 错误推测法
- 因果图法
- 判定表法
- 正交实验法
- 状态迁移图法
- 场景法
白盒测试用例设计方法
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判定-条件覆盖
- 基本路径覆盖
- 循环覆盖
黑盒测试
黑盒测试:也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出结果。
主要测试依据是需求文档、设计文档、用户手册
- 业务能力
- 测试策略(功能测试、uI测试,兼容性测试)
- 设计用例--逻辑思维
黑盒测试产生的原因
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出所有的错误。实际上测试情况是无穷多的,完全测试是不可能的。
如何解决?
必须将黑盒测试行为加以分类
- 节约测试实施的时间和资源
- 避免盲目测试、提高测试效率
- 使测试的实施重点突出、目的更明确
等价类划分
是一种典型的、常用的黑盒测试方法,这种方法把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量有代表性的测试数据取得较好的测试结果。
1.有效等价类:
有效等价类是程序规格说明有意义,合理的输入数据--验证软件的功能是否实现
2.无效等价类:
无效等价类是程序规格说明无意义,不合理的输入数据--提高软件的安全性和体验性
等价类划分原则
1.如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类。--公式
- 案例:成绩输入有效值:【0,100】,用户名:长度8个字符长度
2.在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
- 案例:输入数值必须是正整数
- 有效:正整数
- 无效:
- 负数·
- 小数
- 字符
3.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
- 案例:第一个数和第二个数必填
4.在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立N个
有效等价类和一个无效等价类(没有无效等价类)。
- 案例:密保问题选择
5.如果我们确知,已划分的某个等价类的各元素,在程序中的处理方式是不同的,则应将此等价类进
一步划分成更小的等价类。
- 案例:分数:O-100,如果是81-100这个范围,则返回结果优秀,如果分数在71-80这个范围,则返回结果良好,如果在60-70这个范围,则返回结果合格,否则的话返回结果不及格
等价类分析步骤
1.为每个输入划分等价类,得到等价类列表,为每个等价类规定一个唯一编号
2.设计一个测试用例,使其尽可能多的覆盖所有的有效等价类。重复这一步骤,使得所有有效等价类
均被测试用例覆盖到
3.设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤,使得所有无效等价类均被覆盖
软件测试全栈工程师 更多精彩&高清原图-公众号:程序员一凡
希望大家能够举一反三,活学活用。