软件测试课程总结十篇

时间:2023-04-03 12:52:23

软件测试课程总结

软件测试课程总结篇1

关键词 软件测试 实践教学 测试工具

中图分类号:TP311.53 文献标识码:A

1 软件测试课程教学现状及分析

1.1 软件测试课程教学现状介绍

软件测试是软件工程专业本科生的一门重要的必修课程。在本校的课程设置中为56学时,其中理论教学为32学时,上机实践为24学时,由于软件测试的各个环节分别对应于软件工程的相应环节,使得软件测试课程的内容庞杂,而其实践环节也相应地具有内容杂,任务重的特点。

软件测试的教学目标是通过理论及实践教学,让本科生熟悉软件测试的工作流程、常用软件测试方法及常用工具的使用及软件测试过程管理。

教学过程中的主要参考书目为机械工业出版社出版,原著为Paul C.Jorgensen,韩柯等译的《软件测试(原书第2版)》,原书的英文名为《Software Testing A Craftsman''s Approach(Second Edition》。授课基本流程基本也是依据以上教材的流程,首先介绍软件测试的概论,介绍什么是软件测试,软件测试的意义、软件测试的基本流程和基本概念等内容。接着介绍贯穿全书的软件测试需要的示例以及软件测试所需要的基本理论知识,包括测试人员使用的离散数学及图论相关知识。介绍完以上知识以后,按照软件测试流程依次介绍单元测试、集成测试和系统测试的测试用例开发方法和技术。其中在单元测试部分分别介绍单元测试部分的黑盒测试和白盒测试内容,黑盒测试部分包括边界值测试、等价类测试和基于决策表的测试,在白盒测试部分介绍路径测试、数据流测试等结构性测试方法的测试用例开发技术。介绍完以上内容以后,又介绍了面向对象的软件测试方法。

课程的上机实践基本上也是配合上课的流程进行安排,在相应的知识点介绍以后,安排学生按照指定的技术开发测试用例以进行测试活动,附带掌握相应的软件测试的各种管理和自动化工具。

1.2 软件测试课程教学现状分析

通过以上教学流程的描述结合以往毕业生工作以后反馈,可以总结其教学过程的特点为:通过系统的学习,同学们基本上能掌握软件测试用例开发的各种技术要点,对所有的知识点都有所触及,通过学习同学们基本上能够掌握各种实用的软件测试用例的开发方法,也能将各种方法应用于实际软件测试中。

而在实际软件测试实践中,软件测试工作具有以下特点:

首先,依据测试工作越早开展越有利的原则,软件测试一般从开发的初期就开始介入。例如在开发初期,需要编制测试计划进行时间人员和物力上的计划;在需求分析阶段需要进行软件测试的系统测试用例的开发;在设计阶段需要进行集成测试用例的开发,随着设计粒度越来越细,相应的路径及数据流集成测试用例也向下扩展;到达软件编码阶段,主要依据相应白盒技术进行单元测试用例的开发。其次,现代化的测试管理技术需要利用软件全面管理软件测试过程中的环节,包括测试计划的建立及管理、测试用例的管理、测试过程评价管理等。最后,因为人力资源成本的提高及各种技术限制,各种自动化的软件用例的运行软件的使用越来越多等。

通过比较教学过程及实际软件测试的开发过程很容易发现以往教学过程具有以下限制:

首先,没有将软件测试作为软件开发的有机部分进行介绍,而是将软件测试过程从软件开发过程中割裂开来。知识点没有按照实际应用过程展开,容易造成同学们掌握各个知识点,却无法形成知识实际应用能力。其次,缺少相应的测试管理软件的介绍和实践,影响了同学们对软件测试管理的重要性的认识。最后,教学课程缺乏同学们比较感兴趣的各种软件测试自动化工具的介绍。降低了同学们的学习兴趣。

2 软件测试课程教学改革方法探讨

通过上文的现状介绍和分析,针对以上教学方法进行改造,同时本着扬长避短的原则,在中国石油大学(华东)软件工程专业2009级软件测试课程教学过程中进行了教学改革。

教学改革的契机为本校软件工程专业和IBM公司开展教材合作编写项目,软件测试作为软件开发的重要部分获得了空前的发展良机。

具体的有利因素可以概括为:首先,学校向IBM公司购买JAZZ开发平台及相应的专业软件测试管理软件。通过和业界领先的最新的软件测试管理软件接触,了解了最新的软件测试管理理念;其次,通过IBM公司对教工的业务培训,了解了IBM公司的各种软件测试工具的使用情况;最后,通过本文作者共同努力,将平时用于开发的实际应用软件例如体育公共课管理软件等进行整合,用于软件测试用例的案例教学。

有了以上基础前提以后,结合以上有利条件,教改的主要做法如下:首先进行案例化教学,通过自己开发的软件这样生动的实例向同学们介绍软件开发过程中的软件测试的重要性和各种原则,避免了介绍知识的空洞和乏味,提高了同学们的学习兴趣;其次,在案例化教学的指导思想下,重新安排各个教学点的教学顺序,主要脉络为依照软件开发的实际流程,首先介绍系统用例开发技术,然后介绍继承测试用例开发,到最后介绍单元测试用例开发方法。在运行测试用例的过程中,充分结合IBM公司提供的各种软件测试用例运行工具,使得学生能够活学活用。最后,充分利用IBM的软件平台,介绍业界领先的软件管理工具的使用,使得学生学习兴趣得到极大提高。

通过以上的教学改革,理顺了教学和实践的关系,使得教学过程紧密联系实际软件的开发过程,同学们对软件测试课程的理解得到了加深。

3 结论及下一步工作

通过上文对教学现状的总结,以及针对教学现状的利弊进行分析,本文充分利用外部优势大胆进行了软件测试的教学改革,取得了预期的改革目标。同时也注意到改革工作才刚刚开始,还有很多需要完善的地方。接下来的工作主要包括:进一步丰富用于软件测试教学的案例及密切关注业界测试技术的最新发展以用于教学。总之,本文的教改工作达到了预期的目标,使得同学们对于软件测试的理解较之以前更加条理化、系统化和实用化。

参考文献

[1] 匡青.高职院校软件测试课程教学改革探索[J].现代商贸工业,2010.3.

软件测试课程总结篇2

Abstract: In the context of "excellent engineer education training plan", this paper looked for problems in traditional software testing course, explored software testing course construction in software engineering outstanding engineer training system, proposed software testing courses split to improve the course setting with complexity in phases, and took advantage of virtual practice platform and used spiral case teaching to closely integrate software testing and other software development course.

关键词: 卓越工程师教育培养计划;软件测试;课程建设

Key words: excellent engineer education training plan;software testing;course construction

中图分类号:TP39 文献标识码:A 文章编号:1006-4311(2013)09-0279-02

0 引言

为了解决学校培养模式单一的问题,国家提出了工程教育改革,培养卓越工程师。确定了培养具有国际视野的行业领军人才、国际认可的高级工程技术人才和创业、研发型高端人才的培养目标[1]。卓越软件工程师教育是以“卓越工程师教育培养计划”的实施为基础,旨在培养工程型的软件专业人才。南华大学于2011年成功申请“卓越工程师计划”,软件工程卓越工程师培养成为其中之一。

1 软件测试课程建设背景

随着近年来软件测试人才需求量的不断增加,软件测试人才培养成为热点,很多高校都展开了对软件测试课程建设的相关研究,在卓越工程师培养背景下,软件测试的课程建设应该有其自身的针对性。南华大学计算机科学与技术学院专业工程系于2009年开设软件工程试验班,2010年软件工程专业成为一级学科,2011年成功申请“卓越工程师计划”。软件工程专业对卓越软件工程师的培养正进行不断的探索和改革,软件测试的作为软件工程中的一个重要的组成部分,对卓越软件工程师的培养具有重要的作用,因此软件测试课程的建设是整个专业课程体系建设的重要组成部分。

2 传统软件测试课程存在的问题

传统的软件工程专业人才培养过程中,软件测试课程存在着很多问题。

2.1 软件课程开设单一 大部分的高校软件测试课程的开设十分单一,某些高校甚至只将软件测试作为软件工程的一部分提及。而在实际的工程实践中软件测试是贯穿整个软件开发的活动,在不同的开发阶段都有相应的测试理论支持和测试工具应用。

单一的软件测试课程只能简单罗列软件测试不同阶段的技术和方法,缺乏对知识的针对性和连贯性,学生很难理解不同的测试技术和方法在软件开发的各个阶段应该如何应用,导致学生只会死记硬背软件测试的条条框框而不懂如何活学活用。

2.2 理论与实践脱离 软件测试是一门实践性非常强的课程,然而测试工具和测试对象都是看不见、摸不着的软件产品,实践课程的组织和实施有较大的难度[2]。虽然大多数教师充分认识到了实践教学的重要性,在教学过程中也加强了实践的力度,但是由于没有考虑到大多学生没有参与过实际的软件开发的项目,没有接触过软件开发的流程,实践中选择的实验案例十分单一,缺乏领域结合,与真实工程相差较大。

学生在学习过程中很难理解测试在软件开发中需要使用方法及其作用,很多学生因不能感性认识测试的重要性因此对课程缺乏兴趣。

2.3 案例陈旧过时 案例教学是软件测试教学中的常用手段,对学生理解测试方法有着很重要的作用,但是目前高校教学普遍存在着教学案例陈旧过时,大部分教学都沿用了传统的教学案例。这些案例大都没有介绍软件测试的工程方法和实现过程,并且没有进行难度的区分,很难达到好的教学效果。

3 软测试课程建设探索

本专业的教师经过多年的实践,总结了大量的教学经验,按照实际工作中典型的工程师团队所需的各种技能知识为导向,按照复杂度渐增、螺旋递进的原则设置卓越软件工程师课程体系与内容,把传统的以学科知识的系统性为导向的横向课程体系改造为以个人职业角色发现和能力提升为导向的、适应团队教育培养的新型纵向课程体系。软件测试课程是软件工程卓越工程师培养课程体系的重要组成部分,课程总体跟随整体培养课程体系的大方向,并结合自身的特点进行建设。

3.1 复杂度渐增式开设课程 在传统的以面向开发为主的培养模式下,测试课程设置单一,知识针对性连贯性不强。为了解决这些问题,在专业课程开设过程中将软件测试课程课程拆分,穿插到整个培养过程中,紧密联系软件工程其他阶段的课程,并且使用案例贯穿所有阶段,复杂度逐渐递增,让学生在学习过程中循序渐进,逐步建立学习的兴趣和信心。

在第5学期分成两个阶段分别开设《单元测试与软件质量》和《软件验证与确认》。在第一阶段旨在培养学生小规模程序测试的能力不涉及复杂系统,以提高个人开发测试的基本能力为目标,学生可以运用测试课程中学习的方法在开发过程中使用,针对性强。第二阶段旨在培养学生对系统整体测试的能力,此时学生以完成基本开发能力的训练,其他相关课程的培养中也进入了系统级别。在该阶段以上一阶段培养的能力为基础,提高复杂度,跟软件开发其他阶段紧密结合。完成第5学期的测试基础课程开设之后,在第6学期还开设了《web软件测试》、《测试案例分析》、《数据库测试》等专业选修课,给有兴趣的学生提供更多的学习选择。

3.2 基础与实践并重,充分利用虚拟实践平台 课程的开设充分考虑到测试重实践,并且与软件开发其他阶段联系紧密等特点;同时也考虑到了此时学生正处于学习阶段,直接参与实际项目对学生的学习并不能起到很好的作用,因此在课程学习阶段充分利用了校内软件实训基地,创建网上“虚拟企业”,引入企业管理模式,在这种虚拟平台下,针对基础的知识点开设虚拟项目[3],模拟软件测试的真实工程环境。学生在自己组合团队中有各自的工程任务,针对性实用性很强,学生能够在完成自己任务的同时感性的认识测试岗位工作,体会到软件测试在整个软件开发过程中的作用,将单项知识技能之间关联在一起,系统的运用专业知识和技能。

3.3 采用螺旋式的案例教学,案例与其他软件开发阶段贯穿 课程采用螺旋式案例教学方法,教学案例与其他软件开发阶段贯穿,即针对同一个项目分解为基础与高阶的两个不同难度程度的案例,课程讲解的案例从需求分析,设计,实现,一直贯穿到软件测试,体现了软件开发连续的工程过程。同时贯穿的教学案例都是从高年级学生参与的实际开发的项目中提取,教师总结了在开发的过程中学生出现的各种问题,在案例讲解过程中更容易被学生所接受。教学案例一个阶段一个阶段的被不断完善,相比较传统的教学案例更加贴近学生学习实际,有一定的真实性又同时具备知识点针对性。

4 结语

本教学团队在“卓越工程师教育培养计划”背景下,结合专业现状与社会需求,总结以往开设软件工程试验班的经验和教训,一直以来不断研究探索,逐渐形成一套适合的本校卓越软件工程师培养的课程体系。其中软件测试课程的建设既遵循了软件工程师培养课程体系的大方向,又结合了课程自身的特点,而本教学团队在今后的教学过程中还将不断的改进,遵循行业发展的需要。

参考文献:

[1]全国工程教育专业认证专家委员会.全国工程教育专业认证工作手册[S].中国教育部,2009.

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

软件测试课程总结篇3

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

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

目前我国高校开设软件测试课程按学历分主要有三个层次:大专、本科与研究生阶段。大专和本科阶段的软件测试课程在我国已经开设有较长时间了,主要是教授基本的软件测试理论与技术,侧重以基础知识为核心。一些高校已经摸索出一些好的教学经验和方法,发表了一些教学体会[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)

软件测试课程总结篇4

关键词:高职;软件测试;专业建设

中图分类号: TP311.1 文献标识码:A 文章编号:1009-3044(2013)24-5462-02

软件测试是软件开发中的一个重要环节,国内软件开发与测试人员的比例严重失调,市场对软件测试人员的需求量很大。同时,软件测试作为新兴行业,发展前景好、空间大,薪酬待遇好;工作地点以北京、上海、广州等IT产业发达、环境好的一线城市为主。目前市场上急缺的就是初、中级软件测试工程师,这正是高职院校的人才培养目标。

兰州石化职业技术学院于2011年开办软件测试专业,目前第一批毕业生已经走向社会,进行顶岗实习,接受社会的检验。在专业建设的不断实践和探索中,如何做好、做强软件测试专业是我们一直思考的问题。

1 专业建设依托区域经济发展

高职院校每个专业的建设都应充分依托区域经济发展,体现行业特色。甘肃省“十二五”规划明确指出:“十二五”期间,将以兰州、天水、平凉为核心,聚集优势资源,进一步扩大集成电路、新型元器件、软件等电子信息产品和产业规模,建设天水电子科技产业园、兰州软件产业园、西北云计算中心等园区,支持兰州市创建部级软件和信息技术服务业示范基地,争创中国软件名城[1]。面临巨大的市场机遇和挑战,软件测试专业如何进一步把握市场需求,明确专业定位,确定人才培养模式,细化人才培养方案,构建专业课程体系,进一步开发课程资源,落实教学团队和实训基地建设,是我们重点要解决的问题。

2 专业建设内容

1)专业定位更加准确,人才培养目标具体化。进一步加强专业建设与社会需求的紧密接轨,深入企业调研,加强市场分析,按照软件测试工作过程所需的典型工作岗位提炼专业人才培养目标,将学生知识学习、技能提升、能力培养和素养形成融入整个教学过程,实现从学习者到工作者的角色转换,努力培养适应软件测试岗位的职业技能强、综合素质高、具有可持续发展能力的高素质技能型人才。

