目录
一、测试金字塔
1、每层的含义
(1)ui界面层就是界面测试;同一个系统不同层面的测试。
(2)业务逻辑层就是业务测试;主要是接口的测试,一个接口需要不同的方法组合在一起才能实现这个接口的具体功能。
(3)数据处理层就是单元测试;测试系统或者程序的最小单元,一般是具体功能的方法(代码)。
2、测试金字塔的特点
(1)越往上测试投入产出比越低;
(2)越往上测试效率越低;
(3)越往上测试定位问题越困难;(所以测试的时候主要精力都是在单元测试上)
二、按照开发阶段划分
单元测试、集成测试、系统测试、验收测试
1、单元测试
单元测试就是对系统或者程序的最小的功能单元进行测试;一般指一个具体功能的测试方法。
(1)测试阶段(时间):编码后;编码前(TDD)(TDD指的是测试驱动开发,先写好测试用例,再写代码);
(2)测试对象:程序中最小的单元;
(3)测试依据:详细设计文档和代码注释;
(4)测试方法:白盒测试;
(5)测试人员:开发人员或者白盒测试人员;
(6)测试内容:方法参数(类型,个数,顺序)、路径(if else)、异常、边界、局部数据结构;
2、集成测试
把单元模块按照一定的策略组合起来形成一个大的功能模块,对这个功能模块进行测试。
(1)测试阶段:单元测试之后;
(2)测试对象:模块间的接口;
(3)测试人员:黑盒测试工程师/白盒测试工程师;
(4)测试依据:单元测试的模块+概要设计文档;
(5)测试方法:灰盒测试;
(6)测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响;
3、系统测试
将软件系统看成是一个系统的测试。包括对功能、性能、环境等的测试。时间大部分在测试执行阶段,包括回归测试和冒烟测试。
(1)测试阶段:集成测试通过之后;
(2)测试对象:整个系统(软、硬件)
(3)测试人员:黑盒测试工程师;
(4)测试依据:需求规格说明书;
(5)测试方法:黑盒测试;
(6)测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全等;
回归测试和冒烟测试属于系统测试:
回归测试:增加新功能、修改BUG时、对程序引入新的代码的时候,除了要看修改后的旧代码,还有要看新引入的代码对旧代码功能有没有影响。
(为了提高效率,采用自动回归测试将大幅降低系统测试、维护升级等阶段的成本。)
冒烟测试:在测试人员正式介入测试之前,测试人员或者开发人员要对系统的主要功能或者核心的流程进行测试。
4、验收测试
用户来对系统进行全面测试,按照项目合同、任务书、双方约定的验收依据文档进行测试;
(1)测试阶段:系统测试之后;
(2)测试对象:整个系统(包括软硬件);
(3)测试人员:主要是最终用户或者需求方;
(4)测试依据:用户需求、验收标准;
(5)测试方法:黑盒测试;
(6)测试内容:与系统测试相同;