关闭

软件测试公理

发表于:2013-3-01 11:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Paul.Z    来源:51Testing软件测试网采编

  什么是公理?在百度百科中可以查到:

  所谓公理,就是经过人们长期实践检验、不需要证明同时也无法去证明的客观规律,释义如下:

  1)经过人类长期反复的实践检验是真实的,不需要由其他判断加以证明的命题和原理。

  2)某个演绎系统的初始命题。这样的命题在该系统内是不需要其他命题加以证明的,并且它们是推出该系统内其他命题的基本命题。

  那么在测试领域是否也存在这样的客观规律呢?

  我们看到,在不同项目的测试过程中,测试行为的差异如此巨大。在软件测试的七项基本原则中有一条“测试活动依赖于测试的Context”,也就是基于不同版本的应用目标、复杂程度、质量要求以及人员成熟度等等因素,每个测试过程都会有所区别,但不是质量上的差别,而是方法。

  因此应该有一些客观规律,它们并不依赖于所测试的对象(路由器还是手机),所采用的开发模型(瀑布还是迭代),TPI模型正是基于这一认识来建立的,不过在TPI模型中有157个非常详细的Checkpoint,它们更像由公理推导出来的“定理”。

  公理应该是简洁的,作为测试域的初始命题,从2008年Paul Gerrard (2010年EuroSTAR测试杰出贡献奖获得者)第一次提出“测试公理”概念,目前已发展了16条公理,大家来看看Paul所提出下面这些公理是否可以反驳或证伪吧:

  首先是测试第一等式,究竟哪些东西影响了测试的过程和方法:

AXIOMS + CONTEXT + VALUES + THINKING = APPROACH

公理 + 环境 + 价值 + 思想 = 方法

  Paul按照3个方面来组织测试公理:利益干系人、测试设计、测试执行与交付。

  利益干系人

  公理1:测试需要利益干系人
  公理2:测试的价值是为利益干系人提供决策依据
  公理3:如果我们不约束测试的范围,我们永远无法符合利益干系人的期望
  公理4:测试和验收的范围始终是妥协的结果

  测试设计

  公理5:测试设计基于模型(注:这一模型可能是正式的,由形式化来描述;也可能是非正式的,在测试人员的脑中)
  公理6:测试人员需要知识来源(Sources of Knowledge)来选择测试内容
  公理7:测试人员需要知识来源(Sources of Knowledge)来评价被测对象的实际产出或行为
  公理8:测试需要一个或多个覆盖模型
  公理9:测试需要一种机制来排序测试优先级
  公理10:测试的知识来源(Sources of Knowledge)是模糊且不完整的

  测试执行与交付

  公理11:通过利益干系人做决策时的信心来衡量测试的价值高低
  公理12:一些重复测试是不可避免的
  公理13:先执行最有价值的测试——否则可能没有时间执行它们
  公理14:测试执行需要明确、可控的测试环境
  公理15:测试永远不会按计划进展,测试所得到的证据按照离散量子化的模式出现
  公理16: 测试永远不会结束,只会停止

  如果认可这些公理,那么根据它们也就可以推导出哪些实践是正确的,哪些是不那么正确的。

  例如公理10:测试的知识来源(Sources of Knowledge)是模糊且不完整的。在绝大多数开发项目中,都存在这样的问题:需求质量很差,测试设计所依赖的许多知识:如应用场景,如系统在异常下的行为和结果,都是不明确的,这也是我们一直希望测试能够尽早投入,通过详细的测试设计来提升需求质量,达到预防缺陷的根本原因。

  再例如公理16: 测试永远不会结束,只会停止。无论何时,只要你进行测试,就一定会发现更多缺陷。因此,测试是“Stop”而不是“Finish”,停止的原因是因为我们提供了足够的证据,使得决策者认为剩余的产品风险已经可以承担,已经满足客户的应用期望,因此测试不是“盖章放行”,不是质量的“看门人”。

  我很欣赏2009年EuroSTAR中的一个演讲“董事会中的测试人员”,其中Martin Kooij提出随着软件产品对人类的生活变得越来越重要,测试人员的终极职位将是“CRO”——首席风险官,负责监控和管理产品风险(注意,不是项目或金融风险),不过Martin也认为这是在2018年才会发生的事儿了!

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号