一.按照测试对象划分
1.界面测试
又称UI测试,按照界面的需求(一般是ui设计稿)和界面的设计规则,对我们软件界面所展示的全部内容进行测试和检查.
对于非软件来说:颜色,大小,材质,整体是否美观
对于软件来说:输入框,按钮,文字,图片...的尺寸,颜色,形状,整体适配,清晰度等等,
2.可靠性测试
可靠性-=正常运行时间/(正常运行时间+非正常运行时间)*100%
可用性指标一般要求达到4个或者5个"9",即99.9999%
3.容错性测试
容错性测试是指系统能够处理异常,用户的错误不至于系统崩溃,从而能够提高系统的可靠性
4.文档测试
在需求评审的时候测试人员需要进行需求分析.
5.兼容性测试
6.易用性测试
软件需要具备简单容易上手的属性
7.安装卸载测试
移动端测试很容易遗漏卸载测试
8.安全测试
SQL注入,xss漏洞,越权
9.性能测试
资源泄露
资源瓶颈(CPU,内存,网络,进程对比)裁长补短
10.内存泄露测试
内存泄露检查方式
1.工具检查:静态代码扫描化工具
2.人工检查
二.按照是否查看代码划分(重点
1.黑盒测试
在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规
定正常使用、是否能适当的接收输入数据而输出正确的结果,满足规范需求。
又称为数据驱动测试,只注重软件功能,
常见的黑盒测试设计测试用例的方法:等价类,边界值,判定表,正交法,场景法,错误猜测法
2.白盒测试
成为结果测试或者逻辑驱动测试
检查程序内部实现,检查程序的运行状态是否符合预期
3.灰盒测试
介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输
出、输入的正确性,同时也关注程序内部的情况。
问题----为什么不直接用灰盒测试?
灰盒测试没有白盒测试详细,完整,黑盒测试是覆盖产品功能范围最广的测试,所以灰盒测试不能取代,但是黑盒测试可以取代灰盒测试,但是不建议,因为需要设计非常多的测试用例,需要消耗大量代码
4.面试题:场景的测试方法有哪些?哪种方法用的比较多?
白盒,灰盒,黑盒,在工作中根据实际情况来结合使用白盒测试和黑盒测试,但是黑盒测试更多一些.
要通过白盒测试去查看内部结构,去设计可能错误的情况,提高代码的健壮性,
三.按开发阶段划分
1.单元测试
针对系统最小单位进行测试
2.集成测试
完成单元测试之后,将模块和模块之间进行集成,按照功能来进行测试.
3.冒烟测试
由测试人员进行,检查系统主要功能流程是否正常,评估软件/系统是否具备可测试的条件或者可测试的标准
4.系统测试
集成测试完成之后,测试人员准备项目环境,将程序看成一个整体,对程序/系统进行测试,保证系统功能符合产品规格说明书的要求
5.回归测试
对历史版本,历史功能进行测试,保证共是符合要求的
随着功能迭代越来越多,版本越来越多,回归测试比较麻烦并且难度大,需要借助自动化测试
6.验收测试
由用户来进行验证测试,目的为了验证产品/程序符合用户要求
实际上主要由产品或者运营进行验收