首页 热点 业界 科技快讯 数码 电子消费 通信 前沿动态 企业前沿 电商

今日热闻!软件测试岗位课程建设问题分析

2023-02-13 11:24:39 来源 : 文秘帮

摘要:软件测试岗位在职位类型上分为功能测试、自动化测试、性能测试等多种类型;在技术要求上,每种类型的职位包含不同的测试工具和编程语言。在此背景下开展测试课程建设,首先要确定测试课程的内容结构,然后针对不同的内容分别建设。文章基于对企业软件测试岗位要求的分析,针对测试课程的不同内容设立重点,围绕重点进行课程建设。最后,笔者将建设方案运用于实践,取得了良好的教学效果;并在实践的基础上提出了改进的建议,从而为测试课程建设提供一种新的思路。

关键词:软件测试;课程资源;雨课堂;岗位分析

伴随着软件测试相关技术不断发展,市场上对软件测试人才的专业要求越来越高。由于高职院校培养的是面向市场的技术实用型人才,与市场的要求联系非常紧密,因此学校的课程建设要紧紧围绕市场需求、充分考虑人才市场定位来进行。以往有关课程建设的研究,或是基于教学模式,例如:刘毅等人的《“线上+线下”混合教学模式下计算机类课程资源建设探讨》、王秀珍等人的《混合教学模式下的计算机专业课程资源建设》、何理等人的《基于持续改进要求的线上线下混合式教学资源建设和应用方法研究》着重论述针对具体的教学目标,要充分利用互联网搭建“线上+线下”教学资源库,设计教学方案,组织教学活动来进行教学;或是基于宏观背景下进行课程建设的研究,例如:王玉芬等人的《“互联网+”背景下大学公共计算机课程资源开发与应用研究》、高静的《智慧教育“金课”背景下计算机网络基础课程资源建设研究》提出基于宏观背景下的资源建设方式,搭建计算机网络教学平台,教师通过录制视频、制作课件等方式将教学资源放在教学平台上,这样学生可以随时随地获取知识。以上研究的重点都是从教学模式的宏观角度重点论述课程建设,而对于面向市场岗位来建设课程内容的研究方案目前未见。文章中课程的建设重点不再是简单地对理论知识进行讲解,不是对课程涉及的教学方法、重点进行分析,也不是重点挖掘课程的思政内容,而是立足于分析企业软件测试岗位的职责内容,在明确人才培养目标和规格的基础上,对课程内容进行规划和建设,从而建立起面向企业软件测试岗位的内容体系。


【资料图】

1面向软件测试岗位的技术模型和能力模型

文章根据软件测试岗位对人才的要求,分别从技术方面和非技术方面建模,技术上建模称为技术模型,非技术上建模称为能力模型。技术模型从四个方面进行论述:自动化测试技术、性能测试技术、编程语言、功能测试等;能力模型通过分析岗位的软实力要求进行构建。

1.1样本数据的选取

笔者首先收集51job网站上公司的岗位要求,然后分析和整理出技术和能力模型的取值。文章中统计的软件测试岗位并不包含市面上所有的测试岗位类型,而是依据从精不从多的原则选取主流的功能测试、自动化测试、性能测试等岗位进行统计。文章通过分析岗位的技术要求,统计相关测试技术的市场占比;通过分析和整理来源于100多家软件公司的岗位软实力要求,梳理出企业最看重的前五项能力。文章通过Excel数据分析软件,进行统计和分析,并以图表的形式进行展示。

1.2统计的规则

首先在招聘网站中输入技术模型取值进行查询,统计公司数量,同时筛选公司行业领域为计算机软件,工作职能为测试,工作地点为全国,不限薪资、不限学历、不限工作年限、不限公司性质、不限公司规模。统计规则为:能力模型按照次数进行统计,软性能力的要求出现一次统计一次;技术模型则统计同一岗位类型下不同技术工具/编程语言的占比。如统计自动化测试类型的Selenium的占比:第一步,统计要求Selenium公司的数量;第二步,统计自动化测试岗位类型中要求具备其它技术的公司数量;第三步,计算Selenium技术在自动化测试技术中的占比。统计工具使用Excel工具进行统计。

1.2.1测试类型占比统计

