首页 > 范文大全 > 正文

研究生软件测试课程实施案例交叉教学法新探

开篇:润墨网以专业的文秘视角,为您筛选了一篇研究生软件测试课程实施案例交叉教学法新探范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:从目前国内研究生软件测试理论与技术”课程教学实际出发,在分析目前国内研究生学习基础、学习需求及学习能力的基础上,提出一种紧密结合测试案例、测试理论与实践交叉进行的教学新方法。

关键词:研究生教学;软件测试;测试案例;交叉教学;测试实践

随着国家信息化建设步伐的不断加快,软件日益成为信息系统中极为重要的组成部分。软件的可信性已倍受关注,目前软件测试仍然是保障和提高软件质量的一种有效方法。同时随着国内软件产业的标准化与国际化,越来越需要专门的软件测试高级人才。当前高校仍然是培养软件测试专业人才的重要机构。

目前我国高校开设软件测试课程按学历分主要有三个层次:大专、本科与研究生阶段。大专和本科阶段的软件测试课程在我国已经开设有较长时间了,主要是教授基本的软件测试理论与技术,侧重以基础知识为核心。一些高校已经摸索出一些好的教学经验和方法,发表了一些教学体会[1-3]。但是,研究生(本文特指硕士研究生,下同)阶段的软件测试课程教学却面临很多新的问题。特别是随着近几年高校研究生招生规模的扩大及招生形式的多样化,各高校研究生生源相差较大,学习目的与培养形式也有所差异,使得研究生的软件测试课程教学很难采取统一标准,给各校任课老师提出了新的挑战。从我校研究生软件测试课程教学实际出发,笔者分析了近年来研究生在学习基础、学习能力及学习目的上的诸多变化,提出了一种“紧密结合测试案例、测试理论与实践交叉进行”的软件测试教学新方法。该方法连续实施在两级研究生的教学实践中,从课堂反应、课程考核、案例测试实践指标来看,该方法较大程度地激发学生的学习兴趣,提高了研究生测试理论知识及实践测试动手能力。

1传统教学及面临的新问题

1.1传统的研究生软件测试教学形式

2010年5月我们参加了第四届全国软件工程领域硕士培养工作研讨会,与会期间我们和软件测试同行进行了广泛的交流。大部分院校认为软件测试教学大纲仍然沿用研究生招生改革之前的大纲,即教学对象为传统的学术型研究生,课程教学仍然以理论教学为主,教学内容也以书本为主,按章节进行教学。课程结束考试仍以论文报告的形式完成。总结大部分高校共同的教学内容有:

1) 软件测试概述;

2) 测试人员的离散数学;

3) 测试人员的图论;

4) 功能性测试;

5) 结构式性测试;

6) 集成测试;

7) 系统测试;

8) 面向对象测试等。

传统教学以教授学生理论知识为主,旨在培养懂理论的学术型研究生。未考虑学生的水平、学习需求、学习目的及学习能力等因素的差异,导致相当一部分同学失去学习兴趣。此外教学过程没有测试案例及其他实践测试环节,导致总体教学效果不理想,课程结束后大部分同学均没有掌握基本的软件测试理论与技术。

1.2研究生教学的新特点

随着近年来国家研究生招生及培养方式的改革,研究生的招生规模、招生形式及培养方案等均变化较大。以前是以工学硕士为主,重点培养懂理论、会创新的高级学术型研究人才。近年来,国家硕士研究生招生已细分为工学硕士及工程硕士,工学硕士又分为学术型与应用型。工程硕士和应用型硕士侧重于培养工程开发、工程应用、工程管理等应用创新型高级人才。研究生招生及培养制度的改革促使培养方案不一样,相应的课程大纲及教学方式也应不一样。故研究生软件测试课程教学面临的主要特点有:

1) 理论与实践并重;

2) 加强工程案例的测试教学;

3) 激发学生兴趣,互动教学;

4) 侧重于培养学生的实际测试动手能力。

现阶段研究生软件测试课程应考虑所有选修学生的学习基础、学习需求、学习目的及学习能力的多

样化,重点学习以下内容:常用软件功能性测试方法;面向对象程序测试技术;WEB软件测试;错误注入测试技术;安全性测试、主流软件自动化测试工具及大公司常用测试方法等。通过课程的学习,使学生较好地掌握软件测试理论、先进的软件测试技术和主流测试工具,并能较好地应用于实际软件工程项目中。

2案例交叉教学法大纲及其教学过程

基于研究生培养方案的诸多变化,我们提出了一种紧密结合测试案例、测试理论与实践交叉进行的教学新方法。该方法以学生为中心,旨在激发学生的学习兴趣,提高学生的理论知识和实际案例测试能力。

2.1江苏大学研究生软件测试教学大纲

表1是我校现行的研究生软件测试教学大纲,全校理工科研究生也可选修。

2.2案例交叉教学法教学过程

