一、软件测试分类
α测试:开发环境下测试人员尽可能模拟用户操作去测
β测试:公测,真实环境下用户去测
黑盒测试:功能测试、性能测试
又称数据驱动测试
完全不考虑程序内部结构和内部特性注重于测试软件的功能需求
只关心软件的输入数据和输出数据
白盒测试:单元测试
研究产品内部的源代码和程序结构
单元测试就是白盒测试的一种
冒烟测试:软件的基本功能(电商app:浏览→加购物车→下单→付款)
回归测试:系统测试过程中发现的bug开发需要进行修改(一般第2轮才开始回归),回归①bug有没有改好②修改bug的影响功能③老功能能不能用(老功能也可能发现问题)→一轮轮回归,问题都解决完了,所有新功能的用例执行完了、老功能的用例回归完了
随机测试:所有操作都是随机生成的,模拟用户想到哪操作到哪,发现一些边缘性的比较隐蔽的错误。一般放在测试的最后去执行,选择比较重要的功能(新上功能、以前出现重大bug的模块进行复测)
探索性测试:随机测试的升级版,这是一种测试的思维,放弃复杂的测试计划和测试用例,在我们经验的基础上哪里怎么操作可能出问题,未来人工操作的方向
二、分层测试体系
(一)自动化分层测试体系
70%单元测试
20%服务测试
10%用户界面测试
1.单元测试(JUnit、TestNG、unittest、pytest)
单元测试方法
- Java:JUnit、TestNG
- Python:unittest、pytest
2.接口测试(Charles、Fiddler、postman、Jmeter、loadRunner、Requests、HttpRunner、HttpClient、RestAssured)
- 接口全称Application Programming Interface,一般称作API
- 是针对软件对外提供服务的接口的输入输出进行测试
- 检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性
接口测试方法 - Charles、Fiddler
- postman
- Jmeter(接口功能、接口性能)
- loadRunner
- python: Requests、HttpRunner
- Java: HttpClient、RestAssured
3.UI测试(selenium、appium)
UI测试方法
手工方法:人工查看、操作
自动化方法:
- web: selenium
- app: appium