软件测试岗位包含不同的岗位类型,不同的测试岗位有相应的测试类型,每一测试类型下有许多相关的测试技术/工具;如自动化测试岗位,对应的测试类型是自动化测试,它包含Selenium、Appium等测试技术;性能测试岗位,对应的测试类型是性能测试,它包含LoadRunner、Jmeter等测试技术。每一种测试类型和其他测试类型在技术上并没有交叉点,所以每一类测试都是测试领域中独立的分支。由于课程内容包含功能测试、自动化测试、性能测试等多种测试理论,因此对测试课程进行建设时,首先要考虑的是测试课程内容结构的主次,内容主次不同,课程的效果也不同。从表1统计的数据可以看到,功能测试占比最大,其次是自动化测试,性能测试在市场占比排第三。从数据之间的差别来看,三种测试的市场占比都很大,从侧面反映出软件测试岗位对这三种测试类型的需求都很大。其中功能测试在不同的测试场景有不同的表述,例如系统测试、集成/联调测试、单元/模块测试等表述,在统计时对于它们的占比进行了统计,具体见表1。

1.3技术结构———自动化测试工具统计

自动化测试指的是把人为驱动的测试行为转化为机器执行的一种过程。一般来说,测试人员设计了测试用例以后,执行时是由手工进行测试;为了节省人力、时间,提高效率,便引入了自动化测试的概念。自动化测试工具繁多,依据测试工具使用的不同场景将其分为Web应用自动化测试工具和移动应用自动化测试工具。Web应用自动化测试工具指的是自动化测试工具应用在Web应用上面。从表2中显示的数据可以看出,在Web应用领域中占比最高的是Selenium,其次是Cypress;在移动应用领域中,占比最高的是Appium,其次是UIAutomator,这意味着在资源建设时,要着重考虑市面上的头部工具。

1.4技术结构———性能测试工具统计

性能测试是通过性能工具模拟多种正常、峰值、异常条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化化情况。压力测试则是通过不断加压来确定系统的瓶颈或者不能接受的性能点。性能测试工具种类繁多,由于负载测试和压力测试都属于性能测试类型,因此文章把负载测试和压力测试都归属为性能测试进行统计。表3是对性能测试工具的市场占比进行统计,从显示的数据来看,在众多性能测试工具中,LoadRunner和JMeter所占的市场份额最大。

1.5技术结构———编程语言统计

软件测试不但对技术工具有要求,对于编程语言也有要求。本研究通过对岗位职责和要求进行分析后,选取主要的编程语言进行统计,归纳如表4所示。从表4的数据可以看出,python语言占比最大,Java语言次之,说明python和Java两种语言比较受市场的青睐。

1.6能力需求模型

通过输入“测试工程师”“软件测试”等关键字查询软件测试岗位,在分析了51job上一百多家企业的岗位要求后,梳理出企业最看重的5项职业能力:沟通能力、良好的态度、学习能力、团队精神、积极性。

2课程内容建设面临的问题

2.1如何规划三种测试类型的课程内容的主次结构

以下是规划课程内容主次的方案:课程内容中的主次由相应测试类型的总计分值来决定,总计分值越高,表明相关测试类型的课程内容越主要;分值越低,表明相关课程内容越次要,总计的计算方式如下公式所示:总计=市场占比分值∗0.6+入门难易度∗0.4其中:市场占比的权重为0.6入门难易度的权重为0.4

市场占比分值说明:市场占比的分值计算=市场统计占比∗5。其中:5表示该项的总分,满分5分。市场统计占比是依据表1~表4统计的数据。

难易度说明:表示掌握相关内容的难度,难度越高值越低,反之越高。满分为5分,简单的填5分;每项的打分根据难易程度打分。

逻辑说明:测试类型越简单、市场占比越大,那么总计分值越高;反之越低。最后按总计分值的高低来安排课程内容结构的主次。从表5中显示的数据来看,功能测试>性能测试>自动化测试,因此,课程内容的主次结构为:功能测试>性能测试>自动化测试,见图1。

2.2如何确定每一种测试类型内容的建设重点

具体实施步骤如下:首先,根据技术市场占比,运用企业头部原则,选取头部排名前二的测试技能/工具;运用可行性原则,将筛选出来的头部工具从各个维度对它们进行比对,综合考虑,确定最后的建设重点(编程语言或测试工具)。

