高职院校《软件测试》课程改革

2015-01-06 08:09刘雅君杨景林张爱玲常婉纶
电脑知识与技术 2014年34期
关键词:软件测试高职院校教学改革

刘雅君+杨景林+张爱玲+常婉纶

摘要:基于面向产业化、规模化和标准化的方向转变,软件企业需要大量软件工作者从事基础工作。其中,第一线从事软件测试的应用型人才主要通过高职教育培养。该文针对高职院校《软件测试》课程教学中存在的问题进行一些研究与探讨,提出了教改思路并给出了一些实际的改革方案,以期提高软件测试的教学水平。

关键词:高职院校;软件测试;教学改革

中图分类号:G64 文献标识码:A 文章编号:1009-3044(2014)34-8215-02

软件企业已经逐步从“手工作坊”式的运作模式发展为工程化开发,企业的规模和管理水平不断提高。截至2014年9月底,累计信息产业部认定软件企业达到9968家,登记的软件产品达到20192个。目前,通过CMM2级以上的企业超过了100家。其中,通过3级的有50多家,通过4到5级的有9家[1]。基于面向产业化、规模化和标准化方向的转变,软件企业需要大量软件工作者从事基础工作。软件生产如同传统产业的流水线作业,需要大量软件测试人员按照规范测试整个工程。一名合格的软件测试工程师,不仅仅要有扎实的测试基础,更需要具备进行自动化测试的能力。针对这些第一线从事软件测试的应用型人才的培养,主要通过高职计算机专业教育。

在我国,大部分的高职院校都开设了计算机科学与技术专业,在这些高校的专业培养计划与方案中,基本都设置了《软件测试》课程[2]。通过《软件测试》课程的学习,使学生了解软件测试领域的基本职业活动,掌握软件测试的技能以及相应知识,培养学生较强的逻辑思维能力以及动手能力。对高职学生而言,这样的课程设置无疑明确定向未来的职业角色。然而目前,在软件测试教学开展中仍然面临大量实际问题需要相关教师来关注和解决。笔者结合近年来的教学实际,就高职院校《软件测试》课程的教学中存在的问题进行一些研究与探讨,提出了教改思路,并给出了一些实际的改革方案,以期提高软件测试的教学水平。

1 课程教学中存在的主要问题

对高职《软件测试》课程培养侧重,主要在于尽快让学生接触软件测试的基本职业活动,缩短了学生进入职业角色的适应期。然而,事与愿违,目前大学软件测试教学中存在很多问题:

1.1教材

目前市面上涉及软件测试方面的教材质量良莠不齐,种类繁多。大部分教材知识结构不够合理,偏重理论,测试工具方面实验指导内容普遍偏少,可操作性差。测试实例设计存在不规范性,测试项目多为简易应用程序,距离实际项目差距很大。

1.2重开发轻测试

软件测试课程多为计算机专业必修课,但是学生普遍存在重开发轻测试的偏见。很多学生认为软件测试就是简单的找茬,一项纯粹辅助软件开发的工作,技术要求低,内容简单重复,效率低。

1.3重理论轻实践

软件测试课程需要将理论和实践两个部分紧密结合起来,而且实践性较强。然而,教学过程中知识结构往往不够合理,对实践的重视程度不够,缺乏具体的实践操作指导。高校计算机教师通常侧重基础理论知识,忽视测试自动化和测试管理等相关高级层面知识,很少为学生提供较完整的测试项目实操方面的知识。

另外,课程最后的考核方式往往采用闭卷考试形式,考核内容侧重零散的基础理论知识点,而无法体现综合的测试实操能力。这样无疑导致学生对软件测试课程形成“重理论轻实践”的错误看法。

1.4测试案例单一,重功能测试轻其他种类测试

在实际课程教学过程中,测试系统简易单一,不是图书馆管理系统,就是学生作业难度的电子商务网站。学校往往缺乏时下的测试项目实例。测试项目大多属于公司内部资料,获取不易,不像通用应用程序一样可以随意搜索。

