测试技术体系

软件测试分类
按开发阶段分类
单元测试-按照最小独立模块进行测试
集成测试 -把小模块组装到一起在进行测试
系统测试包括(功能测试、兼容性测试、性能测试、安全测试)-把所有流程放到一起进行测试 其中性能测试的主要指标有响应速度快不快,是否流畅,cpu占用率,内存使用情况、最大并发用户、长时间使用是否稳定;安全测试如果是web要熟悉各种网络协议,HTTP协议,防火墙,各种操作系统的漏洞,路由器等,app的话关注sql注入等等
验收测试(α测试&β测试)-上线前再次进行验证,来验证是否满足客户的需求。其中α测试要在开发环境测称为内测 β测试要在真实环境测试成为公测
按是否查看代码
白盒测试-研究产品内部的源代码和程序结构,单元测试就是白盒测试的一种
黑盒测试-注重于测试软件的功能需求,只关心软件的输入数据和输出数据
灰盒测试-也会关注软件的输入数据和输出数据,只是不像白盒研究内部逻辑那么彻底,例如灰盒测试
按测试执行方式
静态测试-不运行程序的测试,例如代码评审代码审计
动态测试-运行程序的测试,输入数据检查数据结果
按是否手工执行划分
手工测试
自动化测试
其他分类
冒烟测试-正式开始测试之前,对基本功能的验证
回归测试-不要光测bug本身,还要对bug相关联的模块进行测试;另外验收测试前,要回归一些老功能
随机测试-模拟用户真实操作,发现边缘性错误,挑选重要模块、出现重大事故的模块
探索性测试-基于经验哪块可能会出现的问题,什么样的操作可能会出问题
分层测试体系
70%单元测试
单元测试方法
JAVA 的JUnit、TestNG
Python的unittest、pytest
20%服务测试
10%用户界面测试

接口测试


接口举例子:电梯的按键、手机充电口
接口就是位于复杂系统之上,能够简化任务的一个东西
在软件中,接口就是各个模块相互传递数据的桥梁
UI测试
手工方法:人工查看、操作
自动化方法 :
web:selenium
app:appoum