2.2.1企业头部原则

选择市场占比排名前二的技术进行考察,如表6所示。

2.2.2可行性原则

在选取排名前二的技术以后,将它们从各个维度进行比对,包括从性能测试、Web应用自动化测试、移动应用自动化测试,同时结合教学资源的成熟性综合考虑,总结如下:a.性能测试工具比对:从系统兼容性、支持数据库、易用性、安全性、安装部署、测试指标完备性,以及是否免费进行比对,见表7。b.移动应用自动化工具比对:移动应用测试工具从所支持的平台、支持的语言、是否支持无源码测试等方面进行比对,见表8。c.Web应用自动化工具比对:Web应用自动化测试工具从支持的浏览器、语言、运行环境搭建步骤等方面进行比对,见表9。在各个维度的对比之后,分别确定自动化测试(包括移动自动化和Web应用自动化)、性能测试等课程内容的建设重点,具体实施步骤如下:性能测试:根据企业头部原则,LoadRunner和Jmeter这两项性能测试工具胜出;根据可行性原则,JMeter的功能在覆盖程度上和重量级工具LoadRunner相差不远,而实施上却比LoadRunner要更方便,因此,在建设性能课程内容时,会重点围绕JMeter工具来进行课程内容的建设。自动化测试(Web):根据企业头部原则,Selenium和Cypress胜出;根据可行性原则,Selenium更胜一筹,所以Web自动化测试课程会重点围绕Selenium技术来进行内容的建设。自动化测试(移动):根据企业头部原则,Appium和UIAutomator胜出;根据可行性原则,Appium的支持平台更广泛,因此移动应用自动化会重点围绕Appium进行内容建设。

3课程资源结构

课程资源结构按照不同的标准分类,可以有不同的结构,表10是对测试课程资源结构的一个总结。

3.1按操作分类

按知识是否是通过动手操作来掌握,把相关的资源分为理论课资源和实训课资源。理论课资源以理论讲解为主,主要通过在课堂上以PPT或者口述的方式对概念进行讲解,学生则以理解为主。例如:讲解测试用例相关概念时,需要学生了解测试用例概念、熟练掌握等价类划分法、边界值法等方法的运用、熟悉测试用例的编写;这些内容的特点是不需要专门的测试工具,以讲解方法理论为主,考察的是人的思维能力,岗位类型/测试类型以功能测试为代表。实训课资源则以工具操作为主,以理论讲解为辅。例如:教授使用性能测试工具进行压力测试时,除了讲解性能需求分析、性能测试计划的理论外,JMeter等性能测试工具的使用是重点,学生通过边学边做来掌握技能。

3.2按内容分类

按照内容来分,分为功能测试资源、自动化测试资源、性能测试资源。其中功能测试属于理论知识;而自动化测试、性能测试属于实训知识;其中自动化测试分为Web端和移动端。3.3按难易分类按照学习难易程度进行分类,分为较易学习的和较难学习的。较易学习的有功能测试的测试理论,性能测试的Jmeter、SoapUI等测试工具;较难学习的有复杂工具类,例如:LoadRunner、Selelenium等。

4课程的建设方案

课程的建设首先要考虑课程资源的分类,杨盛鑫[9]提出资源可以从形式上和来源方式上进行区分。软件测试课程以企业测试岗位要求为参考标准,以雨课堂为资源建设的承载工具,依据资源本身的特点对课程进行建设。

4.1面向理论型课程的建设方案

理论型的测试课程,如功能测试理论,具体包含:功能需求分析、功能用例设计、功能用例执行等理论知识,这些知识的特征可以直接通过讲解或者演示PPT的方式进行。理论类型的测试内容有完备的理论体系,同时相关教材资源、测试项目、测试文件经过多年的积累和市场检验,也已经较为成熟,相关的资源内容可以直接运用在课堂上,所以针对理论课的建设,通过在雨课堂上以图文类型的PPT方式进行,辅以习题、讨论等课堂内容进行建设。

4.2面向实操型课程的建设方案

