软件测试分类
按开发阶段分类
系统测试
验收测试
- α测试:内测版本,公司内部人员在开发环境下模拟用户进行产品操作,从中发现问题并进行修正。
- β测试:公测版本,把产品放到实际使用环境下给用户使用,用户发现问题后反馈给开发人员进行修复。(更容易发现一些真实使用场景下发现的问题)
按是否查看代码
黑盒测试
- 又称数据驱动测试
- 完全不考虑程序内部结构和内部特性
- 注重于测试软件的功能需求
- 只关心软件的输入数据和输出数据
白盒测试
- 研究产品内部的源代码和程序结构
- 单元测试就是白盒测试的一种
按测试执行方式
根据是否运行程序
按是否手工执行划分
其他分类
分层测试体系
自动化分层测试体系
- 70%单元测试(自动化的单元测试)
- 20%服务测试(服务端的测试,即接口测试,接口自动化)
- 10%用户界面测试(UI自动化测试)
单元测试方法
- Java
JUnit TestNG - Python
unittest pytest
接口测试
- 接口:接口全称Application Programming Interface,一般称作API。
- 接口测试:是针对软件对外提供服务的接口的输入输出进行测试。
- 检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。
接口测试方法
- Charles,Fiddler—都是代理工具,可进行接口数据的抓包
- Postman—比较好用的接口测试工具,比较流行
- Jmeter—开源的性能工具,可做接口功能性的验证,接口性能方面的验证
- loadRunner—商业性的性能测试工具,收费较高,不作推荐
- python:Requests,HttpRunner
- Java:HttpClient,RestAssured
UI测试方法
- 手工方法:人工查看,操作
- 自动化方法:
Web—selenium app—appium
常用测试平台
- 测试用例管理与Bug管理平台
- 代码管理平台
- 流程管理平台
测试用例管理平台
- jira:推荐方案,定制性很强,跨部门协作平台(基本上国内中大型公司都在使用jira)
- redmine:推荐方案,开源,活跃,定制性很强(小型企业)
- testlink:流行的测试用例管理平台,体验不太好,不作推荐
- 其他:TAPD,云效,禅道,gitlab,在线协作文档
- 无协作模式:excel,思维导图
bug管理平台
- 通常与用例管理平台一致
- 测试用例,bug都可以使用issue表达
- 关联关系设定
- 测试用例与bug的属性设定
代码管理平台
- gitlab:可本地部署的git代码管理平台,行业标准
- subversion:svn管理,已经过时
- github:开源项目运作
- bitbucket:与Jira同属一家公司,altassian
持续集成管理平台
- jenckins:持续集成与持续交付的主流平台
- gitlab runner:gitlab的持续交付方案
- github action: github的开源方案
- 自建devops平台:企业定制平台,TAPD,云效等
|