V模型
V模型和瀑布模型有一些共同的特性,V模型中的过程从左到右,描述了基本的开发过程和测试行为
单元测试
是模块测试,验证软件的基本组成单位的正确性,是白盒测试
集成测试
是模块间的测试,测试接口是否正确,是灰盒测试
系统测试
系统测试包括:冒烟测试、系统测试、回归测试
冒烟测试:主干流程测试,确认软件的基本功能正常,可以进行后续的测试工作 系统测试:是检测系统的功能、质量、性能是否满足系统的要求,包括功能、性能、界面、可靠性、兼容性等等。是黑盒测试 回归测试:修改了旧代码之后重新进行测试,确认修改后的代码没有引入新的错误导致其他代码产生新的错误
验收测试
是确保软件的实现是否满足用户的需求或合同的要求
验收测试
是确保软件的实现能否满足的需求或合同的要求
优缺点
优点: 每一个阶段都清晰明了、便于控制开发的每一个过程既包含单元测试又包含系统测试
缺点: 测试介入的较晚,对于前期的一些缺陷无从发现和修改测试和开发串行
W模型
W模型是V模型大的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题(开发是V,测试与开发并行)
缺点
优点: 测试伴随软件地整个生命周期测试于开发是并行独立进行
缺点: 对需求和测试技术要求高使用于大中型企业
H模型
H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。
优缺点
优点: - 开发的H模型揭示了软件测试除测试执行外,还有很多工作 - 软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行 - 软件测试活动可以尽早准备、尽早执行、具有很强的灵活性 缺点: 管理型要求高:由于模型很灵活,必须要定义清晰的规划和管理制度,否则测试过程将非常难以管理和控制技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难
总结
V模型:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试 W模型:补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明 H模型:强调测试是独立的,只要测试准备完成,就可以执行测试