2)课程体系与岗位及岗位群紧密对接。加强对软件测试企业的岗位调研,紧密跟踪市场对本专业人才结构、规模和质量的需求变化,及时将本专业领域的新知识、新方法、新技术和新思想融入专业人才培养方案,对现有课程体系进行持续改进和优化整合。加大理论实践一体化课程、任务引领型课程在专业学习领域课程中的比重;根据课程特点,整合教学内容,构建“公共学习领域”、“专业学习领域”和“拓展学习领域”三大模块;进一步优化顶岗实习课程的设计,完善相关管理制度和实施办法;加强职业素质课程的针对性与应用性,加强所学知识与生活的联系,提高为专业服务的能力[2]。

3)充分开发课程资源。在建立完备的课程体系基础上,根据具体情况开发校本教材,丰富教材形态(包括课程标准、教材、教案、电子课件、在线学习课件、企事业案例、毕业实习案例、习题集、参考书等),建立具有明显职业教育特色的课程和教材体系。要打破传统的按照技术学科进行教材编写的模式,开发和推广与软件测试行业密切联系的综合性和案例式课程和教材。

4)加强软件测试专业实训基地建设。在充分发挥现有实训基地效能的基础上,深入其他同类院校和软件企业内部考察,了解市场用量最广的软件测试方法和新型的测试工具软件,学习其先进、高效的实训基地管理办法,与企业专家共同讨论符合高职学生特点的典型测试案例,探索校企互惠双赢、长效合作共建校内外实训基地的新思路。

