科技社软件测试软件测试

[软件测试]软件测试基础1,从产品到测试模型

2019-04-20  本文已影响2人  程序小黑
软件测试

做产品与做项目的区别

什么是软件测试(英语:Software Testing)

描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。

软件生命周期

项目的周期:

软件产品的周期:

项目组成员及相关工作

软件测试的对象

测试的基本原则

  1. 测试应基于用户需求

  2. 做好软件测试计划是做好软件测试工作的关键

  1. 应尽早的开始软件测试并不断的进行软件测试

  2. 测试前必须明确定义好产品的质量标准

  3. 避免测试自己的软件

  4. 应充分注意测试中的集群现象:

    一般来说,一段程序中已发现的错误数越多,其中存在的错误概率也就越大。

  5. 必须检查每个实际输出结果

  6. 穷举测试是不可能的: 由于时间和资源有限,应避免冗余测试

  7. 测试设计决定了测试的有效性和效率

  8. 注意保留测试设计和说明文档,并注意测试设计的可重用性 为维护等提供方便

软件开发模型

研发模型 ---瀑布模型

瀑布模型

瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:

  1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;

  2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从

    而增加了开发的风险;

  3. 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。

研发模型---快速原型

快速原型

快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。

快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。

研发模型--- 敏捷模型

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。Scrum是一个增量的、迭代的开发过程

敏捷模型
在迭代过程中,Scrum团队从产品功能列表中挑选最高优先级的需求进行开发。
在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。

软件测试模型

测试模型--- V模型

V模型

优点:既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求。

局限性:把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段,不能体现“尽早地和不断地进行软件测试”的原则。

测试模型--- W模型

W模型

优点:

  1. 如果测试文档能尽早提交,那么就有了更多的检查和检阅的时间,这些文档还可用于评估开发文档。
  2. 测试者可以在项目中尽可能早地面的规格说明书中的挑战。
  3. 测试还可以尽可能早地找出缺陷所在,从而帮助改进项目内部的质量。
    4.标注了生产周期中开发与测试之间的对应关系

局限性:需求,设计,编码等活动被视为串行的,测试和开发活动保持着一种线性的前后关系,无法支持迭代的开发模型 。

测试模型--- H模型

H模型

优点:

H模型下的测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行,不同的测试活动可以是按照某个次序先后进行的,只要某个测试达到准备就绪点,执行测试就开始进行,具有很强的灵活性。

上一篇 下一篇

猜你喜欢

热点阅读