通常的软件系统测试不仅仅需要功能方面的测试,而且还需要很多其他种类的测试工作,比如性能测试、安全测试等,这类测试难度往往高于功能测试。然而,教学过程中的软件测试实验,往往集中在QTP等软件测试工具的简单录制层面,缺少系统的性能等其他种类测试的实操和分析能力,导致学生产生“软件测试等于功能测试”的错误认识。

1.5自动化程度低

一名合格的软件测试工程师,不仅需要掌握基本的软件测试技能,而且必须熟悉主流的自动化软件测试工具。然而在教学过程中,自动化测试工具往往作为锦上添花的教学内容,只教授简单的使用知识。学生对各类测试自动化工具明显掌握不够,测试脚本编写能力不足,测试自动化程度低,进而测试效率也必然很低。这样不具有分析能力和创新意识的学生,必然不具有职业竞争力。

由以上分析可见,我们必须对测试课程加以改进。只有这样,才能使得软件测试课程更加符合满足现实职业需求的发展需求,促进学校计算机相关专业的快速发展。

2 教学改革方案

多年来高职学生的软件测试课程现状不容乐观,各式各样的教学问题需要引起重视。针对我院学生的软件技术水平及现有教学存在的弊端,笔者根据多年教学实践和思考,就教学改革提出以下措施。

2.1 开课阶段选择

就原则而言,C语言、面向对象程序设计等编程课程是软件测试课程的先修课程。高职院校通常选择在第二学年开设该课程,这是因为学生已经经历过了相关程序设计课程,编程能力和专业理解能力已经有了一定的基础。建议根据学生的情况,提前对学生进行软件测试理念的灌输。例如在相关程序设计课程中,要求学生对教材程序示例和习题进行测试,并且对测试用例进行点评。同时即可挑选一些综合素质程度较好的学生提前学习。面向这些低年级学生,学习兴趣较浓厚,重点介绍软件测试入门知识,可以适当降低软件测试理论难度,引导进行自动化测试。

2.2教材选择

就高职学生而言,他们的计算机专业基础相对薄弱,很多同学对软件测试课程存在偏见。在教学过程中,建议选择使相对直观且简单、理论性略弱,操作性较强的教材,以便教学难度适中,提高教学的质量。另外,教材不要单纯是枯燥的理论阐述,最好搭配丰富的图表和多样的例题,激发学生的学习兴趣。endprint

另外,建议不要恪守教材,应该尽量量体裁衣。根据专业培养方向的不同,选择不同的教材内容和授课方式。例如就软件方向学生而言,补充实用性的技术,例如强调一些针对某种具体语言的专业测试工具。

2.3引导学生正确认识软件测试

如前面所述,学生对软件测试职业存在很多偏见,需要教师对具体问题具体分析,给予学生正确引导。例如针对很多学生反映“软件测试不如软件开发”的问题。教师应将软件测试和软件开发职业现状进行对比分析。从事软件开发职位的人员往往需要某种具体编程技术,而且不轻易改变。发展趋势是要求人员技术逐步深而精。于此对照,软件测试职位则要求人员技术广而泛。测试人员往往需要完成产品线上多个子产品的测试工作,测试范围涉及文档、代码、平台环境等多个对象。后期,功能测试工作一般要求自动化,而且需要开展性能、安全等多种测试项目,工作挑战性和难度并不逊色于软件开发。

另外,教师可以授课过程中,适度介绍就业前景,引导学生多关注软件测试行业的发展动态,建议学生访问例如CSDN、51Testing技术论坛,使学生了解与国际前沿同步的知识。总之,让学生摒除偏见,明晰软件测试行业的职业要求和个人发展空间,进而激发学习主动性,提高职业认知程度。

2.4适度选择理论教学内容,合理安排实践教学进程