5)优化软件测试专业人才培养方案。邀请企业专家、校内专家、项目组成员和学生代表共同讨论现有人才培养方案中存在的问题和不足,将前期的调研工作结果汇总、分析、提炼、筛选,结合新形式下的人才培养思路和学生特点,进一步优化专业人才培养方案中的各个环节,重新制定课程标准,探讨项目案例,细化教学过程,保证每一门课程开设的有效性和针对性。

3 专业建设思路

1)突出专业建设的开放性。软件测试专业本着“高职教育、源于岗位、工学结合、融入企业”的理念,按照“专业知识+岗位技能+资格证书+职业素质”的培养标准,积极开展“产学结合”的办学模式,注重行业、企业参与专业人才培养方案的研讨和修订。把企业搬进校区,把课堂搬上工作岗位,把教和练更加紧密的结合在一起,变学生被动学习为主动学习,将专业知识理论教学和实践教学有机融合,将专业知识学习,岗位技能学习,资格证书培训,职业素质教育连成一体,形成 “工学交替,双螺旋上升”的人才培养模式[3]。

2)注重课程体系的完整性。通过与行业企业合作,针对毕业生可能面向的不同的潜在的就业岗位,如软件测试员、缺陷分析员、测试组长等,按照“分解岗位工作任务确定工作能力设置课程体系开发教学资源”的专业建设思路,构建“基于软件测试工作过程”的专业课程体系。

3)凸显课程设置的针对性。根据“倒推”理论,据岗设课,按照“岗位决定能力,能力决定课程”的主导思想,首先筛选软件测试行业的岗位和岗位群,以及社会认可度较高的职业资格证书;接下来获取每个职业岗位的能力要求、专业知识结构要求和职业素养要求;然后根据获取的岗位能力要求,设置岗位能力课程;根据专业知识结构要求,设置专业知识课程;根据职业素质要求,设置职业素质课程;根据职业技能取证要求,对应取证课程;最后,根据高技能测试人才的成长规律组合课程,并考虑各课程之间的衔接关系及专业教学资源的配置与均衡,我们对同一阶段的课程进行排序,形成软件测试专业课程体系的“倒推”链,即确定岗位及岗位群获取岗位能力据岗设课组合和序化课程形成专业课程体系[4]。

4 思考与总结

兰州石化职业技术学院地处西部欠发达地区,通过不断与沿海发达地区的软件企业深度合作,不断交流专业技术,聘请IT培训机构名师亲临指导,目前学院的软件测试专业已经成功探索出了一条适合自己发展的专业建设之路。但在IT市场新技术不断更新、飞速发展的严峻形势下,我们还需进一步解放思想,开拓创新,迎接新的挑战。

参考文献:

[1] 甘肃新闻网[EB/OL].http://.

[2] 任泰明,宋贤钧.“专业+公司”的高职软件技术专业教学改革[J]. 计算机教育,2011(12):45-46.

软件测试课程总结篇5

在比赛中出现任何技术故障,不仅会给运动员带来无尽的懊恼和愤怒,还会影响赛事的精彩程度。因此,信息系统是关系到比赛质量的一个关键因素,对于奥运会这样的世界顶级赛事来说,信息系统的重要性更加不可估量,这就为奥运会筹备人员带来了无法估量的压力,白晓颖作为北京奥运会组织委员会的一员,从2002年进入奥组会到2008年8月24日奥运会闭幕,切切实实地感受了6年多的时间。直到奥运会圆满结束,她才放下了一直悬着的心,真正松了一口气。

白晓颖,清华大学副教授、计算机系软件研究所副所长,主要研究领域为软件工程,研究方向包括软件测试、分布式系统、服务计算等。童年时父亲从国外为她带回的一个小小的游戏机,为她打开了通向计算机的一扇门。长大以后,她真正走入了这扇门中的那个计算机的世界,并且不断攀登前行,走到了如今的辽阔天地。1995年毕业于西北大学计算机系之后,她考入了北京航空航天大学计算机系攻读硕士。三年后硕士毕业,远赴美国继续攻读博士学位,先后就读于美国明尼苏达大学和亚利桑那州立大学。2001年底,她学成回国,进入清华大学任教。

2001年7月,我国申办2008年奥运会成功,举国欢腾。2001年12月,北京奥运会组织委员会正式成立,虽然当时距2008年奥运会还有6年多的时间,但是大量的准备工作都要开始着手进行。从2002年1月份开始,奥组委开始着手成立各个领域的相关部门。技术部是最早筹建的部门之一,负责奥运会信息系统、通信系统及场馆技术系统的相关工作,年轻的白晓颖参与了清华大学计算机系与奥组委技术部的科技攻关合作,成为技术部的一员,白晓颖笑称自己是北京奥运会最早的“技术志愿者”之一。

信息系统已经成为现代奥运会成功的基础和保障。奥运会信息系统结构复杂、涉及面广,项目实施规模大、周期长、风险高、难度大,也是奥运科技系统中技术含量高、应用范围广的主要部分之一。奥运会信息系统体系结构分析是充分了解系统特点,有效控制系统质量、进度、预算的前提和保证。奥运会信息系统包括运动会管理系统、计时记分系统、现场成绩处理系统及成绩系统四个主要部分。各子系统及相关模块分别由位于不同国家的不同机构承担,包括国际奥委会指定的顶级合作伙伴、顶级合作伙伴的分包商、以及主办城市组委会所签署的赞助商、提供商、开发商等,是典型的大型国际化外包项目,项目组织管理复杂。时限严格、大型遗产系统的继承及再工程,以及包括技术、管理、操作各层面在内的系统体系结构复杂,是该项目所面临的主要挑战。奥运会的所有赛事都是“一次性艺术”,甚至是“一瞬间艺术”,任何人为失误或技术漏洞,都会成为白玉瑕疵,无可补救。一次性的艺术异常精彩,但有时也会带点残酷。白晓颖和她的同事开始了马拉松式的奥运会信息系统筹备工作。

面对奥运会信息系统质量控制的挑战,白晓颖和周立柱老师在2003~2005年承担了国家科技部科技攻关项目《奥运会信息系统集成测试总体方案及集成测试管理平台的预研》。本项目的主要目的是:为2008年北京奥运会信息系统集成测试的实施做好前期的预研、规划和准备工作,降低风险;加强对测试的管理,为2008年北京奥运会信息系统地集成测试系统、有计划、有组织、高效地进行奠定坚实的基础,并最终达到提高奥运会信息系统可靠性的目的;加强测试队伍的建设,为2008年北京奥运会信息系统集成测试的实施培养骨干力量。带动软件测试行业的发展,促进北京乃至全国的测试技术的发展,逐步探讨软件集成测试规范,为我国自己高水平的软件集成测试标准的建立探讨依据。

本项目的研究主要分为三部分:历届奥运会信息系统的开发和测试的调研,北京奥运会信息系统集成测试的总体方案的研究,以及测试管理平台的预研。根据课题任务书的计划,课题组完成了要求的研究工作:收集、整理、总结和分析了悉尼、盐湖城和雅典三届奥运会信息系统的相关技术资料,形成了两份调研报告《技术体系架构》和《集成测试分析》;立足于北京2008年奥运会的实际情况,参照往届奥运会的最佳实践,在软件测试及软件工程理论的指导下,形成了北京奥运会信息系统集成测试的总体规划报告;研究开发了基于Web的、可应用于分布式开发环境的测试管理系统。

