软件质量与测试教学内容改革的探索

时间:2022-04-06 07:51:46

软件质量与测试教学内容改革的探索

摘要:通过对软件质量与测试课程的现状展开调研和分析,提出了软件质量与测试课程教学内容改革的原则,并以此为基础,对课程的理论教学内容与实践教学内容分别进行了详细的设计。

关键词:软件质量与测试;教学内容改革;理论教学;实践教学

1课程构建背景

随着软件技术的发展和应用日益广泛,软件系统的规模和复杂性与日俱增,软件缺陷导致的各类损失不断增加,甚至带来灾难性的后果。软件质量问题已成为所有软件使用者和开发者关注的焦点。作为软件质量保证和质量控制的有效手段,软件测试受到了越来越多的关注。

国外的软件厂商极为重视软件测试,在欧美等软件产业发达国家的软件企业中,测试人员与开发人员的配置比例一般已达到或超过1:1,而在国内被调查软件企业中,能够基本达到该比例的企业仅占22%[1]。随着近几年国内软件企业对软件测试的日益重视,产生对软件测试人才的大量需求,形成30万人的软件测试人才缺口。造成软件测试人才供不应求的根本原因在于国内教育院校对相应的市场需求反应迟缓,开设软件测试专业和课程的院校很少[2],且应届毕业生常常无法马上胜任软件测试工作。而社会培训机构举办的各类软件测试技术培训不仅价格不菲,质量也良莠不齐,远远不能缓解人才市场的紧缺状况。

为适应我国经济结构战略性调整的要求和软件产业发展对人才的迫切需要,实现我国软件人才培养的跨越式发展,2001年12月,国家批准建立了35所国家示范性软件学院,其中软件测试课程是本科及硕士研究生的专业核心课程之一,亟需针对该课程展开深入的教学改革和实践活动。

2课程现状

目前,在全国各院校中,软件测试课程不断出现,各院校在教学中也探索了不少经验与方法,但在教学内容上尚未形成共识,这对课程的建设和发展十分不利。为此,笔者就13个院校的软件测试课程的教学大纲展开了调查和分析。表1列出了授课对象、总学时数、理论与实践学时的比率等方面的统计结果。表中“未知”表示大纲中并未明确说明该项内容。

特别要说的是,课程总学时最高为80学时,最低为24学时,平均为40学时。理论与实践学时的比率最高为4,且有两个院校在课程中未设置任何实践学时。

为进一步了解教学内容的设计情况,将教学大纲中的理论教学内容分为概述、技术方法、测试阶段、自动化测试和测试管理这5个方面,并以13所院校中的11所为样本,分别对各方面的学时分配进行比较,结果如表2所示。其中,若大纲中某方面内容占总理论学时的比例最高,则认为该内容是教学的重点。

从表1和表2的统计结果可以得出如下结论:

1) 课程性质多为必修课,学时数较多,且基本是针对计算机相关专业开设,说明各院校计算机相关专业对软件测试课程普遍十分重视。

2) 理论占整体学时的比例偏高,反映多数院校重理论轻实践,这直接导致培养的学生在测试应用与创新能力方面与企业要求存在较大差距。

3) 理论教学内容基本涵盖了所有5个方面的内容(仅有两所院校未讨论测试自动化和测试管理),覆盖面广,学生在短时间内难以消化吸收。具体的学时分配和侧重点也存在巨大差异。

4) 将自动化测试等同于熟悉或掌握几种常用的测试工具,使学生沦为测试工具的简单使用者,不利于培养学生的创新意识和能力。

针对以上情况,笔者拟根据5年多的教学实践和思考,就软件测试课程教学内容的构建谈谈个人的体会。

3教学内容改革的原则

国家示范性软件学院的人才培养不同于高等职业教育的“实用型”人才培养目标,也不同于重点高等院校本科计算机专业的“学术型”人才培养目标,示范性软件学院的目标是培养软件金领,即工程型高端人才和复合型人才,要求具有创造性思维和创新人格,并具备娴熟的国际交流能力[3]。

针对该人才培养目标的需要,软件质量与测试课程教学内容改革的主体方向是突出知识点的辐射效应,培养学生的求知欲,鼓励自主学习、独立思考。教学内容构建的基本原则如下。

1) 理论教学内容注重基础性、实用性和先进性,突出知识点的辐射效应。

受软件工程专业本科培养计划的限制,软件质量与测试仅有32学时,而课程需涵盖的知识内容包括基础理论、测试方法、测试实践、测试工具和测试管理等,涉及的知识域很广,教学内容中无法也没有必要囊括以上所有知识域。

软件测试人员的基本工作内容是通过精心设计测试用例,达到以最快的速度、最低的成本发现更多、更严重的缺陷的目的。因此,理论教学内容应紧紧围绕用例、缺陷和效率而展开:

 测试用例:有哪些典型的测试用例设计方法,如何管理测试用例,如何提高测试用例的质量。

 软件缺陷:如何定义和报告软件缺陷,如何处理各类缺陷。

 确保效率:如何在测试各阶段分析外部环境,合理设计和实施自动化测试,提高工作效率。

2) 实践教学内容注重综合性、创新性。

