地州院校中“软件测试技术与实践”课程的教学改革研究

2020-12-04 08:43田安红
无线互联科技 2020年16期
关键词:软件测试教学内容测试

李 丽,田安红

(曲靖师范学院 信息工程学院,云南 曲靖 655011)

0 引言

随着软件产业的发展,为了提高软件质量,国内IT行业、软件企业迫切需要专业化的软件测试人才。参考达内网站提供的2019年调查数据,国内软件公司测试人员与开发人员的比例在1比4及以上的高达55.13%,而2016年低于49%,可见,软件测试行业处于上升势头。再参考智联招聘有关软件测试的岗位要求、薪资、工作经验等数据,未来软件测试行业对高素质、高技能的软件测试人员的需求量会更大。

受新冠肺炎疫情的影响,2017级学生的“软件测试技术与实践”课程的教学在教学方式和教学环境方面都发生了较大的变化,部分课程内容由传统的线下面授变为线上远程教学。为了能更好地适应社会的变化,借鉴“教学-考证-竞赛”三位一体的高校课程教学模式,现从教学方法、教学平台、教学内容和师资队伍4个方面探索“软件测试技术与实践”课程的教学改革。

1 教学方法

传统的课堂以讲授和演示为主,教学效果较差。借助学生参与式教学、案例教学、分组教学等方法[1-2],实现教师与学生的互动,提高教学效率和学习效果,让学生充满参与感和获得感。

(1)增加学生的参与度。课前,通过线上和线下的免费资源提高学生的自学能力。在课堂中,将理论性的重点、难点内容由教师讲解及演示,将实践性和开放性的内容由学生练习和讨论。课后,引导学生独立完成作业的同时,鼓励其积极参加测试类比赛和考证,让学生进行深度学习,提升和巩固测试能力。

(2)案例驱动。以统一的综合性实验案例串联知识点,让学生体会多项测试技术中实际案例中的应用场景,感受测试技术的实用性。

(3)分组教学。为了培养学生的团队协调合作、监督管理的能力,将学生分为4人一组。在理论课中,讨论问题时组长组织组员展开,课堂实验及作业由组长负责指导;在实践课中,课堂实验由组长负责指导组员完成,并与教师直接进行沟通答疑。

2 教学平台

目前,本课程的理论教学内容是在多媒体教室或线上,实验环境由教师搭建,教师讲解、演示、答疑,学生学习、练习、讨论;实践教学内容是在软件测试机房教学,实验环境由网络管理员搭建,学生选择已安装的测试工具,利用工具自带的案例或自由选择的案例进行相应的测试。课程包括中文和英文教学,利用曲靖师范学院的网络课程教学平台共享本课程的相关资料、视频、源码、工具等,建立共享资料库。如果本课程考虑结合考证与比赛,可选择的测试工具主要有单元测试、集成测试、自动化的功能测试、性能测试和测试管理等,在选择测试工具、搭建测试环境、掌握学生学习效果等很多方面存在很多问题,所以需要一个集成编程、测试、练习、评价的测试服务平台。将来,将校园网络教学平台与现代化教学平台MOOCtest相结合。现代化教学平台 MOOCtest是南京大学开发的软件测试技术课程教学平台,是致力于编程、软件测试类考试和练习的服务平台。

3 教学内容

“软件测试技术与实践”是软件工程专业的专业任选课,包括54个理论和18个实践课时。在理论课时偏多的情况下,除了需要按照教学大纲保质保量完成教学任务,还要根据2018级软件工程专业培养方案,结合考证和比赛,扩充有实用价值的、符合学生学情的软件测试案例库,从中选择最具代表性的、协同使用多项测试技术的案例穿插在理论和实践教学过程中;需要根据每年调研的软件测试行业现状、软件测试岗位需求,调整教学内容,增加一些领域相关的前沿扩展。

3.1 渗入思政教育

从目前软件业界对专业测试人员的要求来看,教师不仅需要向学生传授知识和技能,还需要引领学生的价值观导向。为了提高学生的专业素质和能力,教师可以根据本课程特定的教学知识点,深挖思政元素,选择合适的教学实例和教学素材,使用恰当的教学方法,将思政教育渗入到教学内容中。教学知识点对应的思政内容如表1所示。

