开发阶段单元测试、集成测试、系统测试、验收测试的区别_onekbit经验百科
豆豆 2019-06-24 19:34:37 592人已围观
软件开发中的完成测试环境所包括的环节包括:UT、IT、ST、UAT
UT = Unit Test 单元测试
IT = System Integration Test 集成测试
ST = System Test 系统测试
UAT = User Acceptance Test 用户接受测试(俗称:验收测试)
单元测试
单元测试是对软件组成单元进行测试,目的是检验软件基本组成单元的正确性,测试对象是软件设计的最小单位 - 模块,又称为模块测试
单元测试的实质是代码测代码
测试阶段: 编码后或者编码前(TDD,编码前属于测试驱动开发)
测试对象: 最小模块
测试人员: 白盒测试工程师或开发工程师(这一点很好的体现了代码测代码的实质)
测试依据: 代码和注释 + 详细的设计文档
测试方法: 白盒测试
测试内容: 模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
集成测试
集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的继承策略组装起来,对系统的接口(接口属于白盒)以及组装好的功能(功能属于黑盒)进行正确性检查的测试工作
集成测试的主要目的是检查软件单位之间的接口是否正确
测试阶段: 一般在单元测试以后
测试对象: 模块间的接口(单元测试的接口是指一个模块的接口,这里是强调模块间)
测试人员: 白盒测试工程师或者开发工程师
测试依据: 单元测试的模块 + 概要设计文档
测试方法: 黑盒测试和白盒测试的组合
测试内容: 模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响
系统测试
系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
包括对功能、性能、以及软件所运行的软硬件环境进行测试
系统测试包括冒烟测试和回归测试
测试阶段: 集成测试通过之后
测试对象: 整个系统(软、硬件)
测试人员: 黑盒测试工程师
测试依据: 需求规格说明书
测试方法: 黑盒测试
测试内容: 功能、界面、可靠性、易用性、性能、兼容性、安全性等(来自于需求文档,非功能需求)
冒烟测试:
冒烟测试是一个准入标准, 是是否接受软件测试的依据
测试对象:每一个新编译的需要正式测试的软件版本
测试目的 : 确认软件基本功能正常,可以继续后续的正式测试工作
执行人员 : 测试人员
开发人员开发完毕后交给测试人员进行测试
测试人员进行冒烟测试,保证基本功能正常,不阻碍后续测试
回归测试:
回归测试的测试用例是从功能测试用例中提取的
回归测试是指修改了旧的代码以后,重新进行测试,确认修改没有引入新的错误,或导致其他代码产生错误,
自动回归测试将大幅度降低系统测试、维护升级等阶段的成本(自动化测试)
在整个软件测试系统中,占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试,随着系统的庞大,回归测试的成本也会越来越大,听过选择正确的回归测试策略来改善测试效率和有效性是非常有意义的
回归测试和冒烟测试都可以使用自动化测试
一般的顺序是: 冒烟测试 -> 系统测试 -> 回归测试
验收测试(UAT)
验收测试是部署软件之前最后一个测试操作,他是技术测试的最后一个阶段,也称为交付测试,验收测试的目的是保证软件准备就绪
测试阶段: 系统测试通过之后
测试对象: 整个系统(包括软硬件)
测试人员: 需求方
测试依据: 用户需求、验收标准
测试方法: 黑盒测试
测试内容: 功能、界面、可靠性、易用性、性能、兼容性、安全性等(同系统测试)