测试理论

一般 bug 的出现的概率是在你总共测试用例的 30%左右

瀑布模型


模型:需求分析、设计、编码、测试、运行/维护

严格把软件项目的开发分隔成各个开发阶段:需求分析,要件定义,基本设计,详细设计,编码,单体测试,结合测试,系统测试等。

使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。

强调文档,在开发的后期才会看到软件的模样。在这种情况下,文档的重要性仿佛已经超过了代码的重要性。(计划书,进度表)

测试滞后,在开发完成之后,早期的错误可能要等到后期才能发现,错误成本高。

优点:每个阶段要都有明确的输入件和输出件,为项目提供了按阶段划分的检查点。
缺点:
1)基于文档的驱动,各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3)瀑布模型的突出缺点是不适应用户需求的变化

 

敏捷开发


 核心是迭代。

 因为最终目标是让客户满意,所以能够主动接受需求变更,这就使设计出来的软件有灵活性,可扩展性。

 

V模型


模型:用户需求、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试

优点:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;指出测试的对象除了包括程序,还应该包括需求和设计。
缺点:V模型仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。

posted on 2020-08-16 20:33  华曦  阅读(101)  评论(0编辑  收藏  举报