软件测试课程教学改革探索

2014-07-03 04:55刘小君曹咏春
电脑知识与技术 2014年12期
关键词:软件测试实训

刘小君++曹咏春

摘要:结合软件测试的发展,对软件测试课程教学面临的问题进行分析。从课程的设置模式、课程内容的选择、测试工具的选择等方面进行探讨,提出课程改革的方法和途径,提高学生的测试应用能力。

关键词:软件测试;实训;教改探索

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)12-2792-02

Exploration on Teaching Reform of Software Testing

LIU Xiao-jun1, CAO Yong-chun2

(1.College of Information and Communication Engineering, Guangzhou Maritime Institute, Guangzhou 510725, China;2.Shenzhen OAKING Computing System Co., LTD, Shenzhen 518040, China)

Abstract: With the development of software testing, we analysis of the problem in software testing course. From the aspects of curriculum model, curriculum content and testing tool selection are discussed. Put forward the methods and approaches of curriculum reform and improve the testing ability of students.

Key words: software testing; practical training; exploration on teaching reform

1 概述

软件测试是软件开发过程中必要的实践环节,是保证软件质量的重要手段[1]。它对测试人员的专业知识要求全、专业技术要求强、专业能力要求高。人才市场对软件测试人才都有很大的需求量。掌握软件测试技术、构建软件测试环境、编写软件测试用例、开展软件测试工作并有效进行软件测试管理,具有较强的现实意义。

2 现状

软件测试课程是高职院校计算机软件专业的一门必修课,它是一门操作性实践性很强的课程。传统的教学模式很难将知识传授给学生,如果没有实训环节的支持,用灌输式教学方法枯燥地讲解测试理论、测试方法和测试工具,会使学生产生抵触和厌学的情绪。但软件测试实验和实训的组织和实施有较大的难度,既有实验工具和环境的要求,也有应用项目的要求,如果不做合理的选择,容易造成实验实训的随意性。软件测试课程的教学有几种方式:软件公司合作办学、项目教学法、建立校外实训基地等等。相比较而言,基于实训平台的软件测试,在高职院校实施起来更切合实际。

目前在高职院校开设的《软件测试》课程主要有以下几种教学模式:(1)与软件公司合作办学。(2)请软件公司员工兼职授课。(3)采用项目教学法。(4)建立校外实训基地,学生在软件公司参与实际的软件测试过程。以上的方式虽然能够在《软件测试》课程的教学中取得了一些效果,但总体来看还存在着很多问题。国内最典型的合作办学是和IBM公司合作,利用IBM软件学院的一系列理念和工具来进行,但不是每个高职院校都有机会和IBM软件学院合作。软件公司员工作为兼职教师授课,虽然他们实践经验丰富,但普遍缺乏授课经验。项目教学法是目前比较好的教学方法,但选择合适的项目来进行教学比较困难,同时,软件测试课程还需要一些测试理论的指导。建立校外实训基地,难以选择到合适的企业。据了解的情况,在校企合作建立实训基地合作成功的案例并不多。高职院校要么是找不到合适的企业进行合作,要么就是将校企合作流于形式,为了合作而合作。校企合作还存在体制障碍,企业追求的是效益利润。而没有经验的实习生,他们不但不能提高企业的效益利润,反而增加了企业的管理成本。

3 基于实训平台的软件测试教改探索

基于实训平台的软件测试教学改革采用理论教学和实践相结合的办法,在理论学习的基础上,在实训平台上采用项目教学法。这样既实现了软件测试课程的教学目标,同时又合理的利用了学校的现有教学资源,摒弃了校外实训的缺点,同时也节约了软件测试课程的教学成本[2-4]。

在课程内容的安排上,将《软件测试》课程划分为四个模块分别组织教学。《测试理论》课程是理论模块,《功能测试》、《性能测试》和《测试管理》等课程是实践模块。《测试理论》课程系统地讲解软件测试的理论和方法。《功能测试》、《性能测试》和《测试管理》等课程要求学生通过学习和实训。

业界目前流行的平台主要是HP公司和IBM公司的系列功能测试、性能测试和测试管理软,以及部分开源项目。开源项目虽然使用成本低,但软件的操作没有商业软件便利。实验和实训是软件测试教学中的重要环节。在测试理论的教学中,拟安排黑盒测试、白盒测试、单元测试和集成测试4个实验。在功能测试、性能测试和测试管理中,引入一个具体的软件成品项目电子商务管理系统EShop[5],来完成功能测试、性能测试和测试过程的管理,以模拟实际的软件测试过程。