在软件测试课程授课过程中,我们探索应用型课程结构,使软件测试实现“理实一体化”课程。在教学内容上加以调整,适度选择理论教学内容,以软件测试基本理论为基础;与此同时,合理安排实践教学进程,重视培养学生实操能力。整个教学过程分为理论讲授、上机实验、实训三个部分。全课平时课时64学时,每周4课时,前两个课时授课,后两个课时上机,理论授课与上机实验穿插同步进行,两者相辅相成;学期期末设置为时一周的实训,以期达到理论与实践紧密结合的教学效果。

首先,课堂教学打好理论基础,主要介绍软件测试基本概念、各种测试技术和方法、测试用例的设计、软件测试项目的组织和管理等相关知识。讲授过程中,向学生案例教学,组织学生讨论测试方案;其他类型的测试,与功能测试并重。根据时下软件测试发展趋势,选择主流工具进行讲解,掌握软件的使用,简要介绍其他工具。整个软件测试课程分为10个学习单元,授课安排详见表1。

通过上机实践,重视实际操作能力的培养。首先,安排一些基础实验,仅限简单操作性范围,设计与教学相配套的上机实验内容,包括白盒测试、黑盒测试等。这样帮助学生掌握测试的基本方法,加深对相关基本概念的理解。之后,遵循尽量接近行业使用的原则,适度选择主流的自动化测试工具实验。另外,安排性能测试工具上机实验,引导学生分析测试结果,提高其解决性能问题高含金量技能。相关自动化测试工具和重点知识点的使用详见表2:

2.QTP检查点

3.QTP数据驱动\&2\&性能测试工具\&1.LoadRunner的使用

2.负载数据分析\&3\&C#程序单元测试\&1.VS2010环境下单元测试\&4\&Java程序单元测试\&1.Junit的使用\&5\&C程序单元测试\&1.Cunit的使用\&6\&Selenium的使用\&1.Selenium测试脚本的录制回放

2.Selenium+Junit的使用\&]

实习在学期末集中进行,为时一整周,培训学生对各知识点的综合应用。将学生编为几个小组,按行业实际将他们分配角色,选择一个实际的软件测试项目来开展测试工作。该过程中,强调学生的测试专业技能,让学生掌握各种测试方法的实施,熟悉测试项目的工作流程。另外,现在我国软件测试业务已经扩展到各个行业的软件系统,学生在校期间只能接触通用软件系统。未来能够通过校企合作,扩展测试对象,希望能够引进结合地方经济、具有行业特色的软件系统,让学生实操测试技术。

2.5作业和考核方式

软件测试课程实践性较强,为了更加明确学习目标,激发学生学习热情,建议采用更加灵活的作业,比如在课后设置思考题。课程考试方式可以改革为报告形式,要求学生对某项流行软件产品提供测评报告。

2.6 积极开发校外实习实训基地

为了增加学生的工作经验,我校积极开发与软件测试相关的校外实习实训基地。近些年来,高校计算机专业就业情势不容乐观,计算机相关校企合作工作难度不小。但是出于深化软件测试课程改革、切实提高学生就业率和测试行业相关率,在院系领导的努力下,与酷派、丝路等软件公司建立实习实训基地。学生通过进入工学交替的实习实训岗位,参与到企业项目测试实践过程中,切实提升学生实操能力,逐步成为技能型人才。

3 结束语

软件测试行业的发展,给软件测试课程带来了机遇和挑战。针对软件测试课程的现状进行了分析,提出了教改思路并给出了一些实际的改革方案,力求切实提高学生软件测试实操能力,以期提高软件测试的教学水平。

参考文献:

[1] 20年中国软件大盘点万家企业60万从业人员[EB/OL]. http://www.people.com.cn/GB/it/1066/2952036.html.

[2] 杨鹏. 高职软件测试课程的教学探索与实践[J]. 番禺职业技术学院学报,2005(2).

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

[4] 王利娥,朱新华,李智. 项目驱动下的《软件测试》课程立体教学模式的研究与实践[J]. 中国科教创新导刊,2013(1).

