交叉测试之苹果理论

 第一部分:苹果理论

   清晨打开冰箱准备拿出牛奶吃早餐,猛然发现冰箱里已经累计有四瓶鲜奶了,这还不包含屋外奶盒中今天新送到的两瓶。怎样解决?这使我想起了著名的苹果理论 也存在类似的问题。买了一袋苹果,持续数日后,有部分苹果新鲜程度已经开始有了变化,且开始腐烂。传统的观念似乎是这样的:正确的做法是一直挑没有变质的 苹果吃,这样的结果的是部分没有变质的苹果被你成功吃掉,另外一部分则彻底坏掉;错误的做法则是一直挑开始变质的苹果吃,结果则是你一直吃的是变质的苹 果。这两种做法都有不科学的地方,前者成本太高,有一部分苹果彻底毁掉后扔掉了,后者则对身体有害。那有没有一种办法既能使成本降到最小,又尽可能的避免 对身体的伤害呢?思考了一下,或许折中是个不错的选择。对苹果的变质程度做升降排序,每次从队列中间部分进行选择。

图1 优劣苹果

  第二部分:交叉测试之苹果理论应用

  软件测试中 是否存在类似的问题?答案是肯定的。一个测试组中有多名测试员,分别负责对不同模块的测试。经过多个版本的回归测试后,组员对手中的模块无论从整体到细节 都有了非常深刻的掌握,但这同时也带来人本质上特性,疲态,即组员慢慢开始对手中模块的测试开始表现出倦意和缺乏兴趣,就如同图1中右边的那个苹果你所看 到的感觉一样,发现的缺陷也开始呈下降的趋势,如图2所示。

图2 发现缺陷数和回归次数的关系

   那有办法解决这样的问题吗?是的,可以让组员之间的模块进行交换测试,因为对于测试员自身来讲,别人手中的模块更具备吸引力,如同图1中的左边那个苹 果,也具有更多未知的领域,从而也能发现更多的缺陷。这就是传说中的交叉测试方法。那是经过几轮回归后就整体交换测试员手中的模块吗?不,那样带来的成本 太高,因为采用这种方式,测试员对手中的新模块的完全了解需要花一定长的时间,从而使时间成本提升了。如果你告诉项目经理,我们当前版本(与刚开始测试的 版本比没有添加额外的模块和功能点)的测试所需要花的时间和系统刚开始测试的时候是一样的,项目经理肯定会觉得不可思议,因为测试组已经测试过多个回归版 本了,无论从业务流程到功能点,肯定是熟悉了很多,正确的结果应该是测试的周期时间会慢慢减少啊。如果你告诉项目经理,我们采用了交叉测试,以此想发现更 多的缺陷,或许在项目进度不是很紧的时候,项目经理会觉得可以接受,那在进度很紧张的时候,可能就够呛了。

  如何在有限的项目进度时间内,有效的实施交叉测试呢?本人抛砖引玉地提出三阶段实施法:

  • 项目前期测试阶段:

  在这一阶段,组内所有测试员对系统的功能和业务流程都没有比较深刻的认知,此时安排不同测试员负责不同模块的测试。功能点和业务流程测试任务的分配通过测试用例进行。

  • 项目中期测试阶段:

  将功能点的测试,如外观,单个按钮或控件功能等测试任务通过测试用例分配进行逐步交叉,使得交叉测试开始逐步推进。此过程中可通过测试用例中的优先级排序来进行逐步交叉,顺序为从低等级到高等级。

  • 项目后期测试阶段:

  引入业务流程的交叉测试。考虑到业务流程的熟悉和了解相对于功能点测试有一定的难度,特别是对金融行业来讲。有了第二阶段功能点的熟悉的和了解,业务流程的了解也有了一定基础准备,所以放在项目的后期测试阶段进行交叉比较合适。

  第三部分:总结

  如果你现在所在的项目已经开始实施这样的方法,那么本文只是想通过一个实际生活中的例子引出这样一些步骤,从而使得体会更加深刻。如果你所在的项目还没有开始实施这样的方法,或许你可以尝试一下。如果你所在的项目有比这更好的方法,请告知我一下,谢谢。

转载:http://www.51testing.com/html/81/n-210181.html

时间: 2024-08-05 19:33:18

交叉测试之苹果理论的相关文章

我该怎么安排下属的工作-项目经理如何分配任务

http://blog.csdn.net/yihui823/article/details/6778351 记得自己第一次当PM.那是接手的项目,原来的PM,在项目需求分析做完之后,去接手另一个重要的项目去了.当时我和另外两个小组长,自然就成了接手PM的人选.最终原PM选择了我做他的接班人.而我当时最头疼的就是,我怎么给另外两个小组长分配任务啊.前一天大家还是平级的讨论问题,现在就轮到我指派他们工作. 时间流逝,从当时的不知所措,到现在得心应手,中间坎坷困惑都不少.昨天的一篇文章,介绍项目经理需

2014多校联合-第六场

