把最近做的几个项目总结了一下:
1、某超市管理系统
测试人员对业务的理解深入程度直接决定了测试开展的深入程度。最后测试结果是设计的一部分用例由于对业务的理解和系统操作方式不熟悉而无法执行!
要做好这类软件系统的测试,则测试团队中必须有一两个熟悉业务的人。
软件的数据库采用SQLServer,有很多的存储过程和视图,而且是加密的,但是可以用sp_decrypt.sql进行解密。
这类商业软件都有加密的措施,但是并不是做得很完善,采用了加密狗,但是软件本身没有加壳处理,仅仅做了注册限时处理,可以轻易破解掉!
由于客户端直接通过ADO连接SQLServer数据库,因此性能测试可以采用LR选择VBScript Vuser协议,为什么不用COM/DCOM协议呢?COM/DCOM协议虽然可以录制下ADO的脚本,但是录制的脚本行数太多,一个登录过程居然有26000多行,而且回放脚本时有很多错误,例如:
Action.c (18999): undeclared identifier `error'
Action.c (18999): type error in argument 1 to `lrc_Properties_get_Count'; found `int' expected `pointer to struct interface_Properties'
先用事件探查器把业务过程中提交的SQL语句都截获下来,然后在LR中用VBS编写ADO脚本发送这些SQL语句即可。
2、某银行支付管理系统
已经上线,但是客户反映有内存泄漏问题,每天需要重启服务器!
系统采用的是Tomcat作为WEB应用服务器,发现PermGen设置得太小(64M),加大即可解决问题。
但是比较疑惑的是,据测试人员反映,这个内存泄漏的问题非常容易重现,只要登录系统,操作几个功能就能马上出现,开发人员在开发过程中难道没有碰到过?亦或是碰到了也不理会?!
3、某酒店网站用户体验测试
采用了启发式评估(Heuristic Evaluation)与对比评价的方式进行测试,由测试人员按照常规网站界面设计和用户体验设计规则进行测试,同时与同类网站进行对比,提出改进意见。
酒店官网设立的目的是什么?应该是:
1、方便顾客查找分店
2、方便顾客网上预订
3、方便记录顾客积分信息(留住顾客)
4、宣传
那么网站的设计与测试就应该循着这样的目的和原则进行!