已经很久没有写过case了,结合以前编写用例的一些经验,其实觉得编写用例也还是有流程可走的(当然不是按照教科书上说的那样进行用例设计,姑且不说有多少企业会有那么详细的需求书,会有多少时间让你去写完善,非常详细的测试用例,反正我是感觉项目中写用例的时间非常短),总结自己的一些经验,不单单是用例设计,还涉及到一些其他方面。
简单7个步骤:
1、理清模块需求:
由于项目需求说明书不详细,而且没有进行需求评审的情况下,在拿到上级lead给的测试任务后,一拿到先别着急去写测试用例,首先你应该做的是,根据有限的模块需求说明进行深入理解模块的功能,流程,以及涉及到的其他功能,记录下来。发送给该模块的开发人员,询问他你理解的是否和他设计的有差错,虽然说开发人员可能对整个需求不情况,但是对自己要开发的模块肯定还是能说出个大概来。
2、测试需求提起
在经过和相对应的开发人员简单交流后,可以根据得到文档进行测试需求提起了,原则是从大到小,大模块一直分解到小部分模块。整理一份模块测试需求书
3、设计测试思路
测试需求书完成后,可以设计测试思路,这里的设计思路并不是说写测试用例,而是一个总的思路说明;
举个例子:
如大家都熟悉的软件升级功能,可以向下面一样简单列出测试思路
正常情况:
1、软件在网络链接好的情况下升级正常
2、新版本的软件不能进行升级,升级会有提示
3、试用期的软件不能升级
4、升级过程中能正常取消,而且不会影响到软件
异常情况:
1、在网络速度非常缓慢情况下的升级
2、在网络时断时续情况下进行升级
3、系统电脑系统资源消耗严重情况下升级
4、升级过程中进行断电,断网,关机等操作
5、下载过程中强制推出软件
6、多个客户同时进行升级,查看升级服务器的性能
上面只是简单列出一些思路,还有很多。在列出测试思路后,如果时间的话可以组织测试人员和开发人员进行头脑风暴,因为一个人的思路是有限的,开发人员可以从开发的角度考虑有那些地方需要重点考虑的,其他人员也会有自己的想法。
在上面的例子中,我们还可以想到,网络是代理的情况,下载的文件大小情况,服务器支持的大用户同时升级,软件下载是否支持断点续传等,,
4、测试用例编写
头脑风暴完成后,可以整理出一份测试思路,好在设计测试用例模板时考虑到这点,只有把思路记录下来,在后面的详细用例编写中才不会忘记,在后期的维护用例中也可以快速掌握用例情况。后面会有一份测试用例模板
对于测试用例编写,本人用的是自己归纳的一个通用模式
解释上面的图:
由于本人测试的程序是C/S结构的,大部分都是在这三个操作系统下进行。如果产品是B/S结构的话,可能在winxp,win2000与win2003后面还要增加一列,是各种不同的浏览器,
这样编写用例的好处是层次分明,比如后面产品需要修改界面而不涉及到功能时,可以快速找到进行用例修改。模块功能的用例大部分是来自第三点的测试思路,只是进行扩充编写吧了。
其他的详细编写用例技巧不说了,网络上很多资料,肯定比我写的好。我的宗旨是用例编写前先要做到层次分明,心中有数写那些方面。其他是慢慢扩充。
5、测试用例评审
这一步不说了,如果有时间的话好做详细的用例评审,没有时间的话也要进行测试内部人员相互查看各自的用例,提出各自的意见。
6、执行用例
这一步是好检验测试用例编写的水平了,交叉进行用例执行。
7、用例效率计算
这一步对有很好测试管理工具的公司来说,可能没有用处。这里是根据公司进行设计的,由于公司不是很大,也没有用大型商业测试管理工具,所以一下用例效率都可能必须手动,公司用JIRA管理BUG,用例和需求都是通过EXECL进行管理。在需求与用例之间暂时没有想到好的方法,用例与BUG对应已经想出方法了,在下面的的用例模板中有。
虽然说对应比较简单,但是比较实用,能够快速反应出用例设计的质量,以及用例是否遗漏了。
这份文档写完了,既不能算是测试用例的管理,也不能算是用例设计技巧,管他呢?当作自己的总结。