关于《软件测试技术》实践课程体系的探讨

2013-07-10 11:15曾向红
卷宗 2013年8期
关键词:软件测试课程体系测试

曾向红

摘要:针对软件测试行业的现状及学生认知水平,结合现有软件测试实践课程存在的问题,采用真实企业背景的软件测试案例设计新的实践课程体系,包括实践案例分解及教学方法等,通过教学实践,达到了较好的教学效果。

关键字:软件测试;实践课程体系;项目实训

0 引言

《软件测试技术》是软件工程本科专业的一门实践性很强的课程,适合采用讲练结合的方式开展相关教学,即让学生多上机操作,逐渐提高软件测试用例设计、开发能力以及软件测试的整体管理能力。然而在实际实践教学过程中,教师普遍感觉有不少不尽人意的地方,主要表现在理论与应用脱节,所学知识与社会需求差距较大,学生积极性不高等。

1 软件测试行业现状和学生认知水平

媒体报道,国内开发人员与测试人员的比例是8∶1,而国际公认的行业标准实际上是1∶1,这一点上国内测试行业与国外的差距比较大。随着软件行业的蓬勃发展,用户对软件的质量要求越来越高,导致软件开发企业软件测试的工作量也越来越大,因此自动化软件测试已经成为项目测试的一大趋势[3]。并受到原来越多的重视。

软件测试课程一般到大三才开设,而大学高年级学生往往偏重于对技术的学习,因为技术往往是可以现学现用的,对于理论性较强的软件工程知识反而不太感兴趣了。实际教学过程中关于软件测试流程、团队等工程化内容的描述往往让学生觉得比较抽象且教条化,然而这些工程化知识又是学生毕业后适应当下的软件行业需求所必要掌握的。

2 现有软件测试课程体系存在的问题

现有软件测试技术课程重点讲授的是理论基础知识,含离散数学、图论和测试基础知识以及测试用例,开发各阶段的具体应用往往被忽视,使用自动化测试工具方面的内容尤其缺乏。高校对实践课程的重视程度普遍不够,软件测试实践课开展不足且不规范。教师大量精力放在讲授测试用例设计方法上,实践中的使用这些测试用例却较少。实验案例通常有NextDate问题、三角形问题等,都是一些课本上常见的,设计也较单一,缺乏真实性,难以提升学生的技能,学生往往觉得枯燥乏味。毕业后学生普遍反映,软件测试工程理论知识教的很全,但就是不知道怎样灵活应用;相反,在企业经过一段时间的测试工作实践后发现,工作中真正需要的知识并未掌握。

目前,相关配套的软件测试实验教材比较缺乏,实验内容基本是由任课教师自行设计。这对于教学经验丰富的教师问题不是很大,但对于没有实际项目开发经验作为支撑的年轻教师,就无法把握如何采用恰当的用例来验证相关理论知识,也难以设计出实用的实验内容,学非所用,导致学生无法掌握今后实际工作所需的基本技能。即使是教学经验丰富的教师也大多缺乏实战,尽管能很好的教授理论知识,但由于缺乏合适的实践教材,加上实验条件等各种因素制约,也难以的对学生进行系统全面的实践培训,导致高校重理论轻实践成为普遍现象。因此,软件测试课程的教学顺应社会需求显得格外迫切,必须面向企业,了解岗位要求,而不是“闭门造车”。让学生能学到适合企业所需的技能,毕业后可以以一个“经验者”的身份进入人才市场。

3 《软件测试技术》实践课程体系研究

3.1 课程构建原则

高校应以软件测试所需的知识、技能为先导构建相应的课程体系,充分调研软件测试工作的具体内涵,仔细研究对应的知识、技能以及素质要求,课程内容也应强调当前以及未来就业所需掌握的基本知识、技能,体现知识、技能和素质三者的结合[6]。

根据该专业人才培养的定位以及行业内需求,在建设具有特色的软件测试课程时建立实验、实训和实习等不同层次的实践课,通过多项目的练习,提高学生专业技能及分析、解决问题的能力。

3.2 实践课程教学探究

在软件测试技术实践课程环节,引入具有企业背景项目的实训。通过这些真实测试案例的引入,结合人才市场的需求,充分体现出工学结合的特点。通过对实际项目的操作,使用相关测试工具,完成对各目标的测试,提升学生的测试能力同时积累相关工作经验。