表1 教学知识点和思政内容的对接

3.2 融入考证知识

根据《2019年第十三届软件测试现状调查报告》了解到,软件测试从业人员提升软件测试技术的主要途径分别为工作实践学习、免费资料自学、各种培训和考证,且考证的比例在逐年增加。

根据曲靖师范学院信息工程学院学生有参加软考的基础和兴趣,教师有辅导软考的经验,选择先后融入国家类的软件测评师中级认证和国际类的国际软件测试资格认证(International Software Testing Qualifications Board,ISTQB)两种类型的考证知识,为学生将来参加考证打下良好的基础。

软件测评师考试分为上午和下午,难点在于下午,最后3题任做两题。通过分析整理近5年软件测评师下午试卷的考点[[3]发现,白盒测试C程序主要考核基路径、判定覆盖、环路复杂度、线性无关路径;黑盒测试主要考核等价类、边界值、决策表;Web测试主要考核兼容性测试矩阵、兼容性测试、设计测试用例、可靠性测试、负载测试、压力测试和安全测试;面向对象测试主要考核具体类图中类之间的关联关系、继承关系、测试某个类的方法时的测试序列、多态、类图对应类的测试序列,类方法测试、类间消息测试、事件流与用例测试。

3.3 融入专业相关的其他课程内容

本课程的对象是软件工程大三下学期的学生,之前已学习过C,Java,网页制作,JSP等课程。同一学期开课的还有“面向对象系统分析与设计”和“J2EE系统开发”等课程。通过与其他专业课程相结合,在中文理论教学内容中融入C程序单元测试、教师或学生自己开发的J2EE待测系统的单元测试和性能测试、自己开发的面向对象的待测系统的测试。教师在英文实践教学内容中融入开源的或自己开发的Java程序单元测试和集成测试、QTP和LoadRunner工具自带的Web系统的功能测试和性能测试,更新并完善已积累的实验案例,以更好地体现软件测试在本专业课程体系中的地位和作用。

3.4 加入比赛的实践内容

全国大学生软件测试大赛旨在建立软件产业和高等教育的资源对接,包括开发者测试、Web安全测试、移动应用测试和嵌入式测试。开发者测试、移动应用测试和自主可控测试均采用慕测内置系统,分别为xUnit,Appium和Selenium测试脚本;提供WebIDE和Eclipse插件两者方案;性能测试采用Jmeter。Web安全测试和嵌入式测试采用集成慕测的第三方比赛平台,大赛的题目来自开源社区和软件企业。

因学生学习和接受软件测试相关知识的能力差异度较大,对学有余力的同学,鼓励课后自学相关的免费资料并参加比赛。教师可以将JUnit测试脚本、分支覆盖率、Bug检测率和Appium脚本、覆盖率、运行效率、稳定性、人工测试设计与报告等有关的重要知识点整理到相应的共享资料库。

3.5 加入前沿技术

根据《2019年软件测试行业问卷调查》,优秀的软件测试人员不仅重视软件测试基础理论、自动化测试等硬能力,也非常关注沟通能力、表达能力、学习能力等软技能,还关注移动性能测试、大数据测试等新兴技术。教师可以将收集、整理的前沿技术资料加入相应的共享资料库,供学生课后自学。

4 教师队伍

由于现在使用的软件测试工具、测试报告很多是英文版本,而且参加笔试、面试的试卷也可能是英文版本,所以,任课教师需要不断地提高自身的英语水平,保持与外教进行经验交流,衔接课程内容,并建设与共享资源。

5 结语

本文从教学方法、教学平台、教学内容和师资队伍4个方面探索了如何进行教学改革,但是还需教师编写符合学院学生实际情况的本科教材和实验指导书,并在未来几年的实践中结合教学平台使用效果、比赛结果、考证结果、软件测试相关的就业情况等进行效果评估。

猜你喜欢
软件测试教学内容测试
幽默大测试
基于OBE的软件测试课程教学改革探索
“摄问”测试
“摄问”测试
“摄问”测试
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
“启蒙运动”一课教学内容分析
软件测试工程化模型及应用研究
“清末新政”也可作为重要的教学内容