努力经营当下,直至未来明朗!
文章目录
- 测试分类(大框架)
- 一、按照测试对象划分
- 一)可靠性测试
- 二)容错性测试
- 三)安装卸载测试(万能公式中可以加上)
- 四)内存泄漏测试
- 五)弱网测试(万能公式中也可以添加)
- 二、按是否查看代码划分
- 一)黑盒测试
- 二)白盒测试
- 三)灰盒测试
- 三、按照开发阶段划分
- :sparkles: 小结
普通小孩也要热爱生活!
测试分类(大框架)
一、按照测试对象划分
一)可靠性测试
- 概念:可靠性(Availability)即可用性,是指系统正常运行的能力或者程度,一般用正常向用户提供软件服务的时间占总时间的百分比表示。
- 公式(不用记忆):可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)*100
- 可用性指标一般要求达到4个或5个“9”,即99.99%或者99.999%
- 不同的应用系统,可用性的要求是不一样的,非实时性的信息系统或一般网站要求都很低,99%和99.5%就可以了;但是军事系统,要求则很高。
二)容错性测试
- 容错性测试是指系统能够处理异常,用户的错误操作而不至于系统崩溃,从而能够提高系统的可用性。
- 容错性测试包含以下方面:
① 输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好,系统只给出提示或内部消化掉,而不会导致系统出错甚至崩溃。
比如数据级测试,校验测试,环境容错性测试,界面容错性测试
② 灾难恢复性测试。
通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失,系统和数据是否能尽快恢复。
三)安装卸载测试(万能公式中可以加上)
- 工作中容易遗漏安装和卸载的测试
- 应用的安装和卸载在任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要Critical的缺陷。主要需要考虑以下方面:
① 软件不同的安装和卸载方式;
② 应用是否可以在不同的系统,版本下安装(安装兼容性)
③ 安装或者卸载过程中是否可以手动暂停,或者取消
④ 安装空间不足的时候系统是否有提示
⑤ 是否可以正常的卸载,以及应用软件的各种卸载方式
⑥ 卸载和安装过程中出现环境问题,软件是否可以正常并且合理的应对,比如死机,断电,断网等
四)内存泄漏测试
- 造成内存泄露的原因有很多,最常见的有以下几种:
① 分配完内存之后忘了回收。
② 程序写法有问题,造成没办法回收(如死循环造成无法执行到回收步骤)。
③ 某些API函数的使用不正确,造成内存泄露。
- 工作中内存泄漏检测方法:
① 人工检查:代码走读
② 借助工具进行代码静态扫描
五)弱网测试(万能公式中也可以添加)
- 安卓手机如果一直刷不到内容,可能会出现anr(无响应)弹窗
- 如果有时网不太好,可能会造成客户端频繁地去发送请求,造成服务器压力过大
- 【面试题】如何实施弱网测试?
1)网络环境:wifi、5G、4G、3G、2G
2)此时就需要借助fiddler进行环境的模拟:
① 打开弱网设置:打开fiddler -> Rules -> Performance -> Simulate Modern Speeds进行勾选
② 打开设置弱网的脚本:打开fiddler -> Rules -> Customize Rules… -> 找到弱网设置的代码
(注意:数值的单位是传输1KB需要多少ms,也就是ms/KB)
3)如何计算2G和3G的上下行速率?
参考:上下行速率
注意:B是指Byte字节,b是指bit比特;则:1B=8b
运行商的x kb/s我们需要转换成KB/ms,也就是1/x/8*1000)KB/ms
。
如果计算太麻烦,直接进行百度!
【关键词:弱网模拟2G和3G】
二、按是否查看代码划分
一)黑盒测试
- 黑盒测试其实也就是“纯功能测试:不关心代码内部具体怎么实现,只关心产品最后是否符合产品需求说明书的要求。
- 一般用在系统测试阶段。
- 黑盒测试又称之为数据驱动测试,只注重软件的功能。
- 黑盒测试的优点:
① 不需要了解程序内部的代码以及实现,不关注软件内部的实现。
② 从用户角度出发设计测试用例,很容易的知道用户会用到哪些功能,会遇到哪些问题,锻炼测试人员的产品思维
③ 测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的功能。
- 黑盒测试的缺点:
不可能覆盖所有的代码。 - 黑盒测试用到的测试方法有:等价类,边界值,因果图,场景法,错误猜测法等。
二)白盒测试
- 关注程序内部的实现,保证代码的逻辑以及状态符合预期。
- 一般用在单元测试阶段。
- 白盒测试又称为结构测试或逻辑测试,它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。
- 主要包含六种测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
三)灰盒测试
- 介于黑盒和白盒之间的测试,既关心功能又关心内部代码是如何实现的。
- 为什么不让灰盒测试直接取代黑盒测试和白盒测试?
① 灰盒测试没有白盒测试那么详尽
② 灰盒测试没有黑盒测试覆盖产品的广度大
③ 所以:黑盒测试不能取代黑白盒。 - 灰盒测试主要使用在集成测试阶段。(集成测试一般是由程序员来做的)
【面试题】常见的测试方法有哪些?哪种测试方法用的多?
1)黑盒测试、白盒测试、灰盒测试
2)黑盒测试和白盒测试 测试人员都会使用到,在工作中根据具体情况来结合黑盒测试和白盒测试。通常情况下,测试人员使用黑盒会相对多一些。
三、按照开发阶段划分
- 单元测试:
对程序的“最小单元”进行测试。(最小单元是人为定义的) - 集成测试:集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
- 系统测试:开发人员为整个系统的功能等进行测试
- 验收测试:甲方或用户进行验收测试
- 冒烟测试:开发人员完成开发任务后交给测试人员进行测试的第一步。评估软件/系统是否具备可测试的条件。
- 回归测试:
1)对历史版本、历史功能进行测试,保证功能都是符合要求的。
2)借助自动化来进行回归测试:自动化也是测试人员写的,自动化的测试是有局限性的,只是协助测试人员进行测试的一个工具。
【注意:自动化是不会取代人工测试的】
✨ 小结
- 设计测试用例的万能公式
- 按照测试对象划分:可靠性、容错性、安装卸载、内存泄漏以及弱网测试
- 按照是否查看代码:黑盒、白盒以及灰盒测试
- 按照开发阶段:单元、集成、系统、验收、冒烟以及回归测试