我们可以在教学过程中引入一个贯穿整个教学过程的具体测试案例的教学法。首先,组织学生进行随机分组,每个小组5~6个人,给每个组起一个名称。要求每个小组在课程实施前完成同一个模拟软件“小区物业管理系统”的开发。模拟软件开发完成后,由各个小组交叉测试其它小组开发的软件。在测试课程中,要求学生对软件系统进行单元测试、功能测试、集成测试和系统测试,找出问题并解决问题。

该教学方法主要有以下明显的优点:

1)软件测试前期的课程有《基于Web的Java开发设计》,同步开设的课程有《J2EE企业级应用开发》,所以在实践环节我们选择“小区物业管理系统”作为测试对象,能让学生快速具备软件开发的能力,以及掌握软件系统测试所需的技术。

2)每个人都喜欢挑别人的错误,相互测试对方所开发的系统,可以形成竞赛,有利于发现问题,能发挥学生的积极性,提高效率。同时也便于组织课堂讨论以及对各小组实践结果的评价。

3)学生通过一整套测试课程的参与,能够了解一个具体项目的完整测试过程是个什么样子,真实展现了实际工作中软件测试的方法和要求。

但由于学时和学生能力的制约,在本实验课程中,主要针对还只是初、中级测试人员,主要是为了帮助毕业生在踏上岗位后可以顺利从事不太复杂的测试工作打下坚实的基础。对于高级别测试以及测试管理之类的工作,比如制定测试计划、各种设计的论证、测试结果的评估和总结,恐怕还需要经相当长时间的实战,累积足够的经验才能胜任。这些工作经历,仍然不是课堂所能提供的,我们的目标就要是培养出具备从事这项工作潜能的新手。有关这方面的内容,我们也只能够在理论教学中予以概述,不在实践课中安排具体实验。

为了适应实践课程需要,我们设计了8项实验内容,该设计旨在让学员通过实训,将来以一个“经验者”的身份进入人才市场。该项目模拟“企业项目管理者”培养“新人”的模式来安排实验进度和内容。虽然现实中软件测试是始终贯穿于软件生命周期中的,但对于未参加过工作的大学生来说,从培养人才的角度出发,模拟“企业项目管理者”通常还是按如下流程培养人才:单纯性测试的实施、测试环境建立、测试设计等等,按照单元测试→集成测试→系统测试的顺序逐步深入实践,并在提供的测试案例中人为的加入一些缺陷,以便学员在测试时去发现、分析、修改这些缺陷[7]。因此,我们专门设计了表1所示的实验内容。

通过以上8个实验内容的实践,可以让学员掌握单元测试以及集成测试的具体实现方法,熟悉各种测试工具的运用,了解系统测试的实施。经过这些实际训练,学生将来以初级测试工程师的身份投入到测试工作中。

4 总结分析

实践证明,软件测试技术实践课程体系研究针对软件测试行业及人才的特点要求,把行业、企业对人才的要求转化为教学中的具体目标。从知识、能力、素质多方面全方位提升学生的就业竞争力,设置合适的实践教学内容和方法,一定程度上改变了教师的教学状态和学生的学习状态,达到了预期目标。

参考文献

[1]2007首届中国软件测试从业人员调查报告[DB/0L].www.51testing.com,2007

[2] 钟素芬, 叶明芷. 软件测试应用性人才培养模式的探索与实践[J]. 北京联合大学学报(自然科学版),2007(9).

[3] 钟元生. 软件测试实践教学特色的构建实践[J]. 电化教育研究,2006(10):62-65.

[4] 胡宏银. 软件测试课程教学方法探讨与实践[J]. 计算机教育,2007(6):11-12.

[5] 李绘卓,唐峻,范勇.基于案例的软件测试实验教学[J].电脑知识与技术,2009,27(5):7820-7821.

[6] 屠红蕾.软件测试教学的点滴体会[J].计算机教育,2008(10):124-125.

[7] 李亚.“软件测试”教学探索与实践[J].计算机教育,2008(6):14-15.

猜你喜欢
软件测试课程体系测试
幽默大测试
基于OBE的软件测试课程教学改革探索
“摄问”测试
“摄问”测试
“摄问”测试
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
以创新课程体系引领学生发展
民法课程体系的改进和完善思路*——以中国政法大学的民法课程体系为例
软件测试工程化模型及应用研究