性能测试用例设计

2011-08-15 00:52
科技传播 2011年24期
关键词:课表测试用例软件测试

张 勇

黄冈职业技术学院,湖北黄冈 438002

0 引言

性能测试是目前B/S结构及C/S结构软件项目的重要评价指标,而当前企业用户的软件项目业务流程对系统负载及压力测试都有明显的需求,随着软件企业客户及用户的不断增加,用户对软件系统的功能需求与性能需求将达到同样的高度,功能测试一直是软件测试的一项重要工作,而性能测试在国内并没有达到应有的重视高度。随着国内公司企业的国际化发展,各种性能指标在软件项目的质量评价体系中将变得越来越重要。测试用例是为了检验软件功能是否符合用户需求的一组输入、输出、测试步骤的组合。使用规范的测试策略进行性能测试用例设计是保障软件项目质量的有效手段。

1 性能测试用例设计分析

软件项目的性能特征要求往往表现在软件系统功能的部份场景,比如登陆、注册、产品购买等功能,因此在进行性能测试用例设计时主要考虑以下几个方面。

1.1 使用场景法设计测试用例

一般进行功能测试用例设计使用的策略过程大致为:首先根据等价类法划分不同的有效等价类及按照不同的角度划分的无效等价类,再根据功能需求中要求的明显边界或软件及硬件要求的隐含边界进行边界值分析法设计测试用例,在边界值测试用例设计完后,再考虑等价类划分的覆盖率进行补充等价类测试用例。在此基础上再根据场景或个人经验增加其它测试用例。根据性能测试的特点,性能测试一般会在系统测试之前进行,而在软件项目进行了单元测试、集成测试和确认测试后,功能测试覆盖率已经达到足够需求量,并且性能测试在用户提出需求时往往已根据自身特点明确提出在几个点或几个环节要求负载、压力及响应时间上的软件需求,因此针对于软件项目的性能测试主要集中在几个关键场景对应的业务流程。毫无疑问,使用场景法进行性能测试用例设计是首要选择。

1.2 使用工具保障测试用例执行

性能测试要求在模拟用户真实环境下对系统负载、压力等功能需求进行测试,而软件开发公司在仅有的硬件设施下不可能通过真实的硬件环境完全替代真实的环境进行性能测试,比如模拟10 000个用户同时在线,或30个用户同时完成在2分钟内将所选商品正确放入购物车提交至数据库。因此,必须借助自动化测试工具对软件项目进行性能测试。在测试工具使用过程中,可以通过编写脚本控制加入集合点、事务、参数化优化测试脚本。并且通过软件测试工具可以即时的以图形化界面直观显示当前性能参数、计算机硬件CPU、内存等使用情况,通过精确的数据基础对软件项目的性能进行正确的评价。

2 案例分析

下面以黄冈职院的教务管理系统个人课表查询为例对性能测试用例设计进行举例分析,假设教务管理系统要求在同1天内满足100个并发用户同时正确登陆至教务管理系统,满足50个并发用户同时正确查看个人课表,假设在每个用户登陆时产生的记录数为1条,第个用户在查看个人课表时产生的记录数为10条,则每天产生的业务量为100+500等于600条。根据80-20的原则,即一天内80%的工作量将主要集中在20%的时间内进行处理,因此系统在某个时间内必须表现出良好的性能,才能满足用户需求,一般用户登陆时间超过10s,查看个人课时间超过30s,将导致用户对软件系统失去耐心,从而对本软件丧失信心。在设计测试用例时根据场景设计设计两个场景,一是系统登陆场景,二是查看课表场景,那么根据两个场景设计测试用例时对于脚本地录制对脚本进行标识,分两段脚本进行标识保存,分别为:jw_s_land,脚本功能为标识用户登陆脚本;jw_s_find,脚本功能为标识用户查询个人课表脚本。测试用例设计相关描述如下:

测试覆盖需求:在空数据库的情况下,登陆操作满足80个并发用户处理能力,查询操作满足40个并发用户处理能力;登陆响应时间为10s,查询响应时间为30s。

功能简述:模拟80个用户进行并发登陆,40个用户进行并发查询个人课表操作,同时考查登陆响应时间不高于10s,查询响应时间不高于30s。

条件:操作系统,windows xp;处理器,intel i3 3.2Ghz;内存,2G;硬盘,希捷,7200,160G。

用例间依赖:无依赖关系。

关键技术应用说明:因为两种场景相对独立,所以应该分别录制脚本,脚本名参见以上脚本描述。为了实现并发处理功能,应在录制单一用户脚本后,增加集合点。在进行课表查询及登陆功能过程中,根据响应时间要求是否达到系统预期效果应增加事务点。为了避免在并发用户名及已查询课表时同一用户多次查询个人课的情况应该对脚本进行参数化。

操作步骤:首先使用工具录制业务流程脚本,加入事务、集合点并进行参数化,同时保存脚本,运行脚本,增加模拟用户数,运行脚本,分析脚本,报告相关参数至开发人员,在开发人员优化后,测试人员进行下一轮测试,对比结果。

期望结果:系统支持80个用户并发登陆,登陆响应时间不高于10s,查询操作满足40个并发用户处理能力,查询响应时间不高于30s。

运行结果:根据测试执行过程进行记载。

3 结论

任何软件项目都不可能进行全覆盖的测试用例设计,在充分考虑软件开发成本、软件项目后期维护成本的基础上,软件公司必须采取最优化的测试用例设计策略,既要保证软件项目的性能指标的精确评价,也要使公司利益达到最大化。这时软件企业可以建立相对固定的性能测试团队,通过已有的软件测试工具或团队自行开发的软件测试工具对软件项目进行性能测试,要有公司中长期的团队建设计划,保证公司性能测试团队的技术先进性和连续性。

[1]于涌.软件性能测试与LoadRunner实战.北京:人民邮电出版社,2008.

[2]Ron Patton.软件测试.北京:机械工业出版社,2006.

[3]曹薇.软件测试.北京:清华大学出版社,2008.

猜你喜欢
课表测试用例软件测试
学生出招解决”日课牌“问题
如果我是校长
基于SmartUnit的安全通信系统单元测试用例自动生成
基于OBE的软件测试课程教学改革探索
运用VBA自动生成子课程表
EXCEL和VBA实现软件测试记录管理
基于混合遗传算法的回归测试用例集最小化研究
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究
各地区学生课表