软件测试是一门实践性很强的专业基础课,通过实践教学应能锻炼学生的动手能力,培养其创新意识,加强学生的团队协作精神。简单的验证性实验应予以废除,代之以综合性实验,培养学生解决实际问题的能力,激发学生的创造力。将实践教学内容规划为阶梯式教学内容,形成初、中、高3个级别,循序渐进地指导学生从基本的功能测试入手,进而到程序测试,再到一定规模的系统测试。

3) 自动化测试不应等价于学会使用几种测试工具。

随着软件测试技术的不断发展,自动化测试在实际的软件测试工作中起到越来越重要的作用,也是软件测试课程教学内容的重要组成,然而,多数的软件测试课程仅侧重于对自动化测试工具的使用。笔者认为,自动化测试工作的使用仅仅是实现自动化测试的途径,而非目的,自动化测试的最终目的是提高测试效率,它是在测试过程中的各个环节、以各种形式来体现的,例如,测试用例的自动生成、测试结果的自动检验、数据的自动统计和自主开发测试平台等。因此,实践教学内容的关键并非让学生掌握几种现成的工具,而是要建立测试自动化、建立效率优先的思想,使得学生面对实际的软件项目,能够根据实际情况自主设计和实现初步的自动化测试,培养学生的创新思维。

4教学内容改进

在以上教学内容改革方向指导下,基于前述的内容构建原则,对软件质量与测试课程教学内容进行改革。目前,该课程的总学时为32,其中课堂教学20学时,实践教学12学时,在有限的学时内做到了理论与实践的比例接近2:1。

4.1理论教学内容

理论教学内容应突出基本知识和基本概念,把握知识深度,因此,在对教学内容主体及顺序安排上注意由浅入深,由粗到精,以点代面,由核心的测试概念到基本的测试方法,再到流程管理和自动化测试,由理论基础到实践运用,既符合课程教学大纲,又遵循学生的学习规律,还兼顾培养学生的自学及创新能力。

4.1.1主体设计及顺序

具体而言,理论教学内容主要包括4大部分,主体设计及顺序如下。

1) 绪论(含2个案例实践)。描绘软件测试技术和工作的概貌,并建立有关软件测试的三个观念:

 风险:软件测试是有风险的。

 效率:软件测试必须注意保证工作效率。

 过程管理:软件测试需要良好的过程管理。

2) 基本方法(含13个小型案例和1个综合案例)。内容包括黑盒测试方法和白盒测试方法。

黑盒测试方法主要涵盖边界值测试、等价类测试和场景法,前两者从测试数据选取的角度来设计测试用例,后者则从宏观的功能测试角度来设计测试用例。

白盒测试方法主要涵盖逻辑覆盖、路径测试和静态白盒测试,前两者讨论动态测试,从影响程序结构复杂度的决定性因素的角度来设计测试用例,后者则讨论静态测试,从程序结构优化的角度来设计测试。

3) 测试管理(含1个案例分析)。介绍软件缺陷管理,包括软件缺陷的典型特性、缺陷报告的提交和缺陷处理流程等。

4) 自动化测试(含1个案例分析)。主要讨论自动化测试的思想,以自动化测试的规划为主,而非简单地传授某种测试工具的使用方法。

4.1.2知识模块设计及学时安排

软件质量与测试具体的知识模块设计及学时安排如表3所示。

4.2实践教学内容

根据软件质量与测试课程特点,并结合学生学习的特点及软件工程专业的特点,安排从初级、中级到高级不同阶段的阶梯式实践教学内容,循序渐进地指导学生从基本的功能测试入手,进而到程序测试,再到一定规模的系统测试,最终能使用常用的自动化测试工具。

 初级:手工黑盒测试,实验主要设计在单元测试和功能测试中运用;

 中级:手工白盒测试,实验主要设计在单元测试和集成测试中展开;

 高级:自动化测试,实验主要设计为掌握主流功能测试工具的基本使用。

具体的实践教学内容设计及学时安排如表4所示。

5结语

软件测试在国内软件行业正越来越受到重视,社会需要大量的软件测试人才,这给就业压力极大的毕业生带来了机遇,同时,软件公司希望招收有技术和经验的员工,又给毕业生和高校带来了挑战。软件测试人才培养刚刚起步,该方向的教学活动成为一个新亮点。由于很多工作仍处于摸索阶段,因此,需要学校、教师和学生的共同努力,为社会培养出大批合格的软件测试人才。

参考文献:

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

[2] 杨鹏,贺平. 高职软件测试专业的构建与探索[J]. 计算机教育,2008(2):63-66.

[3] 马中平. 示范性软件学院人才培养目标及途径研究[D]. 武汉:华中科技大学教育科学研究院,2005年:14-25.

Reform on Teaching Contents of Software Quality and Testing

WU Jian-jie, SHI Gui-ling

(School of Software Engineering, Huazhong University of Science & Technology, Wuhan 430074, China)

Abstract: Through the investigation and analysis of current situation of Software Quality and Testing, basic principle of the design of teaching contents is proposed. Theoretical and practical teaching contents are respectively designed in detail on the basis of the above research.

Key words: software quality and testing; reform of teaching contents; theoretical teaching; practical teaching

上一篇:应用型软件专业操作系统课程的教学探索 下一篇:远程网络实验系统的设计与实现