TOPCARES—CDIO引导的软件测试课程设计

2016-05-30 06:32王法胜熊耀华康玲董悦丽任长宁
软件工程 2016年10期
关键词:软件测试课程设计

王法胜 熊耀华 康玲 董悦丽 任长宁

摘 要:文章结合TOPCARES-CDIO工程教育理念引导的人才培养模式,探讨了软件测试课程的设计,提出了基于TOPCARE-CDIO工程教育模式的软件测试课程体设计,分别从课程目标和能力指标选择、课程内容及学时设计、教学组织形式、考核方式等方面进行了深入的分析和介绍,同时对课程的实践内容设计也进行了详细的介绍。T-C模式下的软件测试课程设计为软件测试人才培养提供了有利的指导,并为同行院校的课程建设提供了经验。

关键词:软件测试;TOPCARES-CDIO;课程设计

中图分类号:TP311.52 文献标识码:A

1 引言(Introduction)

伴随着软件产业的发展,软件测试在整个软件生命周期的地位不断的提高,软件测试工作贯穿于整个软件产品的生命周期[1]。随之而来的是软件测试人才的大量需求,国内高校充分注意到了软件测试类人才的巨大需求[2],在软件工程专业人才培养中,设置了软件测试方向,专门培养软件测试人才,例如,河北师范大学软件学院、大连东软信息学院、郑州轻工业学院等高校[2]。在软件测试人才培养中扮演重要角色的课程是《软件测试》,作为一门必修课程,学生能够通过学习了解和掌握软件测试理论和技术,掌握自动化测试工具使用,并能熟练应用各种方法对各类应用系统进行测试。

我校自2004年开始开设《软件测试》课程,经过十多年的教学实践,形成了独特的工程教育理念为基础的课程体系。2010年,TOPCARES-CDIO工程教育理念被提出[3,4],并在国内多所高校进行了实践。TOPCARES-CDIO(简称T-C)是以CDIO工程教育为基础构建的具有八大能力指标体系的教育模式,即技术知识与推理能力(T)、开放式思维与创新(O)、个人职业能力(P)、沟通表达与团队协作(C)、态度与习惯(A)、责任感(R)、价值观(E)、实践应用能力(S),T-C模式引导的人才培养方案能够全方位的培养学生的能力。《软件测试》课程在T-C模式的引导下,经历了多年的改革,形成了较为稳定的内容体系,为软件测试人才培养发挥了重要作用[5,6]。

2 课程目标及能力指标的选择(Course object and

ability index selection)

本课程主要介绍软件测试的基本原理和常用的测试技术,共64学时,其中理论学时44,实践学时18。通过该课程的学习,使学生掌握软件测试的基本理论和基本方法,能熟练使用常用的测试工具,了解工程项目中软件测试的实施策略和实施过程,并进一步增强学生软件质量管理的意识。通过本课程的学习,学生能够根据需求规格说明书和程序代码设计测试用例,并能运用测试工具进行测试。在T-C模式的八大能力共一百多个指标中,结合课程的特点,我们选择了如表1所示的能力指标。

3 课程内容及学时安排(Course contents and hours)

本课程的目标是掌握软件测试的理论、方法和技术,因此,在课程内容设置上,我们将课程分为8大模块,分别是:软件测试理论、测试用例设计方法、单元测试、集成测试、系统测试、回归与验收测试、自动化测试和测试过程管理,基本覆盖了软件测试中涉及的方法、技术和工具。在学时安排上,软件测试理论部分共6学时,分为3次课,分别讲授:软件测试的基本问题、软件缺陷的基本问题,以及软件测试管理。课程的重点内容是第2模块,讲解黑盒测试用例设计方法和白盒测试用例设计方法;第7和第8模块以实践为主,其中第7模块主要涉及惠普系列自动化测试工具的使用,有功能测试工具UFT和性能测试工具LoadRunner;第8模块为课程三级项目实战模块,要求学生完成对我校国际合作平台的功能及性能测试,并撰写测试文档。课程不同的内容模块对应的能力指标如表2所示,其中CU即为课程单元(Course Unit)的缩写。

《软件测试》课程是一门实践性较强的课程,因此,在内容设置上,我们也突出了实践学时的设计,在表2中的“单元测试框架Xunit实践”和“系统测试练习”部分都是实践部分,要求学生编写单元测试代码和完成国合系统的界面测试、易用性测试和部分核心业务流程的功能测试。第7和第8模块的实践学时安排如表3所示,其中CP为课程项目(Course Project)的缩写,UP为单元项目(Unit Project)的缩写。

