一、按照测试对象分类
1.界面测试
也称UI测试,界面测试参考UI设计图
非软件:颜色、大小、形状、材质、整体是否美观
软件:输入框、按钮、文字、图片等的尺寸、颜色、形状、整体适配度以及清晰度等
2.可靠性测试
可靠性=正常运行时间/(正常运行时间+非正常运行时间)*100%
3.容错性测试
指系统能够处理异常,用户的错误操作而不至于系统崩溃,从而提高系统的可靠性
4.文档测试
通常来说是在需求评审时测试人员需要进行需求分析(文档测试)
5.兼容性测试
浏览器兼容性:Firefox 、Chorme …
平台兼容性:PC端上 Linux、Windows、Mac、鸿蒙…
移动端上 安卓、苹果
不同平台有不同的版本
自身兼容性:Chorme软件(1~103版本)
其他软件兼容性:百度APP (tab推荐、直播、小说… 、贴吧、好看视频都有小说的入口(通过矩阵产品来引流)
数据兼容
6.易用性测试
软件具备简单易上手的属性
7.安装卸载测试
移动端测试很容易漏掉卸载测试
8.安全测试
SQL注入(太信任用户,用户没有严格限制用户输入导致信息泄露)、XSS漏洞、越权(垂直越权、水平越权)
9.性能测试
资源泄露
资源瓶颈(CPU、内存、网络、进程对比)采长补短
10.内存泄露测试
资源没有回收导致内存泄露
内存泄露检查方式:
(1)工具检查:静态代码扫描工具
(2)人工检查
二、按照是否查看代码划分
1.黑盒测试
把代码看成一个黑匣子,不考虑内部结构以及内部特性,只关心功能是否符合产品规格说明书的要求。又可以成为数据驱动测试或者功能测试
常见的黑盒测试设计测试用例的方法:等价类、边界值、判定表、正交法、场景法、错误猜测法等。
2.白盒测试
成为结果测试或者逻辑驱动测试
检查程序内部实现、检查程序的运行状态是否符合预期。
3.灰盒测试
介于白盒测试与黑盒测试之间,既要关心内部结构和内部特性又要关心功能是否能够符合要求。
4.为什么不直接用灰盒测试?
灰盒测试没有白盒测试详细、完整,黑盒测试是覆盖产品功能范围最广的测试。所以灰盒测试不能取代白盒测试与黑盒测试。但是黑盒测试能够取代灰盒测试,但是不建议,因为需要消耗很多的代码以及设计非常多的测试用例。
三、按照开发阶段划分
1.单元测试
针对系统的最小单元进行测试,最小单元是认为规定的
2.集成测试
完成单元测试后,将模块与模块之间进行集成,按照功能来测试
3.冒烟测试
由测试人员来执行,检查系统的主要功能和主要流程是否正常,评估软件/系统是否具备可测试条件或者可测试的标准。
4.系统测试
集成测试完成之后,测试人员准备项目环境,将程序看成是一个整体,对系统/项目进行测试,保证系统的功能符合产品规格说明书。
5.回归测试
对历史版本或者历史功能进行测试,保证功能是符合要求的。
随着功能迭代越来越多,版本越来越多,回归测试的难度相对来说较大一些。
6.验收测试
通常指用户来进行验证测试,目的是为了让产品/程序符合用户的需求,实际上主由产品或者运营人员来完成。