高职院校软件测试课程体系结构研究
来源:用户上传
作者:
摘要:有开发的地方,就有软件测试工程师。通过近期对国内各大招聘网站招聘软件测试人才的状况分析,极少企业能顺利招到自己满意的人才。高职院校作为面向企业,服务社会的载体,有责任向软件公司输送合格的测试人才。目前很多高职院校软件测试课程体系结构并不完善,作者结合武汉城市职业学院的探索实践,详细介绍了如何构建完善的软件测试课程体系结构,并提出了一些重要的设计建议。
关键词:软件测试;高职院校;构建;课程体系结构
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)02-0087-02
1 软件测试行业前景分析
测试就是“找不同”,即发现程序错误,然后提交给开发人员进行修改。用途极广,有开发的地方,就有软件测试工程师,软件测试,无处不在。目前国内软件测试行业人才缺口高达50万,按照国外标准,测试与开发人员比例为1:1,而国内仅为1:8,市场缺口极大。软件测试行业入职起薪高,测试社会薪资已超过开发,测试人员平均入职薪资6000+,1-2年后,月薪8000-13000。軟件测试岗位无性别歧视,要求认真、耐心、负责、善沟通,故男女比例相当。软件测试行业是多元化发展的,能接触各行各业,既可走技术路线,又可走管理路线。目前,国内约有120万左右的软件从业人员,但其中软件测试专业人才极度稀缺,仅有区区不足5万人,月薪过万仍难招专业软件测试人才。如果能成为一名优秀的软件测试工程师,未来“钱”景无限。
2 高职院校软件测试课程教学现状
目前只有极少数的高职院校专门开设了软件测试专业,但由于之前测试教学经验不足及实训条件无法满足等一系列客观原因的存在,导致培养出来的学生无法达到企业对测试人才的要求。高职院校软件测试课程教学中存在如下问题:
1) 专业师资队伍严重缺乏,很多任课教师都是从其他方面“转行”而来。虽然其中大部分教师都具有良好的职业操守,但由于缺乏实际的工作经验和真实的软件测试案例,导致课程教学中对软件测试行业存在一些片面甚至错误的理解。
2) 教材质量参差不齐,很多教材在教学内容上随心所欲,缺乏规范性与合理性,导致主讲教师压根摸不到重点与难点,教学质量无从谈起。
3) 实训条件简陋,很多高职院校甚至都没有自己专门的软件测试实训室,课程开展的不深入不彻底。软件测试课程如果仅局限于理论知识学习,而缺乏系统科学的实践课程作为支撑,将来学生毕业后很难做到跟企业无缝对接。
4) 缺乏实际项目测试案例,绝大部分企业的测试项目是不允许对外公开的,很难获取到相关资料,因此学生对真实项目的实战能力几乎为零。
综上所述,只有重新定位软件测试专业人才培养方案,对课程体系结构进行充分研究并不断改革创新,才能培养出满足企业需求的测试人才。
3 高职院校软件测试课程体系构建
区别于普通本科院校,高职院校的定位是培养应用技能型人才为宗旨的。其主要特点是强调学生动手能力的培养,能解决具体实际技术问题,面向企业,服务社会。根据企业招聘测试类人员所需具备的知识,可以将软件测试课程体系结构分为测试环境搭建和软件测试技术两个阶段。
3.1 搭建测试环境
1) Windows 测试环境搭建
本课程全面介绍了搭建Windows 测试环境所需要的网络知识及各种软、硬件。主要内容包括操作系统原理;各种计算机软、硬件和接口技术;计算机网络原理及信息安全等知识。通过本课程的学习,学生可以在实际工作环境中,搭建一个基于 Windows 活动目录的局域网环境。
2) 使用C、C++或JAVA语言进行简单应用程序开发
本课程的开设目的是让学生掌握计算机编程的相关思想和具体方法,初步具备软件开发的能力。通过在学习和实践中的不断积累,总结在软件开发过程中常犯的一些错误,为后面软件测试课程的学习以及测试脚本的编写打下牢固的语言基础。主要内容包括C、C++或JAVA语言的语法基础、数据类型、流程控制(分支结构和循环结构)、数组、函数(方法)、指针、数据结构、算法分析等程序设计所必备知识。本课程的实用性较强,重在培养学生良好的编码习惯,具备一定的程序调试能力以及分析程序错误的能力,能进行简单应用程序的开发。
3) 数据库和Web技术
本课程通过对数据库(MySQL、SQL Server、Oracle等)、 HTML5 、 CSS3、 JavaScript、PHP或JSP 等必备知识的学习,让学生熟练掌握这些技能,为后面搭建分布式软件测试环境奠定良好的基础。
3.2 软件测试技术
1) 测试计划和软件缺陷
本课程全面介绍了软件测试的概念、软件测试的意义及软件测试相关的基础知识。主要内容包括测试计划的编写、软件缺陷的识别、测试工具Bugzilla缺陷跟踪管理系统的使用、缺陷报告的编写等。通过本课程的学习,学生对软件测试建立了一个总体上的认知,掌握了软件测试的分类、软件测试的基本流程和软件测试的相关策略。本课程是软件测试的前导基础课程。
2) 高效设计测试用例
本课程是软件测试的核心课程。主要通过引用大量实际案例来具体讲解如何高效设计测试用例。在编写测试用例之前,首先得考虑好有哪些前置条件,只要这些前置条件都满足了,这样才能达到你的预期。例如在“登陆”模块中,前置条件是输入的用户名和密码必须同时正确才允许登陆。那么,你就得编写条件不满足的时候,是否也会登陆成功。如果此时也登陆成功了,那就说明软件中存在BUG,需要使用技术手段进行修复。通过本课程的学习,学生可以在较短时间内写出符合功能需求的恰当测试用例。
3) 白盒测试技术 本课程主要介绍了白盒测试的概念、白盒测试的目的、白盒测试的方法以及白盒测试工具C++ Test和Logiscope的使用。白盒测试的方法主要分为静态分析方法和动态分析方法两大类,其中又以动态分析方法为主。在白盒测试中有六种常用的覆盖方法,语句覆盖、分支覆盖(判定覆盖)、条件覆盖、分支条件覆盖(判定条件覆盖)、条件组合覆盖、路径覆盖,它们都属于动态分析方法。通过系统学习,可以让学生了解白盒测试的原理及组织形式,能对一个白盒测试的效果做出准确评估。
4) 高效使用自动测试工具
本课程详细介绍了目前在国际上使用率最高的三大自动测试工具:性能测试自动化工具LoadRunner、功能测试自动化工具QuickTest Professional、测试管理自动化工具TestDirector。 如果学生能熟练掌握这些主流自动测试工具的使用方法,那么测试的效率将大大提升。
5) 软件测试实训
本课程是软件测试的最后一门课程。本课程的开设目的是让学生对前面所学知识能够更加巩固和加深。通过灵活运用之前所学课程知识,完成一个综合性项目的测试工作。使用的项目按照最真实、最严谨的软件测试流程进行,包括项目的分组分工、测试计划的编写、工作日志的记录、项目例会的召开、测试用例的设計、测试的具体执行、缺陷报告的编写、软件缺陷的处理等过程。整个项目采用分工与合作的方式进行,这样既锻炼了学生的实践动手能力,又培养了学生团队协作的意识。
4 结束语
随着软件的应用已深入到各行各业,软件设计的复杂程度和质量要求也随之不断提高,相反,软件的开发周期在不断缩短,软件公司正面临着严峻的考验。此问题的关键是如何才能有效地保证软件质量,最佳的解决方案就是软件公司必须强化软件测试技术,注重软件测试过程。目前,越来越多的软件从业人员都在逐步理解和接受这种观念,它的实施也是软件公司未来生存和发展的必经之路。
软件工程中最重要的组成部分就是软件测试,它是保证软件质量的关键步骤,为保证软件质量提供了充分依据,其意义之重大不言而喻。关于软件测试的诸多研究成果中有这么一项结论:软件中存在的问题如果发现的越早,开发软件的成本就越低;如果是在编码后再去修改软件中的缺陷带来的费用将是编码前的十倍,如果是在软件交付后才去修改软件中的缺陷那么所带来的费用又将是交付前的十倍;因此,当软件质量越高,产品发布后的维护费就能越低。研究表明,整个软件项目全部研发费用中仅软件测试一项就占了50%以上。掌握先进的软件测试技术,制定优秀可行的软件测试方案是快速提升软件公司工作质量的前提,软件测试为软件公司提升硬件水平和改进软件组织管理过程提供了根本手段和必要途径。
高职院校软件测试课程体系构建需要不断研究并随之进行相应的改革与创新,是一个漫长且庞大的系统工程。目前我校已经在学生专业分流、建设专业群、建设校内实训基地、深度校企合作等一系列方面取得了实质性进展, 在今后的课堂教学中将更多引入企业里的一些实际生产项目,定期聘请相关企业专家对校内教师和学生进行指导培训,深度透彻地对传统教学模式进行改革,培养软件公司真正需要的合格测试人才。
参考文献:
[1] 蔡建平,叶东升,康妍.软件测试技术与实践[M].北京:清华大学出版社,2018.
[2] 顾翔.软件测试技术实战 设计、工具及管理[M].北京:人民邮电出版社,2018.
[3] 陈能技,黄志国.软件测试技术大全 测试基础 流行工具 项目实战[M].北京:人民邮电出版社,2018.
【通联编辑:光文玲】
转载注明来源:https://www.xzbu.com/8/view-15128194.htm