测试用例篇

1.1万能公式

功能测试+性能测试+界面测试+兼容性测试+易用性测试+安全测试

功能测试:肯能来自于需求文档,也可能来自于生活经验。

性能测试:功能没有问题不代表性能一定是好的,性能往往表现在极端的情况下。

界面测试:颜色、形状、大小、材质、文字、输入框、图片、下拉框...所有可以看到的元素。

兼容性测试:浏览器的兼容性、版本兼容性、系统兼容性、数据兼容性。

易用性测试:软件是否具备简单易上手的属性。

安全测试:密码是否加密、数据库是否对隐私数据加密、SQL注入

SQL注入:select id, info where name = 关键词;假如用户在前端输入的关键词是1 or 1=1;SQL语 句就变成了:select id, info from user where name = 1 or 1 = 1;

例如:水杯的测试用例

兼容性测试里需要注意

不同的浏览器

不同的版本

可能会有非常非常多,难道所有的版本和浏览器我们都需要测试吗?我们选型的标准是什么?

如何回答?

  1. 大部分用户使用的

  1. 在工作中是有数据后台可以检测到大部分用户使用到的浏览器/版本/手机型号....后台可以将这些数据进行检测和管理起来

例如:登陆页面的测试用例

1.2设计测试用例的具体方法

  • 基于需求的设计方法

  • 等价类

  • 边界值

  • 因果图

  • 正交排序

  • 场景设计法

  • 错误猜测法

1.2.1 等价类

分区/分块的概念。依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

等价类的划分:

  • 有效等价类:针对需求文档的要求是有意义的集合

  • 无效等价类:针对需求文档的要求是没有意义的集合

步骤:

(1)确认有效等价类和无效等价类

(2)编写测试用例,写测试的数据

1.2.2 边界值

边界值指的是有效边界+无效边界。

例:成绩大于60可以获奖

边界值:60(无效边界)、61(有效边界)

1.2.3 判定表法

适用场景:输入条件的组合对应不同的结果

判定表设计测试用例的步骤:

  • 确认输入条件和输出条件

  • 找出输入条件和输出条件之间的关系

  • 画判定表

  • 根据判定表编写测试用例

案例:当订单使用了红包或者订单量金额大于300元,则该订单是优惠订单,否则是不优惠的订单。

  1. 确定输入条件和输出条件

  1. 找出输入条件和输出条件的关系

  1. 画判定表

  1. 根据判断表编写测试用例

(1)有红包并提交订单,则该订单为有优惠订单。

(2)金额大于300元并提交订单,则该订单为有优惠订单。

(3)有红包,金额大于300元并提交订单,则该订单为有优惠订单。

(4)有红包,金额小于300元,不提交订单,则该订单为无优惠订单。

(5)无红包,金额大于300元,不提交订单,则该订单为无优惠订单。

(6)无红包,金额小于300元,提交订单,则该订单为无优惠订单。

(7)有红包,金额大于300元,不提交订单,则该订单为无优惠订单。

(8)无红包,金额小于300元,不提交订单,则该订单为无优惠订单。

判定表法和因果图法其实步骤差不多,只不过因果图法例多了一步叫做”设计因果图“

1.2.4 场景设计法

基本事件流和备选事件流

编写测试用例:

  1. 基本事件流的用例:先插卡,输入正确的密码,选择取款功能......取卡

  1. 备选事件流

(1)插入卡之后,卡被ATM卡住......退卡

(2)插入卡之后,输入密码错误......退卡

................

1.2.5 正交法

判定表里:3个输入条件,2个输出条件,给出了8个测试用例(2^3);假如输入条件不止3个,若为10个,那么我们要设计1000 多个测试用例。

正交实验设计法指从大量的试验中挑选出适量的,有代表性的点,依据“正交表”从而合理的设计出测试用例~

例:假如地图软件,从出发地到目的地需要耗时多久~~

我们要考虑的因素很多,比如:下班的高峰期,今天不限号,天气原因,所经路段红灯时间长,地段(城市路段/郊区),道路施工,行驶人的驾车技能好坏,车况等等。

正交表

正交表的表示 L4(2^3),4代表的是4组实验(4个测试用例),3代表的是因素数(输入条件),2代表的每个因素数对应的水平数(输入条件的可能选项)。

正交表的特性:

  1. 每一列中,不同数字出现的次数相等

  1. 任意两列中数字的排列方式齐全而且均衡

根据正交表设计测试用例的步骤:

(1)找出因素数和水平数