[5] 钱丽. 以就业为导向的软件测试课程体系改革探析[J].安徽新华学院信息工程学院,2012(1).

[6] 曹阳,顾问.基于CDIO理念的软件测试课程教学研究[J].软件导刊,2014(7).endprint

另外,建议不要恪守教材,应该尽量量体裁衣。根据专业培养方向的不同,选择不同的教材内容和授课方式。例如就软件方向学生而言,补充实用性的技术,例如强调一些针对某种具体语言的专业测试工具。

2.3引导学生正确认识软件测试

如前面所述,学生对软件测试职业存在很多偏见,需要教师对具体问题具体分析,给予学生正确引导。例如针对很多学生反映“软件测试不如软件开发”的问题。教师应将软件测试和软件开发职业现状进行对比分析。从事软件开发职位的人员往往需要某种具体编程技术,而且不轻易改变。发展趋势是要求人员技术逐步深而精。于此对照,软件测试职位则要求人员技术广而泛。测试人员往往需要完成产品线上多个子产品的测试工作,测试范围涉及文档、代码、平台环境等多个对象。后期,功能测试工作一般要求自动化,而且需要开展性能、安全等多种测试项目,工作挑战性和难度并不逊色于软件开发。

另外,教师可以授课过程中,适度介绍就业前景,引导学生多关注软件测试行业的发展动态,建议学生访问例如CSDN、51Testing技术论坛,使学生了解与国际前沿同步的知识。总之,让学生摒除偏见,明晰软件测试行业的职业要求和个人发展空间,进而激发学习主动性,提高职业认知程度。

2.4适度选择理论教学内容,合理安排实践教学进程

在软件测试课程授课过程中,我们探索应用型课程结构,使软件测试实现“理实一体化”课程。在教学内容上加以调整,适度选择理论教学内容,以软件测试基本理论为基础;与此同时,合理安排实践教学进程,重视培养学生实操能力。整个教学过程分为理论讲授、上机实验、实训三个部分。全课平时课时64学时,每周4课时,前两个课时授课,后两个课时上机,理论授课与上机实验穿插同步进行,两者相辅相成;学期期末设置为时一周的实训,以期达到理论与实践紧密结合的教学效果。

首先,课堂教学打好理论基础,主要介绍软件测试基本概念、各种测试技术和方法、测试用例的设计、软件测试项目的组织和管理等相关知识。讲授过程中,向学生案例教学,组织学生讨论测试方案;其他类型的测试,与功能测试并重。根据时下软件测试发展趋势,选择主流工具进行讲解,掌握软件的使用,简要介绍其他工具。整个软件测试课程分为10个学习单元,授课安排详见表1。

通过上机实践,重视实际操作能力的培养。首先,安排一些基础实验,仅限简单操作性范围,设计与教学相配套的上机实验内容,包括白盒测试、黑盒测试等。这样帮助学生掌握测试的基本方法,加深对相关基本概念的理解。之后,遵循尽量接近行业使用的原则,适度选择主流的自动化测试工具实验。另外,安排性能测试工具上机实验,引导学生分析测试结果,提高其解决性能问题高含金量技能。相关自动化测试工具和重点知识点的使用详见表2:

2.QTP检查点

3.QTP数据驱动\&2\&性能测试工具\&1.LoadRunner的使用

2.负载数据分析\&3\&C#程序单元测试\&1.VS2010环境下单元测试\&4\&Java程序单元测试\&1.Junit的使用\&5\&C程序单元测试\&1.Cunit的使用\&6\&Selenium的使用\&1.Selenium测试脚本的录制回放

2.Selenium+Junit的使用\&]