在收集和分析相关资料的基础上,白晓颖还亲自前往2004年奥运会举办城市雅典进行实战考察,收集了大量第一手资料,对项目研究起到了重要作用。理论研究加上实地“取经”,课题组交出了最后的答卷,完成了技术体系架构分析集成测试分析两份调研报告,从应用系统的功能、运行环境、接口、数据流等角度系统全面地分析了信息系统的软件体系架构;从项目管理、测试环境、以及测试用例等几个方面,总结分析了往届奥运会中系统集成测试的实施方式、经验和教训。并在此基础上完成了19万字的总体规划报告,结合北京奥运会的技术战略,从人员组织、测试过程、进度计划、质量保证、策略选择及风险分析、实验室建设、测试工具选择、标准与规范、经费预算等九个方面,全面讨论了北京奥运会集成测试的总体规划方案,为奥运会信息系统的筹备工作,奠定了坚定的基础。

报告提交以后,得到了相关专家的认可,认为调研报告详细、准确、全面地反映了奥运会信息系统在测试目标、内容、组织和管理方式等方面的要求,并评价课题组制定的集成测试总体方案系统、全面、切合实际、可操作性强。课题组的工作成果被直接应用于奥组委技术战略,为北京奥运会信息系统的成功运行提供了有利保障,成为伦敦总结会中北京奥运会技术传承的一个重要经验,得到国际奥委会会的高度评价。

经过不断学习和历练,白晓颖在迅速成长,如今她已经成为清华大学计算机软件研究所副所长。作为项目负责人,她先后承担了10余项包括科技攻关项目、国际合作项目、863计划及973计划项目在内的科研项目,在国内外期刊和软件工程重要会议上70余篇,获得了一系列研究成果。在服务化软件研究方面,是国际上最早开展服务软件测试技术研究的学者之一。从面向过程、到面向对象、到面向服务,软件形态与其开发方法发生了重大的变革,服务化已经成为互联网软件的主要形态。服务化软件具有代码不可见、服务动态组合、在线演化的特点,使得传统的以人工为主或是以程序分析为基础的测试技术难以适用。针对这种新型的软件范型的质量问题,课题组从协同测试、自动化测试、在线测试三个方面,研究有效的测试方法和测试技术。另一个重要的研究方向是以机载软件为背景,研究嵌入式软件中模型驱动测试自动化技术。机载嵌入式软件的规模和复杂度成指数级增长,机载软件质量控制实际上已成为世界航空业的一个挑战性问题。课题组针对机载国产操作系统标准符合性测试的需要,实现了基于模型的测试自动化工具。

2001年8月,世界军人锦标赛在圣彼得堡举行,俄罗斯选手斯卢德诺夫以27秒25的成绩打破了50米蛙泳的世界记录。但遗憾的是,由于赛场内的电子计时器出现故障,没有记录到斯卢德诺夫的成绩。短暂休息后,斯卢德诺夫又以27秒25的成绩再次打破世界记录。谁料,他的这次成绩仍旧不能作数,原因是裁判忘了重新启动电子计时器……“就因为这样,我所有的努力,以及数月来的训练和准备工作全都白费了,真是让人恼怒!”这位游泳健将绝望透顶地说。

在比赛中出现任何技术故障,不仅会给运动员带来无尽的懊恼和愤怒,还会影响赛事的精彩程度。因此,信息系统是关系到比赛质量的一个关键因素,对于奥运会这样的世界顶级赛事来说,信息系统的重要性更加不可估量,这就为奥运会筹备人员带来了无法估量的压力,白晓颖作为北京奥运会组织委员会的一员,从2002年进入奥组会到2008年8月24日奥运会闭幕,切切实实地感受了6年多的时间。直到奥运会圆满结束,她才放下了一直悬着的心,真正松了一口气。

白晓颖,清华大学副教授、计算机系软件研究所副所长,主要研究领域为软件工程,研究方向包括软件测试、分布式系统、服务计算等。童年时父亲从国外为她带回的一个小小的游戏机,为她打开了通向计算机的一扇门。长大以后,她真正走入了这扇门中的那个计算机的世界,并且不断攀登前行,走到了如今的辽阔天地。1995年毕业于西北大学计算机系之后,她考入了北京航空航天大学计算机系攻读硕士。三年后硕士毕业,远赴美国继续攻读博士学位,先后就读于美国明尼苏达大学和亚利桑那州立大学。2001年底,她学成回国,进入清华大学任教。

2001年7月,我国申办2008年奥运会成功,举国欢腾。2001年12月,北京奥运会组织委员会正式成立,虽然当时距2008年奥运会还有6年多的时间,但是大量的准备工作都要开始着手进行。从2002年1月份开始,奥组委开始着手成立各个领域的相关部门。技术部是最早筹建的部门之一,负责奥运会信息系统、通信系统及场馆技术系统的相关工作,年轻的白晓颖参与了清华大学计算机系与奥组委技术部的科技攻关合作,成为技术部的一员,白晓颖笑称自己是北京奥运会最早的“技术志愿者”之一。

信息系统已经成为现代奥运会成功的基础和保障。奥运会信息系统结构复杂、涉及面广,项目实施规模大、周期长、风险高、难度大,也是奥运科技系统中技术含量高、应用范围广的主要部分之一。奥运会信息系统体系结构分析是充分了解系统特点,有效控制系统质量、进度、预算的前提和保证。奥运会信息系统包括运动会管理系统、计时记分系统、现场成绩处理系统及成绩系统四个主要部分。各子系统及相关模块分别由位于不同国家的不同机构承担,包括国际奥委会指定的顶级合作伙伴、顶级合作伙伴的分包商、以及主办城市组委会所签署的赞助商、提供商、开发商等,是典型的大型国际化外包项目,项目组织管理复杂。时限严格、大型遗产系统的继承及再工程,以及包括技术、管理、操作各层面在内的系统体系结构复杂,是该项目所面临的主要挑战。奥运会的所有赛事都是“一次性艺术”,甚至是“一瞬间艺术”,任何人为失误或技术漏洞,都会成为白玉瑕疵,无可补救。一次性的艺术异常精彩,但有时也会带点残酷。白晓颖和她的同事开始了马拉松式的奥运会信息系统筹备工作。

面对奥运会信息系统质量控制的挑战,白晓颖和周立柱老师在2003~2005年承担了国家科技部科技攻关项目《奥运会信息系统集成测试总体方案及集成测试管理平台的预研》。本项目的主要目的是:为2008年北京奥运会信息系统集成测试的实施做好前期的预研、规划和准备工作,降低风险;加强对测试的管理,为2008年北京奥运会信息系统地集成测试系统、有计划、有组织、高效地进行奠定坚实的基础,并最终达到提高奥运会信息系统可靠性的目的;加强测试队伍的建设,为2008年北京奥运会信息系统集成测试的实施培养骨干力量。带动软件测试行业的发展,促进北京乃至全国的测试技术的发展,逐步探讨软件集成测试规范,为我国自己高水平的软件集成测试标准的建立探讨依据。

本项目的研究主要分为三部分:历届奥运会信息系统的开发和测试的调研,北京奥运会信息系统集成测试的总体方案的研究,以及测试管理平台的预研。根据课题任务书的计划,课题组完成了要求的研究工作:收集、整理、总结和分析了悉尼、盐湖城和雅典三届奥运会信息系统的相关技术资料,形成了两份调研报告《技术体系架构》和《集成测试分析》;立足于北京2008年奥运会的实际情况,参照往届奥运会的最佳实践,在软件测试及软件工程理论的指导下,形成了北京奥运会信息系统集成测试的总体规划报告;研究开发了基于Web的、可应用于分布式开发环境的测试管理系统。

在收集和分析相关资料的基础上,白晓颖还亲自前往2004年奥运会举办城市雅典进行实战考察,收集了大量第一手资料,对项目研究起到了重要作用。理论研究加上实地“取经”,课题组交出了最后的答卷,完成了技术体系架构分析集成测试分析两份调研报告,从应用系统的功能、运行环境、接口、数据流等角度系统全面地分析了信息系统的软件体系架构;从项目管理、测试环境、以及测试用例等几个方面,总结分析了往届奥运会中系统集成测试的实施方式、经验和教训。并在此基础上完成了19万字的总体规划报告,结合北京奥运会的技术战略,从人员组织、测试过程、进度计划、质量保证、策略选择及风险分析、实验室建设、测试工具选择、标准与规范、经费预算等九个方面,全面讨论了北京奥运会集成测试的总体规划方案,为奥运会信息系统的筹备工作,奠定了坚定的基础。

