目录
1.按开发阶段分(重点,必须掌握)
- UI界面层(UI):(相对来说比较简单,人员多,)功能验证测试,兼容性与用户测试
- 业务逻辑层(Server):(比上一层难,)客户端模拟测试,内外接口测试(相对而言),SDK接口测试
- 数据处理层(unit):(比较重要,要求高,比较难,人员少,)单元测试(白盒测试,对代码进行测试),CodeReview(代码复审)。
SDK:全称:SoftWare DeftWare DeveLopment Kit,一般是指软件工程师特定的软件包建立的开发工具集合;
ROI:投入产生比
1.1 单元测试(模块测试)
它是对软件组成的单元进行测试。其目的是检验软件基本组成单元的正确性,测试的对象是软件设计的最小单位:模块。又称为模块测试。针对于代码测试
- 测试内容:
1)模块接口测试:针对于参数,边界值测试
2)局部数据结构测试:模块内部的数据参数进行测试;
3)路径测试:if else ,两条路都要走
4)错误处理测试:错误数据测试,代码内部和接口的错误处理
5)边界测试:考虑边界值
- 测试方法:白盒测试(针对于代码测试)
- 测试依据:代码和注释+详细设计文档
- 测试对象:最小模块
- 测试人员:白盒测试工程师或开发工程师
- 测试阶段:编码后或者编码前(TDD)
- 编码前测试(测试驱动开发):研发人员根据测试人员的测试用例进行编写代码,代码的缺陷比较少
1.2 集成测试
集成测试也称联合测试(联调)、组装测试,将程序模块采用集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
- 测试阶段:一般单元测试之后进行
- 测试对象:模块间的接口
- 测试方法:黑盒(测试功能)和白盒(测试代码)
- 测试内容:
1)模块之间的数据传输
2)模块之间功能冲突
3)模块组装功能正确性
4)全局数据结构
5)单模块对系统的影响
- 测试依据:单元测试的模块+概要设计文档
- 测试人员:白盒测试工程师或开发工程师
1.3 系统测试
花费时间最长,最核心的阶段,在集成测试之后
将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。
- 测试方法:黑盒测试
- 测试人员:黑盒测试人员
- 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
- 测试对象:整个系统(软、硬件)
- 测试阶段:集成测试通过之后
- 测试依据:需求规格说明文档
1.3.1 回归测试
在系统测试的之中或之后进行回归测试;把之前测试的再测试一次
回归测试是指修改了旧代码之后,更新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅度降低系统测试、维护升级等阶段的成本。
一定要有修改
在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。
1.3.2 冒烟测试
核心是测试人员决定是否通过测试,测试人员是否进行测试的依据,在系统测试之前
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式的测试工作,冒烟测试的执行者是版本编译人员。
- 冒烟测试一般在开发人员
- 概念来自于硬件
- 冒烟测试一般在开发人员开发完毕后送给测试人员来进行测试时,测试人员会进行冒烟测试,保证基本功能正常,不阻碍后续的测试。
- 先冒烟,再系统再回归,都归属于系统测试
1.4 验收测试
它是部署软件之前的最后一个测试操作。是技术测试的最后一个阶段。
- 测试的目的:确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买者展示该软件系统是否满足原始需求。
- 测试阶段&#x