实习在学期末集中进行,为时一整周,培训学生对各知识点的综合应用。将学生编为几个小组,按行业实际将他们分配角色,选择一个实际的软件测试项目来开展测试工作。该过程中,强调学生的测试专业技能,让学生掌握各种测试方法的实施,熟悉测试项目的工作流程。另外,现在我国软件测试业务已经扩展到各个行业的软件系统,学生在校期间只能接触通用软件系统。未来能够通过校企合作,扩展测试对象,希望能够引进结合地方经济、具有行业特色的软件系统,让学生实操测试技术。

2.5作业和考核方式

软件测试课程实践性较强,为了更加明确学习目标,激发学生学习热情,建议采用更加灵活的作业,比如在课后设置思考题。课程考试方式可以改革为报告形式,要求学生对某项流行软件产品提供测评报告。

2.6 积极开发校外实习实训基地

为了增加学生的工作经验,我校积极开发与软件测试相关的校外实习实训基地。近些年来,高校计算机专业就业情势不容乐观,计算机相关校企合作工作难度不小。但是出于深化软件测试课程改革、切实提高学生就业率和测试行业相关率,在院系领导的努力下,与酷派、丝路等软件公司建立实习实训基地。学生通过进入工学交替的实习实训岗位,参与到企业项目测试实践过程中,切实提升学生实操能力,逐步成为技能型人才。

3 结束语

软件测试行业的发展,给软件测试课程带来了机遇和挑战。针对软件测试课程的现状进行了分析,提出了教改思路并给出了一些实际的改革方案,力求切实提高学生软件测试实操能力,以期提高软件测试的教学水平。

参考文献:

[1] 20年中国软件大盘点万家企业60万从业人员[EB/OL]. http://www.people.com.cn/GB/it/1066/2952036.html.

[2] 杨鹏. 高职软件测试课程的教学探索与实践[J]. 番禺职业技术学院学报,2005(2).

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

[4] 王利娥,朱新华,李智. 项目驱动下的《软件测试》课程立体教学模式的研究与实践[J]. 中国科教创新导刊,2013(1).

[5] 钱丽. 以就业为导向的软件测试课程体系改革探析[J].安徽新华学院信息工程学院,2012(1).

[6] 曹阳,顾问.基于CDIO理念的软件测试课程教学研究[J].软件导刊,2014(7).endprint

另外,建议不要恪守教材,应该尽量量体裁衣。根据专业培养方向的不同,选择不同的教材内容和授课方式。例如就软件方向学生而言,补充实用性的技术,例如强调一些针对某种具体语言的专业测试工具。

2.3引导学生正确认识软件测试

如前面所述,学生对软件测试职业存在很多偏见,需要教师对具体问题具体分析,给予学生正确引导。例如针对很多学生反映“软件测试不如软件开发”的问题。教师应将软件测试和软件开发职业现状进行对比分析。从事软件开发职位的人员往往需要某种具体编程技术,而且不轻易改变。发展趋势是要求人员技术逐步深而精。于此对照,软件测试职位则要求人员技术广而泛。测试人员往往需要完成产品线上多个子产品的测试工作,测试范围涉及文档、代码、平台环境等多个对象。后期,功能测试工作一般要求自动化,而且需要开展性能、安全等多种测试项目,工作挑战性和难度并不逊色于软件开发。

另外,教师可以授课过程中,适度介绍就业前景,引导学生多关注软件测试行业的发展动态,建议学生访问例如CSDN、51Testing技术论坛,使学生了解与国际前沿同步的知识。总之,让学生摒除偏见,明晰软件测试行业的职业要求和个人发展空间,进而激发学习主动性,提高职业认知程度。

2.4适度选择理论教学内容,合理安排实践教学进程

在软件测试课程授课过程中,我们探索应用型课程结构,使软件测试实现“理实一体化”课程。在教学内容上加以调整,适度选择理论教学内容,以软件测试基本理论为基础;与此同时,合理安排实践教学进程,重视培养学生实操能力。整个教学过程分为理论讲授、上机实验、实训三个部分。全课平时课时64学时,每周4课时,前两个课时授课,后两个课时上机,理论授课与上机实验穿插同步进行,两者相辅相成;学期期末设置为时一周的实训,以期达到理论与实践紧密结合的教学效果。