报告提交以后,得到了相关专家的认可,认为调研报告详细、准确、全面地反映了奥运会信息系统在测试目标、内容、组织和管理方式等方面的要求,并评价课题组制定的集成测试总体方案系统、全面、切合实际、可操作性强。课题组的工作成果被直接应用于奥组委技术战略,为北京奥运会信息系统的成功运行提供了有利保障,成为伦敦总结会中北京奥运会技术传承的一个重要经验,得到国际奥委会会的高度评价。

软件测试课程总结篇6

关键词:软件测试;讨论式教学法;策略

中图分类号:G642.0 文献标识码:A 文章编号:1002-4107(2013)12-0031-02

教学方法是教师和学生为完成教学任务所采用的教授方法和学习方法的总体[1]。适当的教学方法可以达到事半功倍的效果。讨论式教学法是一种为实现一定教学目标,通过预先的设计与组织,启发学生就特定问题发表自己见解以激发学生学习兴趣、培养学生独立思考能力和创新精神的教学方法[2]。在实际的一节课中,以讨论式教学法为主体,将讲授法、任务驱动法和讨论式教学法等各种方法结合起来[3],将教师、学生、知识、环境等因素有机融合,努力使课堂成为一个充满活力和变化的由教师的精心导、各种道具与学生的自主演的共同体。

软件测试是软件在投入运行之前,对软件需求分析、设计规格说明和编码的最终复审,是保障和提高软件质量的关键步骤和重要手段[4]。该课程涉及的基础知识较广,对学生的学习基础要求高,理论知识也相对枯燥。下面以软件测试中的“等价类黑盒测试法”一课为例,在现有的教学资源环境下,以讨论式教学法为主体,将讲授法、案例法等教学方法综合运用到课堂中,努力提高软件测试课堂教学效果。

一、讨论式教学法在软件测试课堂中运用实例

授课内容:等价类黑盒测试法。

教学目的:掌握等价类方法中类的划分,会写测试用例。

教学重点:理解等价类测试法划分类的规则,根据等价类表写测试用例。

教学难点:使用等价类划分法对类的划分。

教学方法:讲授、讨论式及案例教学法相结合,用实例及讨论突破重点难点。

授课过程:

(一)复习提问

1.软件测试的方法分为哪二类?

2.在软件测试中,最重要的一项工作是什么?

3.什么是测试用例,测试用例的原则是什么?

此处提出三个问题,一个问题是新授课涉及的、以往学过的基础内容;另两个问题则是上节的核心内容,同时引出本节课学习的目标。复习的内容不能仅仅是上节学过的知识,更要对新授课内容起到铺垫作用。

(二)新课的问题导入:写出测试下面程序功能的测试用例

input “请输入一个整数:“to x

if x>=0

y=x

else

y=-x

endif

?’|x|=’,y

问题导入的目的是要说明“做事需要讲究方法”。我们可以写出测试用例,但哪些是必需的、哪些是冗余的用例呢?一个看起来似乎很容易解决的问题,学生的答案各不相同,哪个是正确的答案?为什么是正确的?这大大地激发了学生的学习兴趣。以此给出本节课的学习内容和学习目标。

(三)新课

1.等价类划分法的含义。

2.讲解基本概念:有效等价类、无效等价类,正面测试用例、负面测试用例。

3.例题:返回到新课导入的例子中,对程序的输入进行等价类的划分。

4.进一步引出:等价类测试法的关键是类的划分原则。

分析导入时的问题,用讲授法讲解新授的理论知识,并进一步通过例题加深理解。在这一过程中,让学生体会到测试用例设计的不唯一性,特别是无效等价类,更依赖于人的经验和思维习惯。由此,进一步思考等价类法中类的划分原则。

(四)学生分组讨论:对等区间划分的原则

1.如果某个输入条件规定了取值范围或值的个数,则可确定一个有效等价类(输入值或数在此范围内)和两个无效等价类。

2.如果规定了输入数据的一组值,而且程序对不同的输入值作不同的处理,则每个允许输入值是一个合理等价类。此外,对这组值以外的所有值确立一个无效等价类。

3.如果已划分的等价类中各元素在程序中的处理

方式不同,则应将此等价类进一步划分为更小的等价类。

4.如果规定了输入数据必须遵循的规则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。

在这一环节中,学生针对课件中的应用案例,讨论各种情况下对等区间划分的原则,并进一步总结归纳成规则。每组选出代表表述出各自总结的规则,并写在黑板上,再综合对比各组成果,归纳成相应的规则,最后,由教师总结及补充,归纳成完整的板书。经过充分的讨论,学生不仅讨论了教材中提及的情况,还进一步扩展讨论了软件测试时可能遇到的其他情况,使学生的主动性和创造性都得到了发展。

(五)实例练习

设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月―2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。

在深刻理解等价类的划分原则之后,要将理论运用到解决问题的实践中去。此时,在热烈的讨论氛围中,学生希望能运用上面所学的知识,各组独立完成测试用例设计,再由教师评判打分,击败对方。

(六)总结测试用例设计的步骤

1.划分等价类后,在列出的等价表中,为每一个等价类编号。

2.设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的有效等价类。重复这一步,直到所有有效等价类被测试用例覆盖。

3.设计一个测试用例,使其只覆盖一个无效等价

类。

事实上,各组基本完成了任务,不过在软件测试用例设计的步骤和细节处理上,仍有不足。此时,教师在点评的过程中讲解软件测试用例的设计步骤及规则,让学生豁然开朗,达到事半功倍的效果。在教师的引导下,学生总结出设计测试用例的步骤。

(七)总结与作业

1.本节内容

(1)理解基本概念:等价类划分法。

(2)理解两对名词:有效类和无效类;正面测试用例和负面测试用例。

(3)等价类的划分原则:对等价类划分的依据。

(4)确定测试用例设计的步骤。

2.作业

(1)用等价类法写出测试城市电话号码是否输入正确的测试用例。

(2)预习常与等价类法配合使用的边界值分析法。

最后,利用大约五分钟的时间总结本节课的主要内容。黑板上重点内容一目了然,这是在讲解过程中的板书。两项作业,一项是对本节内容的实战练习,另一项是对下次授课内容的预习。

二、运用讨论式教学法应注意的问题

在高校的软件测试教学中,传统的讲授式教学方法仍然是让学生掌握基本的理论知识的最佳选择,其地位无可取代。在本节课的学习中,学生在教师讲授相关基础知识后,才能有后面讨论的基础。在使用讨论式教学法的过程中,教师通过精心准备的问题逐步引导学生自主进行辩论和思考,帮助学生梳理出解答问题的不同路径,进而使学生得出结论。我们将学生分组,通过项目驱动教学,引导学生主动思考,系统探究知识原理、使用规则及注意事项等。在此过程中,每个学生都自主思考,通过激烈的、全神贯注的讨论,提出问题和回答对方提问,在争辩和讨论中加深理解。再通过教师的点评和讲解进一步理解掌握等价类法中类的划分方法,并学会设计测试用例。讨论的方式使教学重点渐渐清晰明了,各组讨论成果的展示和对比激发了学生的学习热情,也能更好地理解教学重点和难点――划分类的原则,最后通过实例归纳总结的测试用例的设计步骤,使学生能够真正设计出符合测试要求的软件测试用例,达到本节的教学目的。“总结和作业”环节是对本节内容的总结和巩固,让学生在课后进一步消化理解,为后面的学习打下坚实基础。

需要注意的是,在课堂教学中,无论是讲授法的导入,还是讨论式教学的问题讨论,都要注意引导学生主动思考的问题难度一定要适宜,既不能过于简单,要符合学习规律的认识梯度,让学生感觉到挑战;也不能太难,让大部分学生即使绞尽脑汁也无计可施。为调动班级整体的学习积极性,课堂中的问题难度应根据实际授课内容按易、中、难设置,让基础差的学生有会答的题目,不失去听课的兴趣,让基础好的学生也能感觉到充满挑战。

教学无止境,它不仅仅是知识的更新,更是对教学效果孜孜不倦的追求。在授课过程中,教师只是引导者、组织者和合作者,要突出学生的主体作用。从学生角度综合选择教学方法、设计教学过程、安排教学活动,激发学生学习欲望,调动学生的积极性,引导学生主动思考,使学生的主观能动性、观察力和创造力得到充分的发展。

