本节大纲

 

Ø软件测试需求分析的概述

Ø项目需求分析实战演练

Ø用例设计方法-等价类

Ø用例分析项目实战

Ø用例设计方法-边界值

01需求分析的概述

什么是需求?

 

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

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

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

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

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

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

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

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

Ø 例如:客户需求:x平台必须在2021年开学的第一学期上线

 

需求的重要性

 

Ø 符合尽早介入测试、文档也需要测试原则

Ø 是设计测试用例的重要依据,有助于保证测试的质量和进度

Ø 是衡量测试覆盖率的重要指标。

 

如何进行需求分析

 

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

Ø 需求分析步骤:

1. 熟悉需求背景及商业目标

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

• 单个功能,如能否登录,等否发送信息;

• 功能交互;

• 业务流程,如登录成功-给好友发送红包-好友领取红包

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

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

02需求分析演练

案例

 

Ø 生活物品测试需求分析,如:杯子、笔、桌子

 

不管让你测什么,面试官的考察主要目的其实是:没有需求文档或者需求不完整的情况下如何测试 ?能不能把测试用例设计方法应用到实际工作中去 ?测试思维是否完整 ,应变能力如何,表达能力如何?

 

一、如何测试一个杯子?

 

功能测试:

1.倒入温水,测试杯子是否可以正常装水;

2.装入水后,是否可以正常喝水;

3.杯子是否有保温功能,保温功能是否正常;

4.拧紧杯盖后,上下左右翻转杯子,杯子是否漏水;

 

容量测试:

1.倒入温水,测试杯子的最大盛水量是多少;

2.杯子的最大盛水量是否符合国际计量标准,是否没有误差;

 

兼容性测试:

1.分别倒入不同的液体(冰水、热水、温水、果汁、酒水),测试杯子是否正常;

2.用杯子泡茶、咖啡、牛奶,测试杯子是否可以正常使用;

3.在大风、大雨、大雪、高温天气下,杯子是否正常使用;

4.杯子放进微波炉,是否会爆炸;

5.杯子放进冰箱的时候,是否会融化;

 

安全性测试:

1.杯子的材质是否符合国际标准,是否对人体有害;

2.杯子是否会与所盛液体发生化学反应,产生对人体有害的物质(细菌,病毒等);

3.杯子在高温、零下温度是否会发生化学反应,产生有害物质;

4.杯子置于微波炉、冰箱是否会发生化学反应,产生有害物质;

5.杯子破损后,是否容易对使用者造成伤害;

 

性能测试:

1.分别倒入0-100摄氏度的水,是否可以承受不同温度;

2.倒入不同液体静置一段时间(24小时以上),杯子是否会漏水;

3.杯子的保温性是否达到要求 ;

4.杯子的耐热性是否达到要求;

5.杯子的耐寒性是否达到要求;

 

压力测试:

1.用手按压杯子,是否容易变形;

2.杯子从不同高度摔下去的损坏程度如何;

3.在杯子内分别装入少量的、半杯的、满杯的液体,看其装载量是否达到设计标准;

 

易用性测试:

1.杯子的形状是否容易倒入液体;

2.杯子的重量和大小是否合适;

3.杯子是否防滑;

4.杯口是否平整,是否方便饮用;

5.杯子拿在手上是否会掉色;

6.杯子是否隔热、不烫手;

 

UI测试:

1.杯子设计是否符合需求规格说明书;

2.杯子的形状和颜色是否符合大众审美需求;3.杯子是否标有刻度、Logo等;

 

交互性测试:杯子与杯盖、杯托交互性是否符合用户使用习惯;

 

文档测试:使用手册是否对杯子的用法、限制、使用条件进行了详细描述;维护性测试:杯子破损后,是否有修补措施;

 

二、如何测试一把伞?

 

功能测试:

1.伞是否可以正常打开/关闭,是否可以反复打开/关闭;

2.伞是否可以折叠,伞的尺寸是否符合使用需求;

3.伞骨与伞柄是否耐用,材质是否符合需求,是否生锈;

4.伞的底座是否结实,是否容易脱落;

5.伞是否能够正常遮阳/挡雨,伞面是否能够承受住风吹日晒,是否防紫外线;

6.伞的暗扣/粘扣的是否能够正常使用,外部捆绑条长度是否合适,是否结实耐用;

7.自动伞是否可以正常使用,按钮承受力度是否适中;

 

UI测试:

1.伞的类型是否符合需求,手动伞、自动伞;

2.伞的外观、颜色、是否齐全,是否美观;

 

易用性测试:

1.伞的重量和大小是否方便人们携带;

2.伞的打开、关闭是否容易操作;

 

兼容性测试:

1.伞的用途:遮阳、挡雨是否可以一伞二用;

2.伞是否能够遮挡住别的东西,例如沙子等;

 

压力测试:

1.遮阳伞的抗紫外线程度;

2.伞最大能承受住多大的风、雨的力度;

 

安全性测试:

1.伞尖是否容易误伤到旁人;

2.伞柄是否光滑,避免开合刮伤;

3.伞底座的挂绳是否结实,不易脱落;

 

维护性测试:伞破损后,是否有修补措施;

 

三、如何测试一支钢笔?

 

功能测试:

1.钢笔书写文字是否流畅;

2.钢笔字迹的颜色是否正常,书写的文字是否能正常显示;

3.钢笔书写字迹的粗细度是否合适;

4.钢笔是按键式还是笔帽式的(按键式的能否正常使笔芯正常收缩,笔帽式的是旋转的还盖帽的);

