qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

软件测试随想

 1、了解产品的商业目标:

  每次接到的新项目,它都是针对一个新的业务领域,我们接触过产品管理,产品代购,物流管理等等软件。每个产品针对的业务领域不同,该产品的商业目标也是不同的。我们作为测试和开发人员首先要抓住该项目的商业目标,这样才能知道产品的重点在哪里,也就知道产品的主要风险在哪里,该如何针对其商业目标开发我们的测试用例。比如我接触过的Route Version项目,它是关于交通工具管理系统,收集所有交通工具每天的数据,在这个项目当中报表是最多的,也是该项目最主要的功能,那我们就需要在项目一开始把报表系统最为一个风险考虑进来,包括其采用的开发技术,以及如何测试还有很多的测试数据,都是需要提前考虑清楚的,而且既然是报表系统,那么它就会和很多其他模块有着许多的联系,这样集成测试就显得特别重要了。我们还开发的另外一个项目GTO,它是一个代购网站,将卖家和买家都召集到这个网站上进行交易,其中一个最重要的业务是招标系统,招标系统是个很专业的业务领域,如果提前没有把它的流程搞得很清楚,就会对后面的开发造成不小的影响。

  2、测试驱动设计:

  测试人员可以发挥过去在其他项目中积累的对客户需求的理解,以一个代表“用户”的角色与老板,与开发负责人一起商讨产品应该具备哪些功能,如何设计才能满足用户的需求。对于能力很强,经验丰富的测试人员还可以参与产品的架构评审,设计方案质量的把关。确保产品的设计满足最初的需求规划,产品的设计缺陷不会留给用户。我们把这个阶段的测试活动都定义为“测试驱动设计”。在我接触的项目当中,我参与了很多项目的设计阶段,发现很多产品设计不合理的地方,也就是易用性比较差,但平常总结的比较少,在这方面对专业软件关注的也比较少,所以自己也不能提出更多有建设性的意见,希望以后我能将所有工作中碰到的这些问题总结出来,不断提升自己在产品设计阶段的能力。

  3、测试覆盖率的问题:

  有效的测试覆盖率是最重要的测试工作目标,需要说明的是测试覆盖率不等于代码覆盖率。通过单元测试可以达到代码覆盖率100%,但是单元测试只能保障消除产品编码的问题,针对产品设计的问题则很难发现。发现产品设计问题的最主要方法还得需要基于黑盒的测试分析和设计。

  如何做好测试分析和测试设计,需要从以下几个方面来大致达到一个比较高的有效测试覆盖率:

  1、将软件所有的功能按照用户实际场景划分,开发测试用例;

  优点:可以覆盖到主要的基本场景;

  缺点:从事场景分析的人无法做到了解用户所有的场景,这样就会有场景遗漏;

  2、通过软件内部实现流程的路径及依赖关系分析入手,开发测试用例;

  优点:可填补前面没有覆盖到的一些场景,特别是异常处理和分支交互处理的场景;

  缺点:仍然会遗漏真实环境中的一些偶然小概率事件;

  3、依赖基于经验的测试分析和设计,例如:错误猜测法或探索性测试法;

  优点:对测试设计再次作出补充;

  缺点:测试用例的完整度取决于组织内部经验的积累量及测试人员思维的发散能力和创造性;

  使用以上三个方面的测试分析和设计,基本上能覆盖到被测对象的绝大部分应用场景,充分保障产品质量,减少问题遗漏。

  因此:测试的核心技术是测试分析和测试设计的能力,它决定了后续所有测试活动的质量及效果。同时,要做好一个测试任务,掌握广泛的测试类型也是必要的核心技术。

  4、测试结束的时间:验证系统已100%满足项目需求规格,就可以作为测试结束的标准;大厦在满足的基础上如果还有时间和资源,就可以开展探索性测试,继续以挖掘bug为动机进行测试,探索性测试覆盖的内容可以是测试用例之外的场景,考虑一下还有哪些场景没有测试到。在测试计划时间结束前,都可以一直把探索性测试做下去,以发现bug为准,结束标准只有一个:测试时间结束了。

posted on 2012-06-14 11:10 顺其自然EVO 阅读(161) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2012年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