课程的三级项目为我校国际合作平台的功能及性能测试(图1),考查学生综合运用测试技术、测试方法、测试工具对Web系统进行测试的能力和测试文档撰写能力。教师将为学生提供项目的用例模型和业务流程,由学生提取测试需求,并撰写测试计划,设计测试用例和撰写测试报告、缺陷报告,所有的文档模板均由教师提供。

自动化测试工具部分的实践涉及到自动化测试工具Unified Function Tester(UFT)和LoadRunner的学习和使用,要求学生按照教师提供的实验指导书,完成所有的实验任务,UFT中涉及的知识点包括:脚本的录制与执行、检查点技术、参数化、输出值与参数化和测试对象库等,LoadRunner中涉及的知识点包括:业务流程脚本的创建、场景的设计与执行和性能测试结果分析,总的实验次数为八次。

4 教学方法与组织形式(Teaching methods and

organization)

《软件测试》课程是一门理论与实践结合且具有较强实践性的课程,因此在教学方法上,我们采用参与式教学和以慕课为载体的翻转课堂。2014年开始,本课程组建设了软件测试慕课平台并制作了13个知识单元的慕课,供学生课下学习,培养学生自由探索知识的意识。教师在课上将不再重复讲解慕课中的知识点,而以扩充性的知识点为主。另外,为充分调动学生的积极性,参与课堂教学,我们选择部分章节的知识点交给学生准备教学资料,制作课件并讲授。学生在查阅资料和准备教学资料的过程中,可以进一步提升创新意识。在学生完成讲授之后,由教师进行知识点的补充。适用参与式教学的知识点安排在系统测试一章,将该章的知识点分解为:功能测试、性能测试、安全性测试、移动互联网测试、本地化测试、兼容性测试等小模块,教师为学生提供适当的资料并引导学生如何去查找资料。

经过近今年的实践,这种参与式教学和慕课引导的翻转课堂进一步调动了学生的积极性,提升了他们的创新意识,同时也解放了教师,将更多的精力放在创新意识的培养上。

5 考核方式(Evaluation method)

本课程的考核方式分为形成性考核和终结性考核,二者分别占总成绩的40%和60%。形成性考核侧重实践的考核,三级项目的测试共10分,JUnit测试代码编写和自动化测试工具实践共24分,至少完成8次,每次3分,如表4所示。终结性考核安排如表5所示,考试形式为闭卷考试,考试时间120分钟,题型选择较为丰富,涵盖了选择题、判断题、简答题和测试用例设计题(解答题)。试题将重点考查学生应用知识解决实际问题的能力,降低死记硬背的知识点,从实践效果来看,这种考核方式更能考核出学生的真实水平,对提高学生学习兴趣和学习的主动性、积极性大有裨益,为将来求职打下基础。

6 结论(Conclusion)

本文介绍了TOPCARES-CDIO教育理念引导的软件测试课程设计。课程的学习不仅重视学习的结果,也重视对过程的考核。通过对形成性考核的合理设计,对学习过程进行合理的考核,重点考察学生的实践能力和知识应用能力。通过实践项目的设置,使得学生的实践水平得到进一步的锻炼,为以后的求职打下坚实的基础。

参考文献(References)

[1] Lawanna A.An Effective Test Case Selection for Software Testing Improvement[C].Proceedings of the International Computer Science and Engineering Conference,2015:1-6.

[2] Soska A,Mottok J,Wolff C.An Experimental Card Game for Software Testing-Development,Design and Evaluation of a Physical Card Game to Deepen the Knowledge of Students in Academic Software Testing Education[C].Proceedings of the 2016 IEEE Global Engineering Education Conference,2016:576-584.

[3] Zhu B,Zhang S M.Experiment Teaching Reform for Software Testing Course Based On CDIO[C].Proceedings of the International Conference on Computer Science & Education,2014:488-491.

[4] 郑东霞,王法胜,王明志.TOPCARES-CDIO工程教育的软件测试方向人才培养模式[J].计算机教育,2013,16:4-8.

[5] 王法胜,等.自动化测试工具课程教学方案[J].计算机教育,

2011,11:61-63.

[6] 黄鹏宇,等.创新型人才培养中教学与科研工作实践[J].软件工程师,2014,17(8):41-44.

作者简介:

王法胜(1983-),男,博士,副教授.研究领域:软件测试.

熊耀华(1974-),男,硕士,副教授.研究领域:项目管理.

康 玲(1974-),女,博士,副教授.研究领域:软件测试.

董悦丽(1973-),女,硕士,教授.研究领域:项目管理.

任长宁(1978-),男,硕士,副教授.研究领域:软件开发.

猜你喜欢
软件测试课程设计
基于OBE的软件测试课程教学改革探索
龙凤元素系列课程设计
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究
基于Articulate Storyline的微课程设计与开发
基于自动化系统的PLC课程设计
开放大学课程设计与资源开发