伴随着软件产品复杂度的日益增加,用户对软件质量的要求也不断提高。传统的手工作坊方法已无法开发出更多的软件产品,加上软件质量管理的落后,难以保障软件质量,增加了后期的维护难度,最终造成资源的浪费。教学管理系统是教育管理工作的重要组成部分,其系统的安全性、可靠性直接影响到教学效果。因此,亟需对教学管理系统加以测试,设计自动化测试框架势在必行。
1自动化测试框架需求分析
教学管理系统作为教学管理工作的一部分,保障系统的安全性、可靠性及其经济性有着重要的作用。因此,在设计自动化测试框架需求前,应做好相应的系统需求分析。首先,用户需求。用户对自动化框架有着较大的需求,由于框架的使用对象较多,因此,需要较好的权限管理;所提供的任务方式具有多样化,如:草稿任务、任务执行策略等;需要具备良好的人机操作界面,进而确保框架的易用性;能够提供任务运行的数据、状态等,进而方便用户对于不正常的测试可进行人工干预;拥有强大的数据查询能力、模糊查询能力及其多条件查询能力等。其次,可行性分析。自动化测试框架应具有技术可行性、经济可行性。技术可行性则是使用当前较为常熟的开发技术,如:Hibernate、Struts、JavaScript等,可简单操作,测试人员仅仅需要短暂的培训就能够熟练使用。经济可行性则是使用该系统后,能够减少人力资源,降低开发成本,后期维护成本等,最终提升测试系统效率。最后,需求目标。自动化测试框架系统设计目标主要是为了解决教学管理系统中所存在的问题,进而使其功能得到扩展。支持多种测试工具、异常处理流程、降低测试设备的空置率、具有统一的发布系统及日志收集系统。
2教学管理系统的自动化测试框架分析
2.1搭建测试环境
本次自动化测试框架所使用的持续集成服务器为TeamCity4.0,属于分布式构建管理及持续集成服务器,可部署在Linux以及Windows平台上。数据库采用SQLite,属于轻型的数据库,其设计目标为嵌入式,拥有较低的占用资源,能够与多种程序相结合,如:C#、Java、Tcl等,是连接到程序中成为其主要部分,通过一个事物时锁定整个数据文件进而完成。功能测试环境采用SeleniumGrid,是分布式测试工具,其整个结构是由若干个代理节点与一个hub节点所组成,可根据用例中启动测试的类型来相应的将用例发送给符合匹配要求的测试代理。
2.2测试过程
在单元测试中所使用的Mock框架、在该框架中可按照次序条用的方法来实现,并在默认的条件下,其方法条用并没有一定顺序。若按照次序来录制,则在调用方法时应按照录制时的次序来进行,才能够确保单元测试的正确性。功能测试采用Selenium自动测试工具,通过模拟用户对Web页面中各项操作,进而准确再现测试人员编写的TestCases步骤。Selenium工作的核心部分则为Selenium-Core,可操作Web页面上的任何一种元素,如:输入文本框、点击按钮等操作。性能测试采用LoadRunner工具,通过模拟上千万用户实施并负载及实时性能检测,从而来查找及确认问题,可对整个企业建构给予测试。通过使用该工具,在很大程度上缩短测试时间,对性能加以优化,并且可加速应用系统的发布周期,可对系统行为加以预测,并评估系统的性能。
2.3测试结果
经过几个月的开发研究及其测试,经自动化测试框架系统应用于教学管理系统中,大大减轻了测试人员的繁杂的工作,并实现了24小时的自动化测试,有着较好的效果。其中创建测试任务是自动化测试框架的核心环节,包括所输入任务的基本信息、选择测试用例、配置及其测试环境等。如图1所示。当完成测试后,可安全使用教学管理系统,并投入到正常教学工作中。
3结束语
总而言之,传统的人工测试已无法满足当前软件发展需求,通过应用自动化测试框架,在很大程度上可节省人力资源,降低后期的维护成,确保软件的正常应用。对于教学管理系统而言,通过应用自动化测试框架,可提高测试效率,保障教学工作的健康、有效开展。
作者:王蓉 单位:湖南文理学院计算机学院