SoftwareTest-CheatSheet
Software Test CheatSheet
单元测试
单元测试是针对代码单元的测试,通常只测试一个函数和方法调用,验证其运行结果是否符合预期,是对代码质量最快速的反馈。高覆盖率、高质量的单元测试是保障代码质量的第一道保护伞。在掌握
集成测试
虽然单独测试模块非常重要,但是测试各个模块之间交互是否正常,同样也占据了重要的地位。在微服务架构下,集成测试的目的是把一些子模块组合在一起,测试其作为子系统是否存在缺陷,检查模块之间的通信和交互是否通畅且准确,是否以预期的方式协作。
组件测试
在微服务架构中,组件实际上就代表着微服务本身,所以组件测试就是检查服务内部功能实现是否完整,内部逻辑是否正确,异常处理是否正常等。
契约测试
契约测试称之为消费者驱动的契约(Consumer-Driven Contracts,简称
端到端测试
端到端测试是从
压力测试
请求测试
# 其中-n表示请求数,-c表示并发数
$ ab -n 100 -c 10 http://test.com/
数据库测试
单元测试
在企业应用中,一个问题的完整解决方案通常包括很多的流程,这其中每个环节都需要反复迭代 优化调试,如何能够将复杂任务进行模块划分,并且保证整体流程的正确性呢
接口测试
接口测试是测试系统组件间接口(API)的一种测试,主要用于检测内部与外部系统、内部子系统之间的交互质量,其测试重点是检查数据交换、传递的准确性,控制和交互管理过程,以及系统间相互逻辑依赖关系等。
现在的互联网应用(App)已经普遍基于前后端分离架构思路构建,即后端提供数据接口,前端调用接口返回
之前基于
质量维度
功能正常:保持新老版本的兼容
性能正常:单次请求的响应时间跟总体的
质量体系 构建接口层的快速稳定的质量保证体系 构建接口监控体系
接口测试流程
在企业内部实施接口测试的实际流程如下:
接口的范围:需要覆盖多少业务和接口 接口分析:接口的协议、上下游依赖 接口测试用例设计:业务用例如何模拟和覆盖 接口测试框架选择:选择合适的框架 测试用例编写与维护:用例编写与维护更新 持续集成:不断集成测试
待测接口范围
常见的待测接口范围如下:
业务需求调研:研发和产品反馈常出问题的业务
接口文档:人工文档、
常见抓包分析
监听分析:
测试用例设计
接口调用的流程分析
代理抓包
线上
接口测试框架选择
关于如何选择接口测试框架,列举几个常见的框架特性供参考:
早期阶段:基于各种语言的
这里推荐开源的
简约的接口测试
质量体系 构建接口层的快速稳定的质量保证体系 构建接口监控体系
接口测试流程
在企业内部实施接口测试的实际流程如下:
接口的范围:需要覆盖多少业务和接口 接口分析:接口的协议、上下游依赖 接口测试用例设计:业务用例如何模拟和覆盖 接口测试框架选择:选择合适的框架 测试用例编写与维护:用例编写与维护更新 持续集成:不断集成测试
待测接口范围
常见的待测接口范围如下:
业务需求调研:研发和产品反馈常出问题的业务
接口文档:人工文档、
常见抓包分析
监听分析:
测试用例设计
接口调用的流程分析
代理抓包
线上
接口测试框架选择
关于如何选择接口测试框架,列举几个常见的框架特性供参考:
早期阶段:基于各种语言的
这里推荐开源的
简约的接口测试
驱动模式(Driven Pattern)
TDD
测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。我们这里把这个技术的应用领域从代码编写扩展到整个开发过程。应该对整个开发过程的各个阶段进行测试驱动,首先思考如何对这个阶段进行测试、验证、考核,并编写相关的测试文档,然后开始下一步工作,最后再验证相关的工作。下图是一个比较流行的测试模型: