【零基础开始学习软件测试】软件开发生命周期的8个阶段、测试的4个阶段、软件设计4种模型
目录
1.软件开发生命周期
国标(GB8566-88)中将软件生命周期分为8个阶段:
可行性研究与计划、需求分析、概要设计、详细设计、实现(包括单元测试)、组装测试(集成测试)、确认测试、使用和维护。
2.测试阶段
面试的笔试题经常出现:测试阶段如何划分?
单元测试、集成测试、系统测试、验收测试。
3.软件设计模型
瀑布模型、快速原型开发、增量与递归模型、螺旋模型。
1) 瀑布模型:
1970年由W.Royce提出,其开发过程依照固定顺序进行,各阶段的任务与工作结果。该模型严格规定了各阶段的任务,上一阶段的输出作为下一阶段的输入。此模型适用于用户需求明确、开发技术比较成熟、工程管理严格的场合使用。缺点是由于任务顺序固定,软件研制周期长,前一阶段工作中造成的差错越到后期越大,纠正的代价也就越高。
2) 快速原型开发
先用相对少的成本,较短的周期开发一个简单的、但可以运行的系统原型向用户演示或让用户试用,以便及早澄清并检验一些主要设计策略,在此基础上再开发实际的软件系统。
快速原型模型主要有三种类型:探索型原型、实验型原型和演化型原型。探索型主要用于开发需求的阶段,目的是弄清用户的原型。实验型原型主要用于设计阶段,目的是考核实现方案是否合适,能否实现。演化型模型主要用于及早的向用户提交一个原型,得到用户认可后不断的修改演化成最终的软件系统。
快速原型的开发步骤:先快速分析需求,然后构造原型,之后是运行原型和评价原型,最后就是修改原型。
3) 增量与递归模型
所有的阶段都能够细分为迭代,每一次的迭代都会产生一个能够发布的产品,这个产品是最终产品的一个子集。
4) 螺旋模型
特别适合于大型复杂的系统,沿着螺线进行若干次的迭代,图中的四个象限代表了一下活动:
1. 制定计划
2. 风险分析
3. 实施工程
4. 客户评估
上述的开发模型有一些都是适合大型复杂系统的,我们平时基本不接触的。所以只需掌握瀑布模型和快速原型模型就可以了。
关于开发模型的部分如果想了解更多的话,可以参考一下相关的软件工程的教材。本次的重点是掌握软件的生命周期和测试阶段。
4.英语单词
Beta 测试:beta testing
大爆炸测试:big-bang testing
黑盒测试:black-box testing
边界值测试:boundary value testing