的开发工程师不仅是有超强的代码编写能力,同时他还有非凡的概要设计和详细设计能力,那么对于的测试工程师来说,不应该仅仅是极强的发现问题的能力,还应该具备的用例设计能力。用例设计实际上包含两种能力,一种是结构设计能力,一种是用例场景设计能力,我想和大家讨论的是前一种能力。

  用例设计中的结构设计类似于软件开发中的概要设计,它实指用例设计中的测试项分拆、合并、派生。目前我们测试组有些员工在思考用例设计时包含了这个环节,但并没有将这个环节熟练掌握,且一直困扰着部分人的测试工作开展。可能有人会说,我测试的产品质量虽然不是差,但我的用例设计包含了80%的用例设计场景,应该不错了,干嘛还要强调用例设计中的结构设计呢?

  用例设计的结构设计重要性在于如下几方面:

  1、合理地拆分测试项,有助于保证测试任务执行的分配与并行

  2、合理地拆分测试项,有助于和开发节奏对应起来

  3、合理地拆分测试项,有助于保证测试的执行与测试用例的当初设计不脱节

  4、合理的拆分测试项,有助于保证测试覆盖度

  5、合理的拆分测试项,有助于用例场景的设计不出现混乱

  6、合理的拆分测试项,有助于一个人全局能力的培养

  ……

  用例设计的结构设计这一块究竟有什么方法可循吗?说句实话,至少现在我没有见到任何书籍介绍这一快,我在面试过程中也在了解其他公司关于这一块的做法,很多员工听起来很陌生,可能是这个能力仅对组长以上的员工有要求吧,有的听起来虽然不陌生,但是更多和我沟通的是关于用例设计的生成流程,

  对于方法这一块是不清楚的。总而言之,用例设计的结构设计这一块对于很多公司的经验总结来说还是空白,那更谈不上培训了。关注这一块,我是在2001年开始的,当时接受的一个是视频会议系统的测试,组里共5个人,为了将结构设计做好,的确费了一番周折。通过这几年来,在不同项目中与不同员工磨合,对用例设计的结构设计部分摸索了一套如下一系列方法。我现在还不能说好的,但应该是实用的,不是为了推销需要。

  1、基于概要设计/详细设计的模块(组件)结构设计

  2、基于产品需求文档的模块结构设计

  3、基于数据流的结构设计

  4、基于事件驱动的结构设计

  5、基于消息驱动的结构设计

  6、基于处理逻辑的结构设计

  7、基于条件因素的结构设计

  8、基于MVC模型的结构设计

  9、基于测试方法的结构设计

  测试用例设计还要注意着重点

  一、功能

  关注页面单个功能点验证,充分考虑开发改动的每个点。这个是保证开发每个已知的修改点都能改对。

  二、关联

  重点考虑修改点对其他模块的影响,包括代码的影响和操作数据引起的影响。

  比如新增加的功能增加了数据库表的字段,必须关联的验证每个使用该表的该字段的模块是否正常工作。难点在于需要分析出已知和未知的影响模块,考虑的越多,往往遗漏的问题越少。

  三、流程

  很多系统是有流程的,比如工作流系统。当修改了一个点的时候,我们必须考虑整个流程是否能够正常运转起来。

  四、升级

  我们大部分系统都是对已有的系统进行升级。对于升级前的数据,我们必须保证能够正常工作。升级之前,需要模拟好各种情况。也需要对升级的数据库脚本进行充分的检查。

  五、安全

  比如菜单功能权限等。

  六、性能