首先,课堂教学打好理论基础,主要介绍软件测试基本概念、各种测试技术和方法、测试用例的设计、软件测试项目的组织和管理等相关知识。讲授过程中,向学生案例教学,组织学生讨论测试方案;其他类型的测试,与功能测试并重。根据时下软件测试发展趋势,选择主流工具进行讲解,掌握软件的使用,简要介绍其他工具。整个软件测试课程分为10个学习单元,授课安排详见表1。

通过上机实践,重视实际操作能力的培养。首先,安排一些基础实验,仅限简单操作性范围,设计与教学相配套的上机实验内容,包括白盒测试、黑盒测试等。这样帮助学生掌握测试的基本方法,加深对相关基本概念的理解。之后,遵循尽量接近行业使用的原则,适度选择主流的自动化测试工具实验。另外,安排性能测试工具上机实验,引导学生分析测试结果,提高其解决性能问题高含金量技能。相关自动化测试工具和重点知识点的使用详见表2:

2.QTP检查点

3.QTP数据驱动\&2\&性能测试工具\&1.LoadRunner的使用

2.负载数据分析\&3\&C#程序单元测试\&1.VS2010环境下单元测试\&4\&Java程序单元测试\&1.Junit的使用\&5\&C程序单元测试\&1.Cunit的使用\&6\&Selenium的使用\&1.Selenium测试脚本的录制回放

2.Selenium+Junit的使用\&]

实习在学期末集中进行,为时一整周,培训学生对各知识点的综合应用。将学生编为几个小组,按行业实际将他们分配角色,选择一个实际的软件测试项目来开展测试工作。该过程中,强调学生的测试专业技能,让学生掌握各种测试方法的实施,熟悉测试项目的工作流程。另外,现在我国软件测试业务已经扩展到各个行业的软件系统,学生在校期间只能接触通用软件系统。未来能够通过校企合作,扩展测试对象,希望能够引进结合地方经济、具有行业特色的软件系统,让学生实操测试技术。

2.5作业和考核方式

软件测试课程实践性较强,为了更加明确学习目标,激发学生学习热情,建议采用更加灵活的作业,比如在课后设置思考题。课程考试方式可以改革为报告形式,要求学生对某项流行软件产品提供测评报告。

2.6 积极开发校外实习实训基地

为了增加学生的工作经验,我校积极开发与软件测试相关的校外实习实训基地。近些年来,高校计算机专业就业情势不容乐观,计算机相关校企合作工作难度不小。但是出于深化软件测试课程改革、切实提高学生就业率和测试行业相关率,在院系领导的努力下,与酷派、丝路等软件公司建立实习实训基地。学生通过进入工学交替的实习实训岗位,参与到企业项目测试实践过程中,切实提升学生实操能力,逐步成为技能型人才。

3 结束语

软件测试行业的发展,给软件测试课程带来了机遇和挑战。针对软件测试课程的现状进行了分析,提出了教改思路并给出了一些实际的改革方案,力求切实提高学生软件测试实操能力,以期提高软件测试的教学水平。

参考文献:

[1] 20年中国软件大盘点万家企业60万从业人员[EB/OL]. http://www.people.com.cn/GB/it/1066/2952036.html.

[2] 杨鹏. 高职软件测试课程的教学探索与实践[J]. 番禺职业技术学院学报,2005(2).

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

[4] 王利娥,朱新华,李智. 项目驱动下的《软件测试》课程立体教学模式的研究与实践[J]. 中国科教创新导刊,2013(1).

[5] 钱丽. 以就业为导向的软件测试课程体系改革探析[J].安徽新华学院信息工程学院,2012(1).

[6] 曹阳,顾问.基于CDIO理念的软件测试课程教学研究[J].软件导刊,2014(7).endprint

猜你喜欢
软件测试高职院校教学改革
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究