测试理论部分主要讲解软件测试的基础理论,软件测试过程,软件测试方法等。主要内容包括静态测试与动态测试,黑盒测试与白盒测试,人工测试与自动化测试。单元测试,集成测试,确认测试,系统测试,验收测试,面向对象软件测试。在测试用例设计方法中,重点介绍黑盒测试的边界值分析法、等价类测试、因果图法、基于决策表的测试、错误推测法。白盒测试的逻辑覆盖、独立路径测试、循环测试等[6]。endprint

实践教学环节主要覆盖功能测试、性能测试和测试管理。这部分的内容需要结合软件测试工具和实际项目。功能测试拟采用QTP,性能测试采用LoadRunner,管理工具采用Quality Center,项目采用电子商务管理系统EShop。随着开源测试工具在业界的广泛应用,这部分内容也需向学生传授。以下对测试工具分别做简单介绍。

QuickTest Professional(QTP)是HP公司出品的B/S系统的自动化功能测试工具,广泛应用于软件的功能测试和回归测试的自动化。QTP采用关键词驱动,大大简化了测试的创建和维护。QTP提供了很多插件,支持录制和回放的功能。QTP支持的插件有:.NET、Java、SAP、Terminal Emulator等,QTP支持的脚本语言是VBScript。

LoadRunner是HP公司出品的预测系统行为和性能的负载测试工具。它通过模拟大量用户实施并发负载以及实时性能监测的方式来确认和查找应用系统存在的问题。通过使用LoadRunner,软件企业能够最大限度地缩短测试时间、优化性能和加速应用系统的发布周期。同时,LoadRunner支持广范的协议和技术,适用于各种体系架构的自动负载测试,并能预测系统行为及优化系统性能。

Quality Center(QC)是HP公司出品的基于Web的测试管理工具,它提供了一种完整的测试流程解决方案。Quality Center可以应用于测试流程的所有阶段,包括测试需求、测试计划、测试执行和缺陷的跟踪管理。Quality Center可以集成QTP、LoadRunner以及第三方和自定义测试工具、需求和配置管理工具,还可以创建报告和图来监控测试流程。通过使用Quality Center,可以提高测试效率,节省测试时间,更好的对测试流程进行控制。

自动化测试工具几年前一直是商用工具的天下,这几年以Selenium为首的一系列开源工具不断攻城掠地,不但国内的互联网公司、大型行业客户也纷纷拥抱开源自动化测试工具,因此有必要在课程中引入开源测试工具。功能测试工具以Selenium为代表,它是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好的工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。性能测试工具的代表是JMeter,它是Apache组织的开放源代码项目,用于压力测试和性能测量。它最初被设计用于Web应用测试,后来扩展到其他测试领域。JMeter可以用于对静态的和动态的资源例如Servlet、Java对象、数据库、HTTP和FTP服务器等的性能进行测试。它可以模拟服务器、网络或对象的巨大负载,以测试它们在不同压力下的性能表现。同时,JMeter还提供图形化界面,可以比较直观的分析系统的性能指标。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。开源测试管理工具以Testlink为代表,Testlink可用于管理测试用例,从测试需求、测试计划、测试用例管理和用例执行,到最后的结果分析,一套完整的测试流程控制,帮助测试人员有效的控制测试过程。

4 结论

通过把软件测试课程划分为理论模块,功能测试、性能测试和测试管理等实践模块,引入一个电子商务管理系统EShop把理论模块和实践模块有机的结合起来,使学生在学习过程中,既掌握了软件测试所要求的理论知识,又实际体验了完整的测试流程,较好的完成了软件测试课程的课程目标和要求。

参考文献:

[1] 陈汶滨,朱小梅,任冬梅.软件测试技术基础[M].北京:清华大学出版社,2008.

[2] 周元哲.“软件测试”教学改革的探索和实践[J].计算机教育,2008(22):14-15.

[3] 章晓勤.高职院校软件测试专业课程教学改革与实践[J].电脑知识与技术,2011,21(7):5186-5187.

[4] 范洪辉,朱洪锦,朱广萍. “软件测试技术与软件质量”课程教学改革探索[J]. 江苏技术师范学院学报,2013(2):106-109.

[5] 于艳华,吴艳平,孙佳帝,等.软件测试项目实战[M].2版.北京:电子工业出版社,2012.

[6] (美)Paul C. Jorgensen. 软件测试[M].杨海玲,译.3版,北京:人民邮电出版社,2011.endprint

猜你喜欢
软件测试实训
基于OBE的软件测试课程教学改革探索
基于CDIO理念的数控实训教学改革与实践
8S管理模式在数控实训教学中的实践与研究
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
虚拟情景实训环境三维模拟
电工电子实训教学改革与创新
基于Excel的财务管理模拟实训研究
智能电能表软件测试技术概述
虚实结合实训平台的开发与应用探索