(2)测试数据
测试数据需要完整,如在某输入框中输入数据,需要写明需要输入的内容是什么,是“abcdefg”还是“1234567”,输入的账号也需要写明是什么账号,而不是写“输入正确的账号”,在别人测试过程中,是不知道什么才是正确的账号。如果这个账号不会变动(如管理员账号),则在测试数据中需写明“输入账号:admin,密码:123456”,如账号是常变动的(如用户账号),需在测试用例的前置条件中申明账号的可用性,如前置条件中写“系统存在账号为user123,密码为123456789的用户”,这时在测试数据中就可以写“试用账号user123,密码为123456789进行登录”。
总之,写测试用例的时候,注意仔细与严谨。时常检查自己写的测试用例别人是否也能看懂。小组中有多么测试人员的,需要时常对测试用例进行评审,从而保证测试用例的高质量。
BUG单
提交BUG也是一门功课,既要简单易读,又要能说明问题。所以需要在BUG单中写清楚复现的步骤,错误出现的频率,严重性和优先级,一个BUG单讲述一个问题,不可将多个问题写于同一篇BUG单中,BUG单中需注意语气,不得带有情绪,如果BUG存在争议,需要提供证据进行证明,如需求说明说,可以咨询需求人员,如果什么都没有可以参考行业软件规范。
我谈一下我在实际项目中遇到的一些问题,一次参加客户方关于提交BUG单规范的会议,发现了如下问题:
(1)客户方想只使用一个数值,来定义严重性和优先级。真是不应该的,严重性和优先级是两个不同的概念,严重性高的BUG不一定优先级就高,而严重性低的BUG很有可能优先级是最高的。如一个很少用的功能在一定的操作下会导致程序无响应,但是决定在下一个版本再进行修复,则它的严重性虽然是高,但是优先级确是低,而一个马上要投入使用的功能点中,页面上显示的标题不正确不影响使用,虽然严重性是低,但优先级确实高。像这样的情况使用一个数值便很难描述出BUG的严重情况和优先情况。
(2)客户方的部分测试人员认为一张表单上的3种不同类型的问题可以写在一个BUG单上。这也是不可以的,有时候虽然是一个页面上的,但有可能3个错误点是由3个不同的开发人员开发的。这时,让一个开发修改完成而两个开发未修改时,无法正确调整BUG单状态,导致测试进度收集也不完全,很难定位到还有多少问题需要修改。
(3)客户方将BUG的数量和测试人员的效益与开发员工的效益挂钩,这个在管理中也是万万不可以的。会导致大量BUG冗余;开发修改大量严重程度非常低的小BUG导致延缓整个项目的进度;很少有测试人员会花更多的时间去找难以发现的BUG;造成开发和测试之间如仇家等等的问题。
自动化
在进入公司后,客户方就交给了我一个非常艰巨的任务,要做现有系统的自动化测试平台。还好对QTP比较熟悉,到目前为止,已经写好BPM 1.0系统的自动化测试框架,和不少表单脚本,并将BPM 1.0的脚本经过修改后,复用至BPM 2.0版本。
如何进行自动化测试框架的搭建,我会在以后的文章中写明。
所以在这里,我说几点关于自动化测试的一些简单的知识和我的一些经验。很明显,自动化测试从字面上来理解,就是让电脑自动完成所需要的测试内容。如填写表单的测试,我可以预先将所要填写的内容写好,然后下班后,让电脑自动逐条进行填写,提交,记录测试的结果。看似很酷,但需要考虑的问题很多,最主要的是,需要有一定的编程基础,毕竟,脚本是要靠“写”的。在很多网友来信中发现,很多人对自动化的理解和自动化所能做的功能有一点偏差。主要有以下几点:
只要开发出强大的自动化测试脚本,就能将测试人员解放出来。其实不是的,很多的测试都是靠手工进行测试,自动化只是辅助。比如页面的排版是否好看,第一次测试时遇到的各种各样的问题,因为开发做了较大的改变等等一些问题时,自动化的执行就会失败。
对于需求会经常修改的系统如何进行自动化脚本的编写。对于这样需求会经常变动的系统,就不能开展自动化测试,还是老老实实的进行手工测试吧。
在软件测试理论知识还不是很牢固的情况下,不要进行自动化。对软件测试和自动化测试的错误理解会导致后期自动化进行十分的困难且根本没办法维护脚本。