软件测试随想
作者:网络转载 发布时间:[ 2012/6/13 15:40:45 ] 推荐标签:
1、了解产品的商业目标:
每次接到的新项目,它都是针对一个新的业务领域,我们接触过产品管理,产品代购,物流管理等等软件。每个产品针对的业务领域不同,该产品的商业目标也是不同的。我们作为测试和开发人员首先要抓住该项目的商业目标,这样才能知道产品的重点在哪里,也知道产品的主要风险在哪里,该如何针对其商业目标开发我们的测试用例。比如我接触过的Route Version项目,它是关于交通工具管理系统,收集所有交通工具每天的数据,在这个项目当中报表是多的,也是该项目主要的功能,那我们需要在项目一开始把报表系统为一个风险考虑进来,包括其采用的开发技术,以及如何测试还有很多的测试数据,都是需要提前考虑清楚的,而且既然是报表系统,那么它会和很多其他模块有着许多的联系,这样集成测试显得特别重要了。我们还开发的另外一个项目GTO,它是一个代购网站,将卖家和买家都召集到这个网站上进行交易,其中一个重要的业务是招标系统,招标系统是个很专业的业务领域,如果提前没有把它的流程搞得很清楚,会对后面的开发造成不小的影响。
2、测试驱动设计:
测试人员可以发挥过去在其他项目中积累的对客户需求的理解,以一个代表“用户”的角色与老板,与开发负责人一起商讨产品应该具备哪些功能,如何设计才能满足用户的需求。对于能力很强,经验丰富的测试人员还可以参与产品的架构评审,设计方案质量的把关。确保产品的设计满足初的需求规划,产品的设计缺陷不会留给用户。我们把这个阶段的测试活动都定义为“测试驱动设计”。在我接触的项目当中,我参与了很多项目的设计阶段,发现很多产品设计不合理的地方,也是易用性比较差,但平常总结的比较少,在这方面对专业软件关注的也比较少,所以自己也不能提出更多有建设性的意见,希望以后我能将所有工作中碰到的这些问题总结出来,不断提升自己在产品设计阶段的能力。
3、测试覆盖率的问题:
有效的测试覆盖率是重要的测试工作目标,需要说明的是测试覆盖率不等于代码覆盖率。通过单元测试可以达到代码覆盖率100%,但是单元测试只能保障消除产品编码的问题,针对产品设计的问题则很难发现。发现产品设计问题的主要方法还得需要基于黑盒的测试分析和设计。
如何做好测试分析和测试设计,需要从以下几个方面来大致达到一个比较高的有效测试覆盖率:
1、将软件所有的功能按照用户实际场景划分,开发测试用例;
优点:可以覆盖到主要的基本场景;
缺点:从事场景分析的人无法做到了解用户所有的场景,这样会有场景遗漏;
2、通过软件内部实现流程的路径及依赖关系分析入手,开发测试用例;
优点:可填补前面没有覆盖到的一些场景,特别是异常处理和分支交互处理的场景;
缺点:仍然会遗漏真实环境中的一些偶然小概率事件;
3、依赖基于经验的测试分析和设计,例如:错误猜测法或探索性测试法;
优点:对测试设计再次作出补充;
缺点:测试用例的完整度取决于组织内部经验的积累量及测试人员思维的发散能力和创造性;
使用以上三个方面的测试分析和设计,基本上能覆盖到被测对象的绝大部分应用场景,充分保障产品质量,减少问题遗漏。
因此:测试的核心技术是测试分析和测试设计的能力,它决定了后续所有测试活动的质量及效果。同时,要做好一个测试任务,掌握广泛的测试类型也是必要的核心技术。
4、测试结束的时间:验证系统已100%满足项目需求规格,可以作为测试结束的标准;大厦在满足的基础上如果还有时间和资源,可以开展探索性测试,继续以挖掘bug为动机进行测试,探索性测试覆盖的内容可以是测试用例之外的场景,考虑一下还有哪些场景没有测试到。在测试计划时间结束前,都可以一直把探索性测试做下去,以发现bug为准,结束标准只有一个:测试时间结束了。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11