“不就是,按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分、临界值、因果图等方法,来设计用例就好了么。”
但实际上,抛开测试数据的设计另说,仅测试项来讲,同一个项目,经验丰富的测试人员,在写用例或测试时总会有更多的测试考虑点,从而发现更多的问题;缺乏经验的人员,则还会遗漏了大量测试覆盖点,导致其测试出来的程序总是比较脆弱。
其原因,还是测试用例的撰写水平不到位。如果说系统用例做到100%覆盖,那是很难的。按设计中的功能划分,每个功能都写到了,这还远远不够。
因为还有大量的内部处理、转换、业务逻辑、相互影响的关系等,都是需求或设计中所不会点明的。而这些就需要靠测试人员对项目本身的了解和测试经验,来支撑完成了。
我们归纳了做设计用例的方法主要有三个方面,分别为:测试用例的切面设计、详细用例的设计、测试数据的设计,今天就测试用例的切面设计和大家详细讨论。
所谓测试切面设计
其实就是测试用例大项的划分
测试用例划分的经典方法是瀑布模型
也就是从上到下,逐渐细分,大模块包括小模块,小模块包括更小的模块
但仅仅如此是不够的
我们还要从更多的角度切入系统
从不同的角度把系统切分成一块一块的
来进行测试
从而确保测试大项的完整性
测试用例的切面设计主要有以下几点
1、功能点切面
2、特定切面
3、隐含切面
1)、后台功能
2)、完整业务流程的测试
3)、某种特定情况下的系统运行
4)、其它相关系统
5)、除功能测试外的其它测试类型
功能点切面
这是最常见的切面,通常我们认为页面上的一个按钮就是一个功能点。
然后我们可以根据功能的复杂程度,按每个功能;或一个功能点分多页;或多个功能点合成一页来进行用例的撰写。
特定切面
所谓的特定切面,就是忽略掉表面上的功能点,而关注测试对象的某一个面。
比如:我们的内部管理系统提供了销售录入导入、注册录入导入等功能,从菜单划分上对应了七八个功能点。但这些功能处理后台有个共同的处理项就是授权记录的生成,这时我们就可以把“授权记录生成”单独拿出来做一个测试项,而在其它测试项中涉及这一部分的用例就不必再一一撰写。
此外象一些界面共通的操作用例单独写成一页,也是一种特定切面。所以如果说将用例按功能点划分是一种纵向划分法,那么特定切面就是从横向的角度分析所得到的切面。
在普通功能点划分上再根据实际情况设计特定切面,可以使我们的用例阅读性、理解性、操作性更强。
隐含切面
这类用例是最容易被忽略的。它往往不是明显的某个功能项,可能是功能项后台的隐含处理,也可能是多个功能项之间的关联处理,甚至可能是在某种特定情形下的处理。这都需要测试人员通过对软件的学习了解,来进行挖掘。
后台功能
常见的如一些定时自动启动的服务;以及某种特定情况下自动执行的操作等。它们在界面上往往是不体现的,但许多在需求设计中还是会提到,也有一些比较细小的功能可能会被忽略,就需要测试人员根据对项目的了解程度来进行挖掘。所以说一个熟悉项目的和一个不熟悉的测试人员,写出来的用例就完全是两个层次的。
完整业务流程的测试
我们都知道测试用例的设计是从点、线、面三个层次去考虑的。完整的一个功能项是线,其中的某个按钮是点,多个相关功能结合成完整业务流就是面。从实际来看这类用例往往被我们忽略。
事实上目前公司的软件本来都是业务型应用软件,将各种功能从业务流中切割出来单独写用例,肯定也会有涉及到整体流程的情况。若不加以区分,将细节与全局搅在一起,不仅思路混乱,也容易考虑不周。因此在系统测试阶段,建议用例设计要有分有合,针对具体功能的就只围着这个功能转:而在业务流程测试项中,再完全从整体的业务流角度出发去考虑用例,这样不仅不容易产生疏漏,用例阅读与执行也更清楚。
某种特定情况下的系统运行
这类用例的设计往往与系统实际业务情况密不可分。比如财务软件,通常需要在月尾一天、月头一天、年尾一天、年头一天,对所有相关功能中的日期处理进行测试;又比如WIN 2000环境开发测试的系统,要测试在98、XP、2003等操作系统下是否能运行自如;再有如存在大量动态图片视频等的 页,在普通 速下的展现速度等等。总之就是要尽可能从实际应用的角度出发考虑,来进行测试补充。
其它相关系统
即指在当前项目中直接使用的其它成果,包括公司自有的系统模块、组件、函数;以及购买或免费得到的一些功能组件。对这些内容需要预先与开发组长等讨论清楚,是否需要测试。若时间紧张或其它原因决定不测的,应在测试计划中说明。若需要测试的,则具体可根据实际情况来设计,可以是通过系统某个功能的测试来涉及,此时就不需要单独划分测试项;若相对比较独立的,也可以通过单独的测试项来对其专门进行测试。
除功能测试外的其它测试类型
包括可靠性、安全性、恢复性、配置安装测试等等,这些测试类型都是一个单独的测试项。
所谓好的开始是成功的一半,保证测试项划分的完整、合理、正确,会直接影响到本次测试的成效。通常建议该阶段工作要花1-2天的时间来考虑,并要在测试过程中随着对软件的深入了解,不断进行调整补充。可千万不要认为把分析设计中的功能模型图搬搬过来就可以了。
下期,我们将继续对怎样保证测试用例的覆盖率进行探讨,欢迎朋友们留言讨论,及分享。
另有2019最新测试用例方案等资料,可以关注我们乐搏软件学院(lebo1768),获取更多学习资料
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!