(2)生成正交表(需要借助生成正交表的工具:allparis)

(3)根据正交表来编写测试用例

(4)补充可能存在遗漏但是非常重要的测试用例

案例:

  1. 找出因素数和水平数

因素数:5 (姓名、电子邮箱、密码、确认密码、验证码)

水平数:2 (填写、不填写 )

  1. 使用allparis生成正交表

(1)将水平和因素写入excel

(2)allpairs同级目录创建一个新的txt文件,复制excel中的因素和水平,粘贴到txt文件中,直接保存不需要任何处理

(3)使用allpairs工具生成正交表(cmd)

注意:0111jg.txt是自动生成的,打开之后就会出现如下正交表~

利用allpairs生成的正交表跟实际的正交表可能有出入,但是仍然不影响我们使用allpairs生成正交表~

  1. 根据正交表编写测试用例

(1)全部填写姓名、电子邮箱、密码、确认密码、验证码

(2)填写姓名、不填写电子邮箱、密码、确认密码、验证码

(3)填写电子邮箱、确认密码、不填写姓名、密码、验证码

(4)填写密码、验证码、不填写姓名、电子邮箱、确认密码

(5)填写姓名、电子邮箱、密码、不填写确认密码、验证码

(6)填写确认密码、验证码、不填写姓名、电子邮箱、密码

(7)全部都不填写姓名、电子邮箱、密码、确认密码、验证码

2. 测试分类

2.1 按照测试对象划分

2.1.1 可靠性测试

可靠性即可用性,是指系统正常运行的能力或者程度,一般用正常向用户提供软件服务的时间占总时间的百分比表示。

可靠性=正常运行时间/(正常运行时间+非正常运行时间)*100%

可用性指标一般要求达到4个或5个“9”,即99.99%或者99.999%

例:如果想要达到4个9(99.99%),对于全年不休息的系统来说,不可用的时间是多少呢?

设不可用时间为x

24*60*365=525600min

(525600-x)/525600*100%=99.99%

即x=52h

2.1.2 容错性测试

容错性测试是指系统能够处理异常,用户的错误操作而不至于系统崩溃,从而能够提高系统的可用性。

容错性和考考性的区别:

例:有一架飞机,飞机有四个引擎。假如说有一个引擎坏掉了,但是我们的飞机能正常的飞行。

一个引擎:不可靠的表现

飞机:容错性的表现(容错性好~)

2.1.3 安装卸载测试

工作中很容易遗漏安装和卸载的测试

2.1.4 内存泄漏测试

内存泄漏的检测方法:

  • 人工静态法:代码走读,人工查找未被回收的内存。

  • 自动工具法:借助相应的测试内存泄露的工具,如Visual Leak Detector,记录每次内存分配,清楚的告诉用户内存是如何泄露的。

2.1.5 弱网测试

安卓手机来说如果一直刷不到内容,可能会出现anr弹窗。如果有时候网不太好,可能会造成客户端频繁的发送请求。

怎样实施弱网测试?

借助工具去模拟弱网环境~

  1. 打开Fiddler,打开弱网设置选项

2.打开弱网设置的脚码。

2.2 按照是否查看代码划分

2.2.1 黑盒测试

黑盒测试也叫做纯功能测试,不关心具体是怎样实现的 (系统测试

2.2.2 白盒测试

关注程序的内部实现 (单元测试

2.2.3 灰盒测试

介于黑盒和白盒之间 (集成测试

为什么不能让灰盒测试取代黑盒测试和白盒测试?

灰盒测试没有白盒测试那么详尽,灰盒测试没有黑盒测试覆盖产品的广度大。所以灰盒测试不能取代黑盒和白盒测试。

面试题:哪种测试方法用的多?

黑盒测试和白盒测试 测试人员都会使用到,在工作根据具体情况来结合白盒测试和黑盒测试。通常情况下对于测试人员来说使用黑盒测试相对要多一些。

2.3 按照开发阶段划分

2.3.1 单元测试

对程序“最小单元”进行测试。

2.3.2 集成测试

为了在集成时测试模块/组件,以验证它们是否按预期工作,即测试单独工作的模块在集成时没有问题。

2.3.3 冒烟测试

开发人员完成开发任务后,交给测试人员进行测试的第一步,评估软件/系统是否具备可测试的条件。

2.3.4 回归测试

对历史版本,历史功能进行测试,保证功能都是符合要求的,借助自动化来进行回归测试。(自动化也是测试人员写的,自动化的测试是有局限性的,而且只是协调测试人员进行测试的一个工具~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值