软件测试2
是看着课程听的,做的课程的随堂笔记
课程的链接如下:
https://coding.imooc.com/class/411.html
1.软件的开发管理模型:
软件开发的流程通过采用不同的模型,导致工作的流程不同。最早是“边做边改”模式,但是很不方便后期的修改,效率较低。
开发模型的分类:瀑布模型、螺旋模型、增量模型、迭代模型、敏捷模型,基于脚本的测试、基于风险的测试、探索式测试等
1.1 瀑布模型(Waterfall Model)
按照线性方式进行,当前活动接受上一项活动的工作结果。工作结果需要验证。从上到下不可逆转,所以效率较低,并且如果发现错误要全部打翻重新弄
计划-→需求分析→设计→编码→测试→运行维护
作用:瀑布模型是所有其他模型的基础框架,在软件工程中占有重要地位。
瀑布模型是线性顺序进行的软件开发模式,因为瀑布模型的每一个阶段都只执行一次。
优点:
-
强调开发的阶段性;
-
强调早起计划及需求调查;
-
强调产品测试;
缺点:
-
依赖于早期进行的唯一一次需求调查,不能适应需求的变化;
-
瀑布模型是单一流程,开发中的经验教训不能反馈应用于本产品的过程;
-
早期的错误可能要等到开发后期才能显露。
-
可以运行的产品很迟才能被看到,会给项目带来很大的风险,尤其是集成的风险;
在瀑布模型中,测试阶段处于软件实现之后,也就是说代码完成后有足够的时间预留给测试活动,否则将导致测试不充分,从而把缺陷直接遗留给客户。
1.2 原型模型:(更强调客户的需求)
客户与开发公司紧密联系,开发周期长。开发会受到需求变更的影响.
特点:
- 实现客户与系统的交互。
2.进一步细化待开发软件需求。
3.开发人员可以确定客户的真正需求是什么
1.3 螺旋模型:(在瀑布和原型的基础上)
制定计划→风险分析→实施工程(需求确认、软件需求、软件产品设计、设计确认与认证、详细设计、开发、测试) →客户评估
特点:
1.螺旋模型是将瀑布模型