实操型课程的特点是知识必须经过手动实操才能掌握,例如:性能测试Jmeter工具的学习,静态的教材只能展示知识要点,对于其中的操作过程并不能完全叙述,所以面向实操型课程资源的建设方案要通过PPT+视频资源来建设。PPT用来展示实操课中的知识要点,视频展示操作过程,学生在学习过程中将理论结合实际操作,从而掌握相关的工具。

4.3平台的建设

平台建设的目标是将课程资源进行数字化,能够为学生提供更加多元的信息。针对平台的建设方案,王茹]等人提出平台要包括学习管理、项目管理等内容。由于测试课程的资源既包括线下资源,如教材,还包括线上资源,如测试工具、演练的项目,因此,资源的建设无论是PPT图文资源还是视频资源、习题资源都可以选择线上的平台来建设。以笔者所在的学校为例,使用的平台是雨课堂,如图2所示。

5课程建设的若干建议

5.1建议课程建设要结合培养计划

软件测试领域由多个测试细分领域组成,每个细分领域既可以单独成为一门课,也可以合并在一门总的测试课程里面,形式多样,具体的开课形式主要取决于学校的人才培养计划。由于在各职业院校的人才培养计划中,测试课程的设计不尽相同,因此课程的建设需要充分考虑学校的人才培养计划。

5.2建议课程建设要结合课时量

测试细分领域单独开课或者不单独开课两种情况下的课时量并不相同。不同的课时量所带来的课程的建设方案也有区别,因此课程的建设还要考虑具体的课时量来进行。

5.3建议通过校企合作的方式来深化课程建设

测试课程是面向企业软件测试岗位开设的一门理论+实训的课程,课程的建设方案是否匹配当前市场需求,以及资源建设后期要作什么样的调整,都需要和企业形成一个联动机制、反馈机制,因此,建议通过校企合作的循环机制来进一步深化课程的建设。

6结语

软件测试是整个软件工程中用来保证软件质量非常重要的一环,因此,培养有核心技术的软件测试人才对于保证软件质量是具有战略意义的。面对复杂的测试岗位要求,高职院校如何根据自身的特点和人才定位对软件测试的课程进行建设,是相关高职院校要深入思考的问题;规划好软件测试课程内容结构的主次,确定建设重点,提出课程建设方案,再根据实际使用情况,不断完善方案,从而为高职院校的测试课程建设探索更多的新思路。

参考文献

[1]刘毅,赵宇枫.“线上+线下”混合教学模式下计算机类课程资源建设探讨[J].科学大众:智慧教育,2022(5):82-83.

[2]王秀珍,王粉梅,周丽媛,等.混合教学模式下的计算机专业课程资源建设[J].计算机教育,2022(2):61-66.

[3]何理,曹占龙,周学良,等.基于持续改进要求的线上线下混合式教学资源建设和应用方法研究———以计算机绘图课程为例[J].时代汽车,2022(3):45-46.

[4]王玉芬.“互联网+”背景下大学公共计算机课程资源开发与应用研究[J].经济技术协作信息,2021(21):34-35.

[5]高静.智慧教育“金课”背景下计算机网络基础课程资源建设研究[J].知识经济,2021(13):130-131.

[6]卢冶,刘永良,张小立.面向应用型人才培养的Java课程群研究与建设[J].实验室研究与探索,2017,36(1):207-211.

[7]韩俊峰,唐静,陈洪涛.《零件计算机辅助编程与制造》课程资源建设[J].青年与社会,2019(14):58-59.

[8]张兰芳,朱新华.《大学计算机基础》课程思政资源的挖掘和应用研究[J].玉林师范学院学报,2021,42(3):137-140.

[9]杨盛鑫.计算机网络技术专业课程教学资源库的研究与建设[J].亚太教育,2022(7):94-96.

[10]鲍鹏.中职计算机应用专业数字化课程资源应用的实践研究[J].进展:科学视界,2021(2):128-128.

[11]王茹.高职院校《计算机应用基础》课程资源平台建设研究[J].电子世界,2021(1):79-80.

作者:陈艳 单位:济光职业技术学院 人工智能学院

标签: 性能测试 软件测试 自动化测试

相关文章

最近更新
郭嘉新传txt下载 2023-03-11 06:13:46
欠你的太多歌词 2023-03-10 15:13:39
这个家因为有了她... 2023-03-10 09:59:10