周昕杨森朱涛
(杭州职业技术学院 信息电子系,浙江 杭州 310018)
以职业岗位能力设置课程的课程改革理念和以职业人专业技能和综合素质培养为工作任务的项目课程模式,现已成为我国高职院校课程改革与建设的重点和突破口。如何针对职业岗位能力和高职学生特点,进行有效的、系统的教学设计,如何将高职教育教学改革的成果真正运用到教学实施当中,进而提高教学效率和教学质量,使学生获得良好的发展成为制约高职院校教育教学改革的一个瓶颈,也是高职教师面临的一个亟待解决的问题。本文从课程整体设计的理念与思路、课程目标设计、课程内容设计、教学模式设计、第一次课设计和课程考核方案设计等方面对高职《软件测试基础》这门课程的整体设计进行了初探,为职业院校教师进行课程的教学设计和实施提供参考。
软件测试设计和实施能力是软件技术专业学生必须具备的核心能力之一,软件测试基础理论的掌握也是学习后续软件测试相关课程的基础。软件测试是软件技术专业学生就业后从事的主要岗位之一。《软件测试基础》课程的功能是培养学生熟练掌握软件测试过程中的软件开发需求和设计书分析、测试计划制定、测试用例设计、测试执行、缺陷跟踪管理、测试分析总结等各个环节的工作方法,同时掌握软件测试的基本理论。
《软件测试基础》课程旨在使学生掌握软件测试的基础知识,培养学生从事软件测试工作的基本能力。通过任务引领型的项目活动,使学生在认知和实际操作上,对软件测试有一个整体认识,并掌握进行软件测试的基本技术和应用技能。倡导学生在“做中学”,培养学生的工程规范和团队合作精神,为后续课程项目实战和综合项目开发中的软件测试工作奠定良好的基础。本课程的技能目标、知识目标及态度目标如下:
1)能够运用配置管理工具VSS进行软件配置管理;
2)能够正确理解ATM机模拟系统软件需求,确定系统可测试的需求和测试侧重点;
3)能够参与确定项目测试阶段的目标和策略,制定测试计划;
4)能够执行测试用例设计及管理;
5)能够正确执行测试,正确记录测试结果;
6)能够使用单元测试工具NUnit对系统进行自动单元测试;
7)能够运用缺陷跟踪管理工具对所发现缺陷进行跟踪管理;
8)能够对软件缺陷进行分析总结形成测试分析报告。
1)了解软件测试的概念和目的;
2)了解软件测试方法和策略;
3)了解软件测试人员角色分工;
4)了解软件配置管理;
5)熟悉项目评审流程;
6)熟悉测试需求分析方法;
7)了解软件测试计划内容;
8)掌握测试用例设计方法;
9)掌握各测试阶段执行过程;
10)掌握缺陷跟踪管理过程;
11)掌握测试文档编写方法;
12)了解自动化测试方法和工具。
1)培养良好的交流沟通能力;
2)培养严谨的工作态度和坚韧不拔的性格;
3)培养自主、开放的学习能力;
4)培养团队协作意识。
《软件测试基础》课程在项目及模块设计上,依据各项工作任务的过程来进行。课程以ATM机模拟系统这个小型软件项目的测试过程为工作目标,课程本身就是一个完整的项目。其中“软件配置管理(测试相关)”这个学习项目,着重培养学生项目配置管理的执行能力。“需求及设计书的分析理解”这个学习项目,着重培养学生对待测试软件项目需求的理解能力,为后续测试计划制定项目提供内容。“测试计划制定”这个学习项目,着重培养学生测试计划的制定能力,同时对软件测试过程、测试策略、测试环境搭建和风险管理等软件测试基础内容有一定程度的了解。“测试用例设计”学习项目,着重培养学生运用各种测试方法进行测试用例设计的能力以及用例设计工具的使用能力。“测试执行”学习项目,着重培养学生使用各种测试方法进行测试的执行能力。“缺陷跟踪管理”学习项目,着重培养学生缺陷报告的陈述能力以及缺陷管理工具的使用能力。“测试分析总结”学习项目,着重培养学生对软件缺陷的分析能力以及测试分析总结报告的书面总结能力。整个课程项目设计以完成ATM机模拟系统小型软件项目的测试过程为线索来进行,必备的测试知识融入到相应的工作任务中学习。在学习知识和技能的同时,也培养了学生解决实际问题的工作方法和职业态度。
《软件测试基础》课程采用分组教学模式,3-5名学生组成一个测试小组,每组设一名组长,组员工作任务由教师分工。教学场地采用全机房方式,课内教学主要包括内容介绍、示例讲解、学生实践、教师指导、答疑等内容,本项目工作任务规模需要学生课外投入时间完成。表1是测试需求分析工作的小组任务安排。
表1 测试需求分析工作任务安排
表2 学业评价量化表
自我介绍,与学生进行沟通,了解学生对先修课程的学习基础,介绍《软件测试基础》课程的学习目的和学习方法。
提问:这些软件错误都是由于什么原因产生的?
得出结论:软件故障问题往往会造成相当严重的损失和灾难。这些问题都与软件测试有关,软件测试是软件开发过程的重要一环,让学生意识到本课程的重要性;告知学生,本课程的总体安排、教材的处理,上课的方式和要求,明确教学目标—完成ATM模拟系统软件项目的测试工作。
第一次课要告知学生每堂课都有一定的工作任务,平时按时到课10%,提问回答积极5%,项目日报10%,课堂项目跟上老师进度15%,注意平时积累就已经有了40%的成绩;贯穿项目的完成占60%,按照评分标准达到分层次得分,就可以完成课程的学习了。借助课程辅助教学系统,每天的计划和总结日报有助于养成良好的PDCA(Plan-Do-Check-Action)习惯。
《软件测试基础》课程的项目是“ATM模拟系统软件项目测试”,包括软件开发需求和设计书分析、测试计划制定、测试用例设计、测试执行、缺陷跟踪管理、测试分析总结等学习项目。本课程项目将基本遵循软件测试生存周期,严格按软件测试流程完成项目。本节课将介绍软件测试流程,进行项目角色分工,对软件配置工具VSS进行演示操作,学生模仿,分组建立各小组的项目配置库。
《软件测试基础》课程实践性强,学习效果平时可测。考核以课堂表现、课后训练为辅,全程项目工作任务为主的形式。具体比例如下。
(1)平时成绩40%:包括考勤10%,课堂提问5%(使用提问程序,保证每个同学都会被提问到至少一次),项目日报10%,课堂项目完成度15%。
(2)项目工作任务60%:项目工作任务贯穿于整个学期,每次课完成的工作产品构成整个软件测试工作产品。
项目工作任务成绩将通过完成项目过程任务达到,每位学生的工作任务由教师安排,每次尽可能安排不同的项目子任务,可以通过项目日报和课堂提问交流等方式控制学生间的相互抄袭现象。如发现非自行完成的,适度扣分。
本课程的学业评价量化标准如表2。
[1]钱银中.关于《软件测试》课程教学改革的若干措施及效果[J].职业教育研究,2007(12).
[2]龚宇辉.软件测试课程教学改革研究[J].教育与职业,2010(24).
[3]黎华,刘柳.如何进行高职课程的整体设计和单元设计[J].广西职业技术学院学报,2012(10).
[4]徐国庆.职业教育项目课程开发指南[M].华东师范大学出版社,2009,11.
[5]戴士弘,毕蓉.高职教改课程教学设计案例集[M].清华大学出版社,2007,11.