肖立中 武伟
[摘 要]在软件测试课程教学中,由于教师缺乏软件测试经验、实验教学不具备企业真实的工程环境和学校不能提供知名软件测试认证证书的原因,所以使得软件测试的教学效果不理想。针对以上情况,文章提出了工程化的教学模式,包括案例型理论教学、仿真型实验教学和认证型考核的教学模式,取得了一定的教学效果。
[关键词]软件测试 案例型理论教学 仿真型实验教学 认证型考核
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2013)06-0038-02
我校是2000年4月经教育部批准,由办学历史近50年的三所高等专科学校组建而成。学校坚持在“错位”中找准“定位”,在发展中创造特色,确立了学校总体目标定位:建成一所高水平、应用型、以工为主、特色鲜明的多科性本科院校,成为培养一线工程师的摇篮。人才培养规格定位为:培养具有创新精神和实践能力的、具有国际视野的、以一线工程师为主的高层次应用技术人才。针对学校的定位,在大部分高校没有开设专门的软件测试课程的情况下,我校在“计算机科学与技术(软件工程方向)”2005级的培养计划中就把“软件测试与维护”定为了专业选修课,并在2006年申请到了“软件工程”专业,并把“软件测试技术”定为了专业必修课。
一、软件测试课程面临的几个问题
软件测试课程的开设是为企业培养应用型的软件测试工程师,然而以下几个原因使得课程的开设效果不理想。
第一,高校中有讲授软件工程的主讲教师,他们大多教学经验丰富,能很好地讲解软件测试理论和介绍软件测试方法,也具有大型软件项目开发的经验,但是,由于历史原因(原来很多人认为软件测试工作不如软件开发工作风光,软件测试工作被认为是“次等”工作),大多数教师缺乏丰富的软件测试经验,造成了工程型软件测试教师的缺乏。
第二,随着全球信息化的进程,软件行业发展非常迅速,软件项目的规模不断扩大,单靠手工测试已经不能满足当前的需求。软件行业也出现了许多专门的软件测试工具,如HP、IBM和Compuware等都推出了各自的软件测试工具,且在软件行业中获得了很好的推广。然而,在高校中实验条件的匮乏导致学生无法接触和了解这些软件,使得学校培养的学生无法与企业的需求衔接。
第三,高校注重的是学历教育,然而,对软件工程专业的毕业生来说,一张过硬的认证证书是求职的敲门砖。因此,很多学生并不重视学校开设的软件测试课程,而是不惜重金,甚至逃课到外面的培训机构参加培训,从而获得相应的认证证书。
二、软件测试的工程化教学模式
为了培养具有国际视野的高层次应用技术人才,我校与世界知名的软件测试公司Compuware成立了COMPUWARE-SIT软件测试培训联合实验室,在高层次软件测试人才的培养上进行紧密合作。
(一)案例型理论教学
作为专业的软件测试工具的研发和培训单位,Compuware在软件测试领域有强大的技术力量和经验丰富的培训人员,通过联合实验室的建设,我校软件工程教研室的教师同Compuware的技术人员进行了深层次的技术交流,并学习了他们的测试经验。另外,我室教师还进行了研讨,结合自己的项目和教学经验,设计了一系列案例,以备教师在理论课上讲解和学生在实验课上练习。有了这些基础,我室的教师上课时可以结合实际对课本上的知识进行讲解,使得理论知识讲解更加直观,学生易于理解,提高了学生学习的兴趣,为学生实验前打好了基础,为学生的实践做好了准备。
(二)仿真型实验教学
我校的软件测试实验室是与Compuware联合建立的实验室,实验室中配置了Compuware的专业测试工具:自动化功能测试工具TestPartner、压力测试工具QALoad和测试管理平台QADirector。
TestPartner的主要特性包括:
(1)支持可视化的测试脚本,在脚本录制时对被测应用可以捕获到对象级别;
(2)测试结果为测试人员提供了可操作的视图;
(3)对主流的VBA版本提供支持;
(4)支持广泛的技术和语言,包括:Web 和基于AJAX的Internet应用程序、Microsoft .NET、基于Java的applets和应用程序、SAP、Oracle、C++/Win32、VisualBasic、TN3270或TN5250 终端仿真器和其它基于Windows的分布式应用程序。
QALoad的主要特性包括:
(1)自动化测试脚本的开发;
(2)可伸缩的测试;
(3)强大的分析能力;
(4)系统资源使用的综合视图;
(5)事务跟踪文件分析选项。
通过它,测试人员可以实现:
(1)通过模拟大量用户预测系统性能;
(2)方便灵活地调整测试规模;
(3)通过模拟网络流量预测网络性能;
(4)从控制中心控制全局的性能测试;
(5)与服务器监控软件的高度集成。
QADirector的主要特性包括:
(1)具有测试和数据资源中央数据库;
(2)拥有直观的用户界面;
(3)进行基于项目的测试管理;
(4)保证基于角色的安全性;
(5)提供基于Web的全面质量度量;
(6)支持基于风险的软件测试;
(7)支持工具的集成;
(8)支持可扩展的测试结构。
学生在此实验环境下进行的课内实验如表1所示[2, 3]。
在实验过程中,测试软件配置在服务器上,学生机用作客户端,完全仿照企业真实网络环境,教师可以把学生分配到不同的项目组中,进行团队合作,学生通过QADirector管理团队人员,并分配任务, 利用TestPartner和QALoad完成测试任务。通过实验课程使得学生了解企业进行软件测试的方式和方法,具备工程实践的能力和素质。
(三)认证型考核
为了使学生能够在学习软件测试的课程后,不仅拿到学分,并且能够获得软件测试的国际认证,我校与Compuware达成了颁发软件测试相关认证证书的协议,学生只要能够完成校内软件测试课程的学习,通过学校的理论课考试,并且能够按照教师的要求,完成实验课的全部内容,所提交的报告在通过了Compuware培训人员审核后,可以获得Compuware所颁发的CCPS和CCPE证书。这样既提高了学生学习的积极性,使学生更好地学好该课程,同时为学生就业增加了砝码。
三、结束语
我们对软件测试的教改受到了学生和教师的认可,但还有很多工作需要完成,例如,教师对实验室软件的操作还不够深入,还缺少针对实验室软件的教材等,通过今后的实践,我们会进一步发现该课程中的问题,并逐步完善。
[ 参 考 文 献 ]
[1] 李亚.“软件测试”教学探索与实践[J].计算机教育,2008,(6):31-32.
[2] 张小松,王珏,曹跃等,译.PATTONRon.软件测试[M].北京:机械工业出版社,2006.
[3] 朱少民.软件测试[M].北京:人民邮电出版社,2009.
[4] 张光泽,于鑫.“软件测试”工程化教学模式初探[J].大学教育,2012,(3).
[5] 陈梅,黄俊平.浅谈工程化教学模式[J].大学教育,2012,(2).