案例交叉教学法总体分成两个阶段:课前案例程序编写和课堂理论与案例交叉教学。

第一阶段:课前案例程序编写。上课前一周布置实现两个测试案例,每学期难度类型与之类似。

案例1:使用C、C++或C#语言编写一个程序,计算任意两个正整数a,b的最大公因数,其中0≤a,b≤1060。并撰写程序设计说明书。

案例2:使用ASP或JSP技术,数据库SQL Server实现具有用户注册、登陆验证的简单B/S结构系统。

当然,可以根据不同学生的水平布置不同的案例程序,要求所布置程序难度、功能和工作量与案例1和2相当,即案例1满足后期单元测试、功能测试、类测试、错误注入测试、安全测试及编写测试驱动等测试需求,案例2满足后期GUI测试、WEB测试、错误注入测试、安全测试及测试工具的教学等测试需求。

第二阶段:课堂理论与案例交叉教学。结合前面两个案例,自第二章开始结合测试案例、测试理论与实践交叉进行教学。具体教学流程如图1所示。

图1案例交叉教学流程图

图1中,S1代表第1章,其它类似。案例1重点是让学生掌握基于程序结构的测试方法,如边界值测试、等价类测试、类测试、数据流与控制流测试方法等。案例2重点让学生掌握基于程序规格说明的测试方法,如GUI测试、错误注入测试及基于状态的测试等方法。此外,结合案例1和2,不但教授学生重要的功能性测试方法,而且教授学生一些关于软件安全

性、可靠性及稳定性的测试思路,全面提高学生的综合测试能力。

此外,我们的教学过程中将联系国内外大型软件企业的实际测试方法及测试工具。如我们选用的教材之一便是微软软件测试工程师们撰写的教程,所讲授是主流自动化测试工具系列:Parasoft公司AEP方案系列、Mercury Interactive公司系列及IBM Rational系

列。重点讲授的自动化测试工具主要有:Parasoft C++Test;Mercury公司主要产品LoadRunner、WinRunner、TestDirector、QuickTestPro、IBM Rational Purify等。同时将结合程序案例1、2及其他大型测试案例进行工具的演示教学。

3教学效果分析

我们连续对两级研究生运用了案例交叉教学法,在课程结束后对50名学生进行了问卷调查,同时结合学生考试成绩及课程测试报告情况,结果表明案例交叉教学法教学效果明显好于传统的按章节教学方法。表2从学生兴趣、理论掌握度、测试用例设计、测试驱动编写、测试方案设计、测试思想及自动化测试工具的掌握等方面进行了教学效果对比分析。

学生问卷调查中的学生兴趣度以调查结果为主,其他调查项均以课程考核结果为主,调查结果为参

照。在课程期末考核中除了考查常规的测试基本理论与技术之外,同时还要求学生交叉测试其他同学的程序案例,最后撰写测试用例设计报告及程序测试报告。

由表2数据对比分析可知,案例交叉教学法在各方面都明显优于传统的按章节教学法,特别是学生在掌握测试思想及测试自动化工具方面近96%以上的学生掌握较好。

4结语

随着近年来软件企业规模化、正规化及国际化步伐的加快,社会越来越需要大量的专业化高级软件测试人才,这给高等院校及高级软件人才培训机构带来了新的挑战。本文提出了一种紧密结合测试案例、测试理论与实践交叉进行的教学新方法。该方法综合考虑学生的学习要求、学习基础及学习目的等诸多因素,以培养学生的测试兴趣为出发点,以学生自己编写的程序为测试案例,将测试理论、测试技术、测试案例及测试工具结合起来进行教学。课程最后介绍了微软公司常用的一些测试方法。

通过测试能力考核及课后调查表明,绝大部分学生认为新方法教学更有利于他们掌握软件测试基本理论,提高测试案例实践编写能力,特别是学会了主流自动化测试工具的应用。教师们也普遍反映软件测试课程的教学质量和教学效果有明显的提高。

参考文献:

[1] 韩玉民,车战斌,郭基凤,等. 两年制软件测试技术人才培养模式的研究与实践[J]. 计算机教育,2007(7):60-62.

[2] 许棣华,朱立华. 分组软件测试教学法探讨[J]. 计算机教育,2008(14):133-135.

[3] 贺平. 软件类专业的工程教育研究与实践[J]. 计算机教育,2010(11):82-89.

A New Case Cross-teaching Approach for Graduate Software Testing Course

CHEN Jin-fu, YANG He-biao

(School of Computer Sci. & Telecom. Engineering, Jiangsu University, Zhenjiang 212013, China)

Abstract: This paper proposes a new teaching approach that closely integrates the test case to teach alternately testing theory and practice after analyzing learning needs and learning ability of the current graduate based on the domestic graduate teaching situation of software testing course.

Key words: graduate teaching; software testing; test case; cross-teaching; test practice