参考文献:

[1]蒋宗珍.大学课堂教学中讨论式教学的组织[J].重庆教

育学院学报,2011,(1).

[2]梁中贤.高校讨论式教学之哲思[J].中国高等教育,

2011,(15/16).

[3]王明莉.大学课堂讨论式教学法运用的策略研究[J].黑

龙江高教研究,2011,(11).

软件测试课程总结篇7

近年来,中国软件产业总体保持平稳较快发展,企业数量稳步增加,产业规模持续扩大,2012年中国软件产业共实现软件业务收入2.5万亿元,同比增长32.7%。“十二五”时期,我国软件业发展前景广阔。按照工信部的《软件和信息技术服务业“十二五”发展规划》,“十二五”期间,我国软件业将着重发展基础软件、工业软件及行业解决方案等重点领域,并实施包括龙头企业培育在内的十大重点工程。从2013到2015年,中国软件行业收入将年均增长25%以上。预计到2015年,我国软件业业务收入将达到4万亿元,占信息产业的比重将达到25%,软件出口额达到600亿美元。

随着东莞经济的高速发展和“双转型”的需要,对高素质应用型人才的需求变得尤为迫切。东莞市政府出台的《关于加快发展东莞市现代信息服务业的实施意见》支持发展信息服务业。东莞市现代信息服务业主要包括信息传输服务业、计算机服务业以及软件业三大类,将东莞打造为继深圳、广州后的又一个现代信息服务业基地。东莞的信息产业规划届时将以新显示、新能源、新一代宽带无线移动通信和软件产业“四新一软”发展战略为重点,力挺软件产业,同时大力开展人才培育工程,以产学研相结合的方式,支持各高校开展人才定制培训、综合培训、认证培训、专业课程培训等各项培训,大力培养适合企业发展需要的实用技术型和创新型人才。东莞市政府在《东莞市促进软件产业发展的若干规定》中明确指出:要大力培养符合软件产业要求和掌握规范性开发能力的大批软件技术开发人员。

二、软件工程专业发展概况

随着网络的普及和应用,信息技术不断深入社会生活的方方面面,软件的应用越来越广,软件产业不断扩大,社会需要大量的软件技术人才,系统、规范地培养软件工程人才已受到国内外高等学校、科研院所和企业界的普遍重视。由ACM和IEEE/CS联合工作组组织制定的软件工程知识体SWEBOK、计算教程软件工程卷CCSE2004于2004年5月正式。软件工程专业将根据广东和东莞人才市场需求,以软件领域人才需求调查结果为基本依据,以提高学生的综合职业能力为宗旨,培养具有从事应用软件系统分析、设计、开发、应用、管理与维护的能力,立足东莞、服务广东、面向全国的高素质应用型技术人才。

三、专业能力构成

1.软件工程专业能力。根据2006年教育部计算机课程教学指导委员会的《软件工程本科专业规范》能力结构要求,掌握软件工程的知识与技能,具备软件工程师从事工程实践所需的专业能力。主要分为:①获取知识能力:终身学习能力、信息获取能力、适应学科发展的能力等。②应用知识能力:需求分析和建模的能力、软件设计和实现的能力、软件评审与测试的能力、软件过程改进与项目管理的能力、设计人机交互界面的能力、使用软件开发工具的能力等。③创新能力:在基础研发、工程设计和实践等方面具有一定的创新意识和能力。

2.软件行业岗位能力。根据人才培养目标和用人单位对软件工程专业人才的能力需求以及软件开发生命周期各环节技术要求,我们将软件工程专业能力归纳为系统分析、软件设计、软件开发、数据库开发与管理、软件测试、软件技术支持与系统维护等六个方面。①系统分析与管理能力。精通计算机行业的前沿理论,精通代表主流开发思想的程序开发语言,精通建设信息系统所要求的各种具体技术,熟悉应用领域的业务,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制定项目开发计划,协调信息系统开发与运行所涉及的各类人员,能指导制定企业的战略数据规划,组织开发信息系统,能评估和选用适宜的开发方法和工具,能按照标准规范写系统分析、设计文档,能对开发过程进行质量控制与进度控制,能具体指导项目开发。②软件设计能力。针对客户的需要和软件开发项目管理及软件工程的要求,根据设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档;具有理解需求分析与整体设计能力;模块级详细设计能力及数据库设计能力。③软件开发能力。根据软件产品的需求、理解和分析系统概要设计,进行模块级详细设计,按照规范编写代码,进行单元测试,修改缺陷,提交代码,编写整理技术文档。要求具有较强的逻辑思维能力,理解面向对象思想;掌握主流开发工具,精通一至两种程序语言,按照规范编写代码;具有数据库开发能力;掌握单元测试、集成测试的方法与技术;编写、整理技术文档的能力。

④数据库开发与管理能力。根据需求进行数据库分析和设计,创建符合规范的数据库,满足系统运行的需要;完成数据库日常维护、备份及恢复,能对数据库性能进行优化。掌握数据库基本原理;熟练掌握一种以上大型数据库系统的应用;具有数据库设计与开发能力;具有数据库备份、恢复及日常维护的能力;具有对数据库性能优化的能力。⑤软件测试能力。根据需求分析和设计规范,对软件进行测试和检验,发现软件的错误或缺陷,对软件产品质量进行客观评价。掌握单元测试和集成测试、功能测试和性能测试的基本方法和步骤;熟悉软件开发过程,掌握软件测试流程和技术;具有编制测试大纲、计划、方案及设计测试用例的能力;熟悉使用常用测试工具;具有测试执行、缺陷跟踪的能力;具有测试管理能力;能够编写测试技术文档的能力。

四、课程体

系设计 在课程体系设置时,围绕软件工程专业六种能力的培养,我们如图1所示的课程体系,该课程体系由基础必修课、专业必修课、专业组选课(分方向开设)、专业任选课和专项实践课所组成。为了适应社会需求,我们根据软件工程专业所需要的知识结构和能力结构,经过我们对多家企业的招聘信息、学生就业跟踪、以及与多家企业进行了实地接触和深入访谈,比较全面地掌握了企业用人需求,目前Java和。NET技术为主流技术市场,因此我们在软件工程专业设置了“。NET技术方向”和“JAVA技术方向”,采用“双线分向”教学改革,学生可根据自身能力和职业规划,自主选择其中一个方向作为主修方向,另一个方向以专业选修的方式拓展,学生所学技能更加适应市场的需求。

软件测试课程总结篇8

关键字:职业教育;分级制;能力评测;软件技术

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)14-0172-02

分级制教育改革是北京市教委为贯彻《国家中长期教育改革和发展规划纲要(2010-2020年)》精神,满足人民群众接受职业教育的需求和经济社会发展对高素质劳动者及技能型人才的需要,2011年在北京10所高等院校和6所中等职业学校开展职业教育分级制度改革试验项目。北京北大方正软件技术学院与丰台职业教育中心、求实职业学校共同承担试验改革任务,研究软件技术专业的人才培养方案、专业教学标准、课程体系设计、招生衔接方案、职业能力评测等内容。职业教育分级制包括1至5级,每一级包含2~4个该专业的职业岗位,针对每一个岗位设定一个人才培养方案。本文重点介绍职业教育4级中“软件技术专业”软件开发工程师岗位的职业能力评测相关内容。

针对分级制人才培养质量监测与评价,以学习者为中心的学习过程评价为侧重,主要从内审外审制度、考官制度以及统一测评三个角度着手。职业教育分级制生源多样,学员基础知识与技能差异大,传统的终结性考试成绩无法证明个体的学习进步。职业教育,既体现学习过程、又体现工作过程,若以过程性、阶段性与终结性评价,结合学习过程中的实际情况综合运用,就能达到比较科学的人才培养质量监测与评价效果。初期设计以学习过程为主线,从三个方面来开展分级制人才培养质量监测与评价。一,入学测试:是学员持录取通知书入学报到以后,被安排的选择岗位并分班的测试。二,学习过程评价:以过程性评价、阶段性与终结性评价综合运用到教学中监测评价。三,职业教育等级认证(软件技术专业)以考官负责制评价4级,主要表现为终结性考核。职业教育分级制采用学分制、弹性学制,在不同机构间,学分可互认、互换,因为不同来源的学员知识结构参差不齐,必须做好学分管理、学习评价、质量监测和证书管理的系统性支撑平台,才能保证实现面向人人、服务终身的职业教育分级制改革试验的初衷。以下将从三个方面分别阐述。