5.钢笔的笔芯触地能否正常书写;

6.钢笔笔芯是否漏墨水;

7.钢笔没有墨水是否能继续书写;

8.钢笔笔杆能否正常拆卸;

9.钢笔笔芯用完能否换笔芯;

 

UI测试:

1.钢笔的笔杆、笔帽、笔芯颜色与风格是否统一;

2.钢笔上是否注明了品牌;

 

兼容性测试:

1.钢笔能否在各类纸张上进行书写;

2.钢笔换不同类型的笔芯能否调换成功;

 

易用性测试:

1.笔杆是否防滑处理;

2.笔杆长度大小是否符合正常人的手大小长度设计;

 

安全性测试:

1.钢笔笔芯的墨水是否有毒;

2.手部粘漆是否有毒;

3.笔杆是否光滑平整不划手;

 

压力测试:

1.钢笔从一定的高度掉落,是否完好无损;

2.钢笔是否能承受一定的压力;

 

 

四、如何测试一个桌子?

 

功能测试:

1.确认桌子的功能是用于办公还是用于放置物品,桌子的尺寸是否符合需求;

2.桌腿高度粗细是否合适,接触地面的部分是否平整;3.桌面是否保持水平面持平,是否能放置物品保持不倾斜;

3.桌面和桌腿连接处是否紧密无缝隙;

4.桌子的支撑点是否牢固,放置物品桌子是否摇晃;

5.桌子会不会掉颜色,物品在桌子上放置一段时间颜色会不会粘到物品上;

6.有水撒到桌子上的时候,用布或纸擦的时候会不会掉颜色;

7.桌面是否防水、防油以及其他污渍;

 

易用性测试:

1.桌子的高度是否合适,是否方便拿放物品;

2.桌子是否方便移动,重量是否合适;

3.桌子有污渍是否易于清理干净;

 

UI测试:

1.检查桌子整体颜色是否均匀协调,各个部位之间的颜色是否协调;

2.桌子形状大小是否适中,桌面与桌腿的大小比例是否协调;

3.桌子的表面是否光滑,是否会凹凸不平;

 

安全性测试:

1.桌子的桌面、边缘和拐角处是否平滑不伤手;

2.桌子的支撑力是否足够;

3.桌子推倒后,损毁程度如何,是否不易伤人;

 

性能测试:

1.桌子的承重能力如何,最大能承受的重量是多少;

2.桌子上堆放较重物体一段时间,承重能力如何;

03用例方法-等价类

黑盒测试

 

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

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

Ø 1:业务能力

Ø 2:测试策略(功能测试、UI测试,兼容性测试)

Ø 3:设计用例 --逻辑思维

 

案例需求:

 

Ø 两个整数加法计算器基本需求

 第一个数和第二个数都是只能输入-99到99之间的整数

 对于输入的小于-99的数据或者大于99的数据,程序应给出明确提示

 对于输入的小数、字符等非法数据,程序应给出明确提示

 

 

 

 

你会这样测试吗?

 

-99+(-99),-99+(- 98),......,-99+99-98+(-99),-98+(-98),......,-98+99 ...... 98+(-99),98+(-98),......,98+99 99+(-99),99+(-98),......,99+99

 

黑盒测试产生的问题

 

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

Ø 如何解决?

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

1、节约测试实施的时间和资源

2、避免盲目测试、提高测试效率

3、使测试的实施重点突出、目的更明确

 

测试用例设计方法

 

Ø 黑盒测试用例设计方法

 

1. 等价类划分法

2. 边界值分析法

3. 错误推测法

4. 因果图法

5. 判定表法

6. 正交实验法

7. 状态迁移图法

8. 场景法

 

Ø 白盒测试用例设计方法

 

1. 语句覆盖

2. 判定覆盖

3. 条件覆盖

4. 判定-条件覆盖

5. 基本路径覆盖

6. 循环覆盖

 

等价类划分法

 

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

 

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

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

 

 

 

 

等价类划原则

1. 如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类。• 案例:成绩:【0,100】,用户名:长度8个字符长度

 

 

 

 

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

• 案例:输入数值必须是正整数

• 有效:正整数

• 无效:

• 负数

• 小数

• 字符

 

3. 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。• 案例:第一个数和第二个数必填

 

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

•案例:密保问题选择

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

• 案例:输入数值必须是正整数

 

等价类分析步骤

 

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

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

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

 

04用例分析实战

案例-需求

 

Ø 两个整数加法计算器基本需求 第一个数和第二个数都是只能输入-99到99之间的整数,且为必填项 对于输入的小于-99的数据或者大于99的数据,程序应给出明确提示 对于输入的小数、字符等非法数据,程序应给出明确提示

 

 

 

 

分析1:等价类列表

 

 

 

 

分析2:测试用例

05设计方法-边界值

边界值分析法

 

Ø 边界值分析法的理论基础,是假设大多数的错误是发生在各种输入条件的边界上,如果在边界上的取 值不会导致程序出错,那边其他的取值导致程序错误的可能性也很小。

Ø 是对等价类划分法的一种补充。边界值的分析基本思想:正好等于、刚刚大于、刚刚小于边界的值作 为测试数据。

Ø 使用场景:

1. 输入条件明确了一个值的取值范围,或是规定了值的个数

2. 输入条件明确了一个有序集合

 

分析1:等价类+边界值

 

 

 

 

分析2:测试用例

 

 

 


 

文章首发于微信公众号:程序员一凡,如果对你有帮助,记得点文末的在看,让这么精彩的内容让更多的朋友看到

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!