最近这两场好无奈啊... 今天这场最后30分钟敲1001,压力倍增,虽然思路比较明确,但是代码打起来不怎么容易. 但是还是好在25分钟左右debug结束.提交wa,再提交,依然WA.......最后5分钟,还是没有AC掉. 一开始以为是精度问题,后来才sb的发现原来数组开小了. 在压力环境下保证代码的效率和质量真不是一件容易的事情.不过数组开小了,真是不可原谅. 1001:Map 题目相当于几条链表.把链表排成几行. 然后枚举每一列的状态会被操作多少次. 然后把和累加起来,然后直接除以状态总数.

【项目管理】PM如何给组员分配任务(转载)

作者原创文章,原文出处请访问:http://blog.csdn.net/yihui823/article/details/6778351 记得自己第一次当PM.那是接手的项目,原来的PM,在项目需求分析做完之后,去接手另一个重要的项目去了.当时我和另外两个小组长,自然就成了接手PM的人选.最终原PM选择了我做他的接班人.而我当时最头疼的就是,我怎么给另外两个小组长分配任务啊.前一天大家还是平级的讨论问题,现在就轮到我指派他们工作. 时间流逝,从当时的不知所措,到现在得心应手,中间坎坷困惑都不少.

台大林轩田·机器学习基石记要

台大林轩田·机器学习基石记要 昨天开始看林轩田的机器学习基石,从今天起开始去粗取精 第一讲比较基础,一些概念自己早已经理解了,所以不再做笔记,有点印象的是讲到了ML.DL.AI的一些联系与区别,ML主要是想从数据中学习/逼近一个理想的函数f(x) 第二讲讲到了PLA,感知器学习算法,并且证明了线性可分时感知器收敛定理(与Haykin的Neural Networks and Learning Machines证明相同,另外补充的是学习速率不一定为1,只要非负即可,但是这个地方还有一些疑问,在Hay

tensorflow--交叉熵

学而不思则罔,思而不学则怠. 最近在看<TensorFlow 实战Google深度学习框架第二版>这本书.从头开始学习深度学习,对于细节方面进行探究.相当于重新拾起来这门”手艺“. 这篇随笔重点是交叉熵.在本书中出现的位置是62页,章节是3.4.5完整神经网络样例程序的20行附近(可能空行不一致),这里示例代码中出现了损失函数,代码如下: 1 import tensorflow as tf 2 from numpy.random import RandomState 3 4 batch_siz

软件测试理论测试用例测试之等价类划分

定义 把所有可能输入的数据,即程序的输入域划分策划若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例,是一种黑盒测试方法 有效等价类和无效等价类    有效等价类指对于程序规格说明来说,是合理的.有意义的输入数据构成的集合 无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的.不合理的输入数据集合 等价类划分原则 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类 如果输入条件规定了输入值的集合,或者"必须如何"

为何苹果赚取智能手机市场大部分利润?

一. 想必很多人知道苹果,用过苹果产品.苹果产品在质量,技术,外观上,都可以说是做到了美轮美奂,比如从他的苹果手机的一系列产品到苹果电脑的一系列产品,我们应该都觉得,苹果产品的使用感特别美妙,通俗来讲就是,用苹果产品,感觉自己提升了一个逼格的样子.好,一开始说了这么多,我今天就来讲讲有关苹果智能手机为什么可以在手机市场占据大部分利润的话题. 首先,我们先来简单了解下苹果公司.苹果公司是一家美国跨国公司,总部位于美国加利福尼亚库比蒂诺,致力于设计.开发和销售消费电子.计算机软件.在线服务和个人计算

2015年3月苹果新的审核标准(中文)

请阅读以下许可协议的条款和条件之前仔细下载或使用Apple软件.这些条款和条件构成了您与苹果的法律协议. 的iOS开发者计划许可协议 目的你想用苹果软件(定义见下文)制定的一个或多个应用程序(定义见??下文),运行iOS和OS关注的苹果品牌产品.苹果愿意给你一个有限的许可使用苹果软件开发和对本协议规定的条款和条件,测试应用程序. 本协议项下开发的应用程序可以分布在四个方面:(1)通过App Store,如果选择了苹果,(2)通过VPP / B2B计划网站,如果选择了苹果,(3)使用有限的基础对已

深度学习入门:基于Python的理论与实现 高清中文版PDF电子版下载附源代码

本书特色1.日本深度学习入门经典畅销书,原版上市不足2年印刷已达100 000册.长期位列日亚"人工智能"类图书榜首,超多五星好评.2.使用Python 3,尽量不依赖外部库或工具,从零创建一个深度学习模型.3.示例代码清晰,源代码可下载,需要的运行环境非常简单.读者可以一边读书一边执行程序,简单易上手.4.使用平实的语言,结合直观的插图和具体的例子,将深度学习的原理掰开揉碎讲解,简明易懂.5.使用计算图介绍复杂的误差反向传播法,非常直观.6.相比AI圣经"花书",