一、入学测试

新生入学报到后,必须做入学测试,主要目的是测试学生的认知基础和职业倾向,依据测试结果给出岗位选择(技能模块)建议,根据个人意向和岗位测试相结合的原则,指导学生入学报到后选择岗位发展方向,以此作为组织学生将来参加课程教学、社团活动、科研竞赛和实习就业等事务的依据。入学测试采用网络答题和面试问卷的形式,要求主持入学测试的考官工作时做到科学、公正和友善。对考生必须要说明,入学测试是帮助选择学习和职业方向的,引导学生不要产生畏难情绪或者心理负担。入学测试通过在线测试和面试的方式对学生的基础知识、行为习惯、沟通表达、学习态度、职业性格、逻辑思维、特长爱好等方法进行考察。要考虑到一些学生在后续学习中,可能不适应所选的岗位模块课程,所以要设计一套比较合理的办法来处理中途调整技能方向的情况。这可以反推到入学后的网络标准化测试和问卷面试,设计更好的入学测试题库和测试方式来合理避免。

二、学习过程评价

在学习过程评价中,考虑到具体的教学和实习实训环节,设计针对主体课程、标志性教学任务、顶岗实习的三个过程性因素评价。主体课程评价,以“程序设计基础”为例,通过电子考勤统计、演示答辩、随堂测验、随堂抽查、课外作业等多种形式对学生的考勤、作业、表达、基础知识、技能、发展能力等方面进行评价。教员或指导教练阶段性填写对学员的课程综合评价和建设性的意见建议,指导和帮助学员改进自己的学习方法、学习途径和思维方式等信息。标志性教学任务评价,通过电子考勤统计、客户评审、行业专家评审、行业专家评审、专业测评机构、用户体验反馈、随堂考察、过程性考察、阶段性考察、组员相互评价等多种形式对学生的工作纪律、展示性、功能性、使用价值导向、工作过程导向和企业流程导向、社会接受度、创造性、学习能力与效果、团队协作能力等方面进行考核。教员或指导教练阶段性填写对学员的标志性教学任务的综合评价和建设性的意见建议,指导和帮助学员改进自己的学习方法、学习途径和思维方式等信息。测评依据标志性教学任务使用,将相关的信息汇总,任务期间每次的实际测评得分,即是任务及其相关课程的过程性评价得分,按比例换算为课程的相应数量的学分;若是任务相关的课程有标准化网络测试,则其成绩与课程相关的任务评价得分合计为课程结业成绩,并换算为相应的课程学分。顶岗实习评价,以电子考勤统计、实习单位反馈、指导老师评价、实习单位反馈、实结答辩等形式对学生在程序员岗位的实习期间所体现的出勤、成果、表达、技能、发展能力等方面进行考核。该测评在实习结束前使用,实习单位和校内的实习老师合作,将相关的信息汇总,生成顶岗实习的实际测评分与过程性评价,并可换算为相应课程或毕业设计的学分。

三、职业教育等级认证(软件技术专业)

软件测试课程总结篇9

关键词:复合型;软件测试;人才培养

中图分类号:TP3-4 文献标识码:A 文章编号:1007-9599 (2012) 20-0000-02

1 软件测试人才培养背景

1.1 软件测试人才需求分析。全球信息化极大推动了中国软件产业的发展,但目前与欧美发达国家还有很大差距,特别是软件测试领域。国内软件测试的现状是令人担忧的,在软件业中处于弱势地位[1]。由于一直以来,国内许多软件企业存在着“重开发、轻测试”的倾向,造成软件产品质量问题日渐突出,同时也突显了中国软件测试人才的极度匮乏[2]。从国内招聘网站搜索软件测试相关的职位来看,软件产业需要大量懂得测试理论和方法的专业软件测试工程师。

1.2 软件测试专业岗位分析。软件测试行业主要岗位为软件开发测试、网络开发测试、测试管理等6个就业方向以及初、中级软件测试工程师、Web测试员、文档测试员等23个岗位。综合来说,软件测试专业相关的岗位主要有软件开发工程师、软件测试工程师以及软件工程相关的岗位。1.3 国内软件测试人才培养现状。国内高校软件测试教学总体属于起步阶段,开设软件测试专业的院校不多,一些院校仅开设了软件测试的课程。当前,一些软件企业与行业的培训机构在积极开展测试人才的培训工作,但培训内容较单一且完全实用化,对软件开发能力要求不高。这种培训属于非专门化、专业性的培养和教育[3]。因此软件测试人才培养模式的研究具有非常重要的现实意义。

2 复合型软件测试人才培养模式

关于软件测试人才培养模式的探索,丰明聪提出了高职软件测试专业校企合作培养模式,张丽景等提出了基于倒推模式的人才培养方案。这些人才培养模式普遍对软件开发能力要求不高,这可能导致软件测试人才欠缺良好的软件开发能力,较难站在软件工程的高层次角度对软件测试等软件工程活动进行有效的管理和实施。本文提出了一种全新的复合型人才培养模式,所谓“复合型”是指能力更全面的高级软件测试人才,兼具扎实的软件开发能力、软件测试能力以及相关的软件工程能力。这样就能够站在高层次的角度对软件测试等软件工程活动实施有效的组织和管理。有了扎实的软件开发能力,可以从源头上避免软件缺陷的产生,以达到“预防为主”的目的,从而对软件产品的质量进行更好的控制。

2.1 培养目标。复合型软件测试人才面向社会对各类软件测试与质量保证等软件工程人才需求,培养高层次实用型、复合型软件工程技术和软件工程管理人才。本学位获得者具有扎实的程序设计基础、深厚的软件工程理论基础及较强的工程实践能力、研发能力和市场与国际意识,能够对软件产品的架构设计、测试和实施执行规范有效的组织和管理,及进行可靠的方案实施。2.2 课程体系建设。人才培养中重要的部分为课程体系的建设。W模型以及极限编程中的TDD(测试驱动开发)更能够体现软件测试和软件开发相辅相成的关系,复合型的软件测试人才必须具备扎实的软件开发能力,因此课程设置上必须依托一条软件开发的主线,保证每一个学期中都有开发课程。同时,软件测试的主线也将依托软件开发的主线顺势开展,由于软件测试需要软件开发为基础,因此软件测试课程比软件开发滞后两个学期。

目前主流的软件开发平台为Java和.NET,复合型人才培养方案以Java平台的开发技术为主线,如图1所示,从第一学期依次学习的开发课程为:程序设计导论Java、高级程序设计Java、JSP程序设计等,J2ME课程可以替换为Android或者IOS开发。在学习软件开发的课程的同时,另外还有两条主线贯穿于整个教学过程中,一个是数学英语、计算机网络、数据结构等课程,这些课程除了是考研相关的课程之外,也涵盖了很多基本的软件知识。另一个主线是软件工程相关的课程,例如数据库、UML等。最终达到的开发要求为:软件测试专业的学生也可以胜任软件开发的工作。

在学习软件开发课程的同时,学生从本科第二学年第二学期开始可以学习软件测试相关的课程,第二学年可以学习软件测试基础,第三学年可以学习软件质量保证、自动化软件测试、性能测试和软件工程等课程。这样,就业的选择有软件测试工程师、SQA、系统分析师等。2.3 软件测试平台的建立。软件测试平台包括软件测试实验室、实训基地等方面,可以为学生建立统一的学习、实习平台。针对软件测试实验室,可以和Parasoft、IBM等公司建立联合实验室,或者安装开源的软件测试和软件工程相关工具。其中除了开发工具外,安装的测试工具包括JTest、.Test、C++Test、JUnit、NUnit、LoadRunner、QTP、Bugzilla等。对于实训基地的建设问题,可以采用校外实训和校内实训两种方式。校外实训可以和实训机构进行合作;校内实训可以校方提供场地和机器,而实训公司提供工程师,以达到良好效果。2.4 人才模式的实施。郑州大学软件学院从2007开设软件测试专业以来,应用复合型软件测试人才培养模式培养了两届软件测试专业人才,创建了软件测试和软件工程实验室,建立了校内外的实训基地。软件测试专业学生的就业方向主要有软件测试、软件开发、继续深造、技术支持等,就业状况良好,用人单位对学生的软件测试、软件开发和软件工程的综合运用能力给予了肯定。2.5 人才培养模式探索。在复合型软件测试人才培养的基础上,人才培养模式还可以进行进一步的创新,例如:(1)加强校企合作,将企业或者实训公司的资源尽早的引入到教学的过程中,部分课程可以直接由企业或者实训公司的工程师来进行教授。(2)采用订单式的人才培养模式,开设部分的试点班供实训公司或者企业进行重点培养,使学习的方向更具有针对性。(3)软件测试平台的进一步创新,及时引入更先进的测试工具、方法、测试案例,加强CMMI、ISO质量管理知识的应用,建立更全面的软件工程思想。

