作者:佐什么猗 | 来源:互联网 | 2023-07-27 11:50
软件开发流程
1、瀑布模型
图片来源网络
瀑布模型以上一个阶段的输出作为下一个阶段的输入,相邻的两个阶段具有因果关系,紧密相连。
瀑布模型是 线性模型的一种,在所有模型中占有重要地位,是所有其他模型的一个基础
测试的切入点:
测试阶段处于软件实现后,必须在代码完成后留出足够的时间给测试活动,否则将导致测试不充分,很多问题到项目后期才暴露。
优点 | 缺点 |
---|
强调需求、设计的作用 | 难以适应需求的频繁变化 |
前一阶段完成后,只需关注后续阶段 | 项目后端在能看到结果 |
为项目提供了按阶段划分的检查点,里程碑清晰 | 强制的里程碑,完成时间点 |
文档规范 | 文档工作量大 |
2、V模型
图片还是来自于网络
需求分析,概要设计,详细设计,编码,单元测试,集成测试,系统测试,验收测试。v模型由瀑布模型扩展而来
单元测试 | 又称模块测试,针对单一的程序模块进行测试(类,函数等) |
---|
集成测试 | 又称组装测试,在单元测试的基础上,对手所有模块进行测试 |
系统测试 | 将整个软件看做一个整体进行测试,包括功能,性能,兼容性,(我们常见的功能测试就是系统测试) |
验收测试 | 1:内侧版 (alpha) 2:公测版(beta)3:候选版(gamma)(准正式版) |
W模型
图片依旧来自于网络
w模型强调了测试伴随着整个开发周期,测试的对象不仅是程序,而且还有需求,功能,设计同样要测试,
测试跟开发室同步进行的,从而更早的、更有效的发现问题,降低成本。
定义 | 开发一个V,测试一个V,W模型就是双V模型 |
---|
优点 | 开发跟随着整个开发周期,需求,和设计同样要测试,跟早的介入测试,可以发现初期的缺陷,修复成本低;分阶段工作方便项目的整体管理; |
缺点 | 开发和测试依旧是线性关系,需求的变更和调整,依然不方便,如果没有相关文档不能执行W模型,对项目组成员的技术要求更高 |
H模型
图片又来自于网络
在H模型中,软件测试模型是一个独立的流程,贯穿于整个产品周期,与其他流程并发地进行。当某个测试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。
H模型解释了:
软件测试不仅仅是指测试的执行,还包括很多活动,
软件测试是一个独立的流程,贯彻整个产品的生命周期,与其他流程并发的进行
软件测试要尽早准备,尽早执行
软件测试是根据被测物的不同而分层次进行的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的
PS:
V模型强调了在整个项目开发中需要经历的诺干个测试级别,并与每一个开发级别对应,忽略了测试的对象不应该仅仅包括程序,没有明确的指出对于需求、设计的测试
W模型补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试,与V模型相同,没有对软件测试的流程进行说明。
H模型强调了测试是独立的,只要测试准备完成, 就可以执行测试。
测试分类
按代码是否运行分类
静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法,结构,过程,接口等来检查程序的正确性
动态测试:指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率,正确性和健壮性等
按是非查看代码分类
·白盒测试
白盒测试:又称结构测试,透明盒测试,逻辑驱动测试或者给予代码的测试,白盒测试的测试方法有代码检查法,静态结构分析法,静态质量度量法,逻辑覆盖法,基本路径测试法,域测试,符号测试,路径覆盖和程序编译。
·黑盒测试
黑盒测试:也称功能测试,是以用户的角度,从输入数据与输出数据的对应关系出发,进行测试,和黑测试从不关注代码,主要检查UI和功能是否符合设计书
·灰盒测试
灰盒测试:介于白盒测试盒黑盒测试之间,灰盒测试多用于集成测试阶段,他不仅关注输出,输入的正确性,同时也关注程序内部的情况,回合测试不像白盒那样详细、完整但又比黑盒测试更关注岑旭的内部逻辑。
其他测试
·冒烟测试
冒烟测试:是指在正式测试前,在新编译的版本中对软件的基本功能进行测试,确保软件的基本功能正常,整体流程可以使用,在进行后续的正式测试工作
·回归测试
回归测试:贯彻整个测试的各个阶段的测试活动,其目的是检验依据发现的缺陷有没有正确修改和修改过程中有没有引发新的缺陷,
1:完全重复测试
2:选择性重复测试
·随机测试
随机测试: 是指测试着根据经验对于软件进行功能和性能的抽查,随机测试是根据测试说明书执行用例测试后的重要补充手段,是保证测试覆盖完整性的有效方式和过程,随机测试主要是对被测试软件的一些重要功能进行复测,也包括测试那些当前测试用例没有覆盖到的地方