3 结束语

虽然软件测试人才的市场需求呈逐年上升趋势,但是目前计算机学院或软件学院对软件测试人才的培养模式仍需完善。复合型软件测试人才具有扎实的软件开发知识以及更全面的软件工程相关知识,这对于掌握更高级、更全面的软件测试技术具有良好的推动作用。

参考文献:

[1]黄爱明.国内软件测试现状及对策研究[J].中国管理信息化.2007,(2):42-46.

[2]兰景英.应用型软件测试人才培养模式探索与实践[J].潍坊教育学院学报.2011,(4):71-73.

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

[作者简介]

软件测试课程总结篇10

摘要:本文从“软件质量保证和测试”课程建设的重要性出发,从师资队伍的建设、教学内容的选择、教学方式的改革、实验大纲的设计、立体化教材建设和考核体系设计等方面详细介绍了浙江大学软件学院对于软件质量保证与测试课程的课程建设情况。

关键词:软件测试;软件质量;课程建设

中图分类号:G642

文献标识码:B

1 引言

随着信息技术的飞速发展,软件产品应用于社会的各个领域,软件质量的保证是一个人们普遍关注的问题。软件开发者想要高质量的软件产品,用户更希望能有稳定、方便、有效、经济的高质量软件产品。提高软件质量的重要途径主要有过程控制和软件测试。高校对软件质量保证和软件测试人员的培养担负着主要责任。对于软件学院来说,一个很重要的挑战是如何解决计算机专业特别是软件工程专业理论与实践严重脱节的问题。

本文分别就师资队伍建设、教学内容的选择、教学方式改革、实验大纲的设计、立体化教材建设、考核体系的设计等方面来阐述软件质量保证与测试课程的建设。我们的目标是培养应用型、复合型、国际化的高级软件人才。

2 师资队伍的建设

浙江大学软件学院对于师资队伍建设的思路是产学研一体化的教学框架体系。“软件质量保证与测试”课程是一门理论与实践并重的课程,既需要丰富的实践项目经验又需要深入的理论知识。按照以上思路,我们的师资队伍包括三个组成部分:外籍教师、本校教师、企业技术主管。其中,企业技术主管主要是来自道富公司的质量保证、测试经理。这门课的分工大致是外籍教师负责理论教学;企业技术主管负责学生的课程实践和项目培训;本校教师负责整个课程建设、联系以及对学生的指导,特别是指导英语学习有一定难度的学生。

另外,学院对于教师的再学习与培训也提供很大的支持,如支持教师参加国家软件测试中心的相关技术培训、国内外关于软件质量保证与测试课程学术交流等。

3 教学内容及其改革

“软件质量保证与测试”是为软件学院及相关专业的本科生开设的专业基础课。该课程按软件质量保证和测试的原理、软件测试技术和实践三部分组织内容,包括软件工程概述,软件测试和质量保证的基本概念、思想和方法,各种测试的方法和技巧,软件测试用例的设计;如何组织和管理软件测试项目、如何进行软件质量分析,最终建立全面的质量保证体系。通过本课程的学习,学生应基本上了解并掌握有效的测试策略、方法和技术,测试计划和测试用例的设计,测试自动化的应用,测试团队的建立和测试项目的管理,更清楚、准确地报告测试缺陷,对软件产品质量的正确评估以及软件测试和质量保证的关系和区别。

我们现行的教学大纲由理论学习和课程实践两部分构成。浙江大学将每年分成4个学期,每学期8周上课时间,而这门课的时间为一学期,总学时为48,按照2比1的学时来配置理论与实践部分,即课堂时间为32学时和上机时间为16学时。

目前教学内容安排如下:

4 教学方式改革

教学方式的改革主要遵循以下两条原则进行:

(1) 以案例教学为主线,通过丰富的实际案例引导学生对具体的质量保证概念、测试方法等有深刻的认识,同时也注重研讨式、启发式教学,鼓励学生尝试自己寻找资料解决问题。

(2) 加强综合性实验项目的训练,全面锻炼学生的团队组建能力、团队沟通合作能力、测试计划编写能力、测试用例设计能力、测试能力、组织文档能力。

5实验大纲的设计

本课程非常重视实践教学。我们学院特别聘请道富公司质量保证、测试经理来培训学生的实践动手能力。另外,除了布置适量的白盒和黑盒测试外,还专门布置设计了2~3套完备的全英文综合性实验设计、需求分析文档、各种支持文档、评分方法和政策。对于实验大纲的设计,我们还强调以下几个方面:

(1) 系统、综合性。以实际项目为背景,贯穿多个知识点,锻炼学生综合运用所学知识解决实际问题的能力。通过实践参与,学生可掌握质量保证的概念和过程,测试计划的制定,测试用例的设计、测试用例的执行、测试报告的书写、测试Bug的分析和描述。

(2) 团队合作。实验采用分组的形式完成,每组由5~7名成员组成,其中一人为组长。组长负责项目进展、分工协作、测试计划的制定等工作,其他组员分别就相关模块进行各自的测试策略、测试用例设计以及完成测试报告等。然后通过角色交换,充分发挥学生的沟通能力。

(3) 鼓励创新。鼓励学生发挥想象力,对各种测试方法进行尝试,在最后报告中要求写出具体的思路和分析结果。

6立体化教材建设

完善多媒体教材和教学资源(包括电子书籍、技术文档、实验平台、在线交流等),进一步加强网络资源建设,特别是教学素材库的建设。现有课程主页上的内容主要有:课程信息,包括教师队伍、课程描述、课程政策、详细的教学大纲、教学日历等;每节课的详细PPT课件;各类作业、解答以及往年的作业、试卷资料等;课程实践项目(project)的各种信息、支持文档,实验平台的链接等;网络资料库,包括电子教材、文档的收集以及与课程紧密相关的各种资料、网站等;在线留言版,与学生互动的模块,学生可完全匿名发表任何意见、建议和提问答疑,今后可进一步就该课程中学生容易疑惑的地方建立FAQ。

现在我们采用外教选编的电子课件、讲义作为主要教材并推荐相关英语教材。课程实践项目我们采用道富公司的实际项目对学生进行培训。我们下一步的目标是:

(1) 编写一本中文实验指导教材。

(2) 编写一本双语教学教材。

7考核体系的设计

软件质量保证与预测课程的考核将一改传统的由一次期末考试成绩决定学生的情况,这是因为该课程是一门理论与实践紧密结合的课程。对于考核体系的设计我们的具体思路如下:

(1) 改革课程考核,采取多因素评定学生课程成绩,而不是仅凭一次考试评定学生能力,从而调动学生学习热情,促进学生研究性学习能力的发展。学生的最终成绩由课程实践项目(40%)和期末考试(60%)组成。

(2) 强调评分的客观、公平和透明性。开学初就给定课程考核的政策和每个课程项目的详细评分标准。

(3) 学生参与评分。课程实践项目、尤其是分组项目,教师难以全面掌握每个学生的表现,但可以给整个团队评分,具体每个成员的分数则由学生参与自评。

参考文献

[1] 古乐,史九林. 软件测试技术概论[M]. 北京:清华大学出版社,2006.

[2] 古乐,史九林. 软件测试案例与实践教程[M]. 北京:清华大学出版社,2007.

[3] 杨根兴,蔡立志,陈昊鹏,蒋建伟. 软件质量保证:测试与评价[M]. 北京:清华大学出版社,2007.