软件测试实训总结汇总十篇

时间:2023-03-08 14:51:29

软件测试实训总结

软件测试实训总结篇(1)

软件测试是装备仿真训练软件开发过程中一个不可缺少的重要步骤,而且随着装备仿真训练软件规模的增大、复杂度的增加,软件测试也变得越来越重要。装备仿真训练软件软件测试过程与开发过程一样,都能决定软件的质量,而且测试过程的质量将直接影响测试结果的准确性和有效性。 

在软件开发几十年的实践过程中,人们总结了很多的开发模型,这些模型对于软件开发过程具有很好的指导作用,由于测试与开发是紧密结合在一起的,所以软件测试也需要有测试模型去指导实践。软件测试模型是将测试过程活动进行抽象的概念模型,用于定义测试活动的流程和方法,是确保软件工程质量的重要手段。测试专家通过实践总结出了很多很好的测试模型。这些模型将测试活动进行了抽象,明确了测试与开发之间的关系,更好的分析软件测试在整个软件研发中的参与度和工作过程,进而不断完善软件质量保证流程,提高软件产品的质量,并成为了测试管理的重要参考依据。目前,主要的测试模型主要有以下4种: 

1.1 V模型 

V模型是将传统测试模型瀑布模型改进后的一种测试模型,如图1所示,从左到右,分别描述了软件的基本开发过程和对应的测试行为,清楚地体现出每个测试阶段和开发过程各阶段的对应关系。但是在V模型当中,测试过程放在了编码的下一个阶段,这就容易使人误解为测试是软件开发的最后一个阶段,而需求分析的检验工作也是在验收测试才能进行。 

1.2 W模型 

W模型由两个V模型组成,分别代表测试与开发过程,非常明确的标注了生产周期中开发与测试之间的对应关系,如图2所示。但是在W模型中测试和开发也保持着一种线性的前后关系,上一阶段工作完全结束,才能正式开始下一阶段的工作,这样就无法支持迭代、自发性以及变更性调整等情况。 

1.3 H模型 

H模型形成了一个完整独立的测试过程,并且将测试准备活动和测试执行活动清晰的区别出来,如图3所示。图中仅仅演示了在整个生命周期中某个层次上的一次测试“微循环”,图中的“其他流程”可以是任意开发流程。H模型的特点是软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。当某个测试点就绪时,软件测试即从测试准备阶段进入测试执行阶段。 

2 装备仿真软件测试的特点及关键问题 

2.1 装备仿真软件测试的特点 

装备仿真训练软件是一个由系统、分系统/子系统、模块组成的复杂系统,并随着系统和操作功能的增多,复杂程度也在增加,系统的好坏归根结底是由各个分系统和各个模块的好坏决定的,对各个分系统和各个模块的测试是一个非常重要的环节。装备仿真训练软件测试具有以下6个特点: 

2.1.1 装备仿真训练软件测试主要分为三个阶段 

从软件生命周期全过程来看,软件测试可分为单元测试、功能测试、集成测试、性能测试、系统测试、配置测试、回归测试等阶段。根据装备仿真训练软件的结构、规模、类型和安全性关键等级等方面的特点,确定装备仿真训练软件测试主要分为单元测试、集成测试和系统测试三个阶段。 

2.1.2 单元测试是装备仿真训练软件的测试重点 

装备仿真训练软件测试是一项针对性很强的工作,即使对同一类型的功能,可能由于不同型号任务的要求,功能实现也会有所差异,因此要求重点进行单元测试。单元测试是根据详细设计和源程序,了解每个最小模块的输入、输出条件和逻辑结构是否正确合理。单元测试通常应对模块内所有控制路径设计测试用例,以便发现错误。 

2.1.3 装备仿真训练软件程序内部结构复杂,路径组合数目庞大 

程序的三种基本结构分别是:顺序结构、分支结构和循环结构,装备仿真训练软件最小组成模块的内部程序都可看作是这三种结构按不同方式组合的产物,这其中包含大量多重选择和循环嵌套的程序,而且模块与模块之间存在着大量的交互,所以程序内部包含的不同路径数目可能是天文数字,尤其对大规模复杂的装备仿真训练软件,穷举所有的路径是不可能的,需要根据实际情况去选择适合的覆盖测试方法。 

2.1.4 装备仿真训练软件黑盒测试用例数量庞大 

装备仿真训练软件中包含了不同专业的多个分系统,每个分系统又由多个子系统和模块组成,其中包含的参数数量庞大,参数与参数之间的进行组合之后的数量将更加庞大,而软件运行出现的故障时,更多的情况是由于多个参数的相互作用的原因,所以,要想充分考虑到参数与参数之间的关系,需要的测试用例数量是无穷尽的。 

2.1.5 装备仿真训练软件测试一般需要特定的测试环境支持 

装备仿真训练软件测试可以采用静态测试方法和动态测试方法。其中,静态测试以人工检查为主,不需要特定的测试环境;而动态测试则需要建立驱动软件模块执行的测试环境,支持软件模块的参数输入和输出结果的可视化。 

2.1.6 装备仿真训练软件测试一般采用白盒测试与黑盒测试相结合的方法 

一般采用白盒测试方法来测试装备仿真训练软件程序内部的逻辑结构;装备仿真软件的功能测试部分则需要采用黑盒测试方法。

2.2 装备仿真软件测试的关键问题 

软件测试的目标是发现软件中可能存在的设计缺陷和错误。测试时验证得越全面,软件中可能存在的缺陷就会越少,而每一个项目、每一个软件的测试都会有不同的特点和测试关键问题,测试工作要根据软件的特点和关键问题,设计适合该软件的测试。装备仿真训练软件测试的关键问题主要有以下4点: 

2.2.1 测试工作必须由非开发人员来完成 

由于许多开发单位对软件测试的认识水平不够,自己设计、自己编程、自己测试、自己维护的现象还比较普遍,这样的结果就是导致测试结果不理想,没有达到测试的要求。所以,为了保证测试质量,装备仿真训练软件的测试工作必须由非开发人员来进行,保证的效果。 

2.2.2 在白盒测试中,采用基本路径测试方法解决路径覆盖率问题 

在装备仿真训练软件结构中,路径组合是一个庞大的数字,所以要在测试中覆盖所有路径是不可能的,需要把覆盖的路径压缩到一定范围内。如:程序的循环部分可以只循环一次。因此,在路径覆盖测试上,我们选择基本路径测试法。 

2.2.3 在黑盒测试中,采用组合覆盖测试方法解决测试用例无穷尽问题 

由于装备仿真训练软件中参数与参数的组合数量庞大,无法设计无穷尽的测试用例满足覆盖率问题,为此,采用组合覆盖测试方法,不仅可以充分考虑到软件中参数与参数之间的相互作用,更重要的是能以最少的测试用例实现最大程度的覆盖,具有较好的测试效果。 

2.2.4 要有必要的测试文档 

没有文档的项目是一个不成功的项目,同样,没有文档的测试也不会是一个成功的测试。测试工作的计划、设计、实现和问题报告都要以文档的形式记录下来留存,方便同项目组人员进行阅读和修改,更重要的是对于后续同类项目是资源的积累过程和设计的改进依据。 

3 装备仿真软件测试模型 

测试过程模型定义了测试的流程和方法,为测试工作提供了指导。但是传统的测试模型各有长短,不可能适合所有的测试软件,软件测试模型因测试软件的不同而不同,所以,本文通过对传统的测试过程模型进行的分析和探讨,同时研究分析了装备仿真训练软件的实际情况,进而得到了适合装备仿真软件的测试模型,然后从该模型出发,完善软件测试工作流程。装备仿真训练软件测试模型是一个包含了软件文档审查、代码静态分析和审查、单元测试、子系统集成测试、系统测试和验收测试的综合测试模型,如图4所示。 

3.1 测试准备 

测试准备阶段是在测试实施之前,构造执行测试所需的要素,这些要素通常包括软件开发文档、软件开发程序、实际执行测试所需的软件、准备测试环境和测试工具;同时还要为测试过程准备适当的测试用例。 

3.2 单元测试 

装备仿真训练软件单元测试部分包含静态测试和动态测试两个部分。其中静态测试的对象是装备仿真训练软件单元模块的文档和程序代码,主要通过文档审查、代码审查、代码静态分析等方法来确保软件需求和设计文档的正确性、代码的规范性、设计或实现的正确性。而软件结构和功能方面的缺陷则需要采用动态测试的方法来完成。 

装备仿真训练软件单元模块动态测试采用黑盒测试和白盒测试相结合的方法,从模块级检查软件的功能、性能、接口和其他约束条件是否满足需求。白盒测试技术主要测试每个单元内部逻辑结构的覆盖率,黑盒测试技术测试模块单元功能满足需求情况。 

3.3 集成测试 

集成测试主要检验装备仿真训练软件中经过单元测试的模块和子系统各部分工作是否实现了相应技术指标、达到了相应的要求。在装备仿真训练软件集成测试部分,既可以弥补单元测试中没有测试到的Bug,又可以测试单元测试中没有办法测试的功能,如装备仿真训练软件中前后台集成之后的关联功能。所以集成测试就是测试各个部件之间的配合情况,为系统测试提供基本保证。 

装备仿真训练软件的集成测试必须在所有模块、子系统能够正常运转的情况下才能进行,一般采用的方法是数据驱动方法中的自底向上集成测试。具体的步骤是先测试组成子系统的模块群,由于最底层的单元模块都已经经过了单元测试,所以各个模块可以向上集成为各个子系统;然后在此基础上就可以测试各个子系统能否正常工作,以及进行各个子系统之间的测试工作。 

3.4 系统测试 

装备仿真训练软件的系统测试是在集成测试的基础上进行的,不仅是单纯的测试软件部分,而是将硬件、网络和外设等其他要素结合进来进行综合性测试。系统测试主要依据系统总体技术方案和需求说明书进行测试,目的是发现系统与用户需求不符或矛盾的地方。 

系统测试的测试类型一般包括功能测试、性能测试、负载测试、强度测试、容量测试、安全性测试、用户界面测试、有效性测试、配置测试、故障恢复测试、安装测试和回归测试。而在装备仿真训练软件的系统测试中,功能测试、性能测试、负载测试、安全性测试、有效性测试、配置测试、故障恢复测试是必须进行的,其他项目可以依据具体项目情况选择性的进行。 

3.5 验收测试 

在完成装备仿真训练软件的系统测试之后,进行验收测试。只有通过了验收测试,才标志着项目的结束,软件产品的完成。一般来说,验收测试以用户为主,主要验证软件的功能、性能以及其他特性是否与用户要求相一致。 

4 结束语 

软件测试的目的是通过测试来发现缺陷,找出缺陷的分布特征和出现的规律,以便在新的开发项目中改进设计结构,避免缺陷的出现,同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。随着装备仿真训练软件质量要求的提高,软件测试在软件开发中的地位越来越重要。装备仿真训练软件测试模型是从传统的软件测试模型中提取出来的,适合装备仿真训练软件的测试模型,不仅可以提高测试在软件生命周期中的作用,还可以完善软件部分的工作流程。 

参考文献 

[1]李龙等.软件测试实用技术与常用模板[M].北京:机械工业出版社,2013. 

软件测试实训总结篇(2)

软件产品,特别是行业解决方案软件产品不同于一般的商品,用户购买软件产品之后,不能立即进行使用,需要软件公司的技术人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人员培训、软件上线使用、后期维护等一系列的工作,我们将这一系列的工作称为软件项目实施。大量的软件公司项目实施案例证明,软件项目是否成功、用户的软件使用情况是否顺利、是否提高了用户的工作效率和管理水平,不仅取决于软件产品本身的质量,软件项目实施的质量效果也对后期用户应用的情况起到非常重要的影响。项目实施规范主要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据标准化初装阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交接阶段等八个阶段工作内容,每个阶段下面有不同的工作事项,各个阶段之间都是承上启下关系,上一阶段的顺利完成是保证下一阶段的工作开展的基础。下面将按照每个项目实施阶段分别介绍。

二、项目实施方案介绍

(一)项目启动阶段

此阶段处于整个项目实施工作的最前期,由成立项目组、前期调研、编制总体项目计划、启动会四个阶段组成。

此阶段主任务:

公司:在合同签定后,指定项目经理,成立项目组,授权项目组织完成项目目标。

公司项目组:进行前期项目调研,与用户共同成立项目实施组织,编制《总体项目计划》,召开项目启动会。

商务经理:配合公司项目组,将积累的项目和用户信息转交给项目组。将项目组正式介绍给用户,配合项目组建立与用户的联系。

用户:成立项目实施组织,配合前期调研和召开启动会,签署《总体项目计划》和《项目实施协议》。

1、成立项目组

部门经理接到实施申请后,任命项目经理,指定项目目标,由部门经理及项目经理一起指定项目组成员及成员任务,并报总经理签署《项目任务书》。

2、前期调研

项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。填写《用户及合同信息表》。在项目商务谈判中,商务经理积累了大量的信息,项目组首先应收集商务和合同信息,并与商务经理一起识别那些个体和组织是项目的干系人,确定他们的需求和期望,如何满足和影响这些需求、期望以确保项目能够成功。

3、编制《项目总体计划》

《项目总体计划》是一个文件或文件的集合,随着项目信息不断丰富和变化,会被不断变更,主要介绍项目目标、主要项目阶段、里程碑、可交付成果。通常包括以下几方面内容:

项目描述,项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);

沟通管理计划,确定项目干系人对信息和沟通的需要:即什么人何时需要什么信息以及通过什么方式将信息提供给他们。质量管理计划,确定适合于项目的质量标准和如何满足其要求。如果有必要,可以包括上述每一个计划,详细程度根据每个具体项目的要求而定。未解决事宜和未定的决策。

4、启动会

项目组与用户共同召开的宣布项目实施正式开始的会议。

会程安排如下:

共同组建项目实施组织,实施组织的权利和职责;双方签署《项目实施协议》。

项目组介绍《项目总体计划》和《项目实施协议》,包括以下内容:

项目目标、主要项目阶段、里程碑、可交付成果。所计划的职责分配(包括用户的);

项目实施中项目管理的必要性和如何进行项目管理,项目的质量如何控制;

项目实施中用户的参与和领导的支持的重要作用;

阶段验收、技术交接和项目结束后如何对用户提供后续服务。

(二)需求调研确认阶段

此阶段的主要工作是软件公司的项目实施人员向用户调查用户对系统的需求,包括管理流程调研、功能需求调研、报表要求调研、查询需求调研等,实施人员调研完成后,会编写《需求调研分析手册》,并交付用户进行确认,待用户对《需求调研分析手册》上所提到的需求确认完毕后,项目实施人员将以此为依据进行软件功能的实现。如果用户又提出新的需求,实施人员将分析需求的难度及对整个系统的影响程度来确定是否给予实现。需求调研阶段具体包括如下内容:

1、进行需求调研准备

2、编制《需求调研计划》

3、内部评审是否通过《需求调研计划》,项目组、部门经理、商务等人员根据合同要求和项目实际情况对《需求调研计划》草稿进行评审,如评审通过,则在稍后的时间内签署,如评审不通过则重新修改。

4、用户是否签署《需求调研计划》,如用户签署《需求调研计划》,则作为以后需求调研工作的指南。否则重新修改。

5、《需求调研计划》是否有变更,如果计划存在变更,则执行变更控制流程,否则按计划进行后续工作。

6、编写及发出《需求调研通知》,项目组编写《需求调研通知》,确定进行需求调研的相关事宜,发给用户,为顺利完成需求调研工作做准备

7、需求调研,项目组以《需求调研手册》为依据,从业务流程、单据使用、打印格式、报表查询几个方面展开深入和全面的调研,并搜集用户的个性化需求。

8、需求调研分析根据调研的结果,项目组和公司其他技术部门将进一步进行分析,确定合理、可行的需求,将分析结果形成《需求分析报告》草稿。

9、内部评审是否通过《需求分析报告》。项目组、部门经理、公司其他技术部门的人员对《需求分析报告》草稿进行评审,如评审通过,则在稍后由用户签署,如评审不通过则重新修改,直至内部评审通过。

10、编写及发出《需求分析报告确认通知》。项目组编写《需求分析报告确认通知》,发给用户,确定进行需求确认的相关事宜,告之相关部门及人员安排好工作,准时参与需求确认工作,为顺利完成需求确认工作做准备。

11、用户是否确认《需求分析报告》。如果用户确认,并签署了《需求分析报告》,则需求调研阶段工作结束,进行后续的软件功能实现的工作;如没有确认,则进一步进行调研、分析,直至用户最终确认并签署《需求分析报告》。双方签署了《需求分析报告》,需求调研工作结束之后,如果用户提出新的需求或是变更已有的需求,则执行需求新增及变更流程。

(三)软件功能实现确认阶段

此阶段的主要工作是项目实施人员根据需求调研阶段确认的《需求调研分析手册》中的用户需求内容进行具体软件功能的实现工作。在软件功能实现的过程中,项目实施人员将记录软件实现的详细过程。便于公司售后服务之用。每一个实施技术人员必须严格按照要求记录、存档。按照调研要求的所有功能实现完毕后,项目实施人员将编制《软件功能确认表》,将定制好软件功能待用户确认,用户根据《软件功能确认表》上的功能逐一确定软件功能是否达到要求,对不满足要求的功能,项目实施人员将会记录下来并进行功能修改,直到满足用于要求。

(四)数据标准化初装阶段

此阶段的主要工作是项目实施人员指导用户进行系统标准化资料的准备工作,并对用户进行初装资料的软件操作培训,以便用户能够及时的将标准资料录入系统,初装完成后,项目实施人员会对资料初装的情况进行核查,为以后具体业务功能的开展做好基础。

(五)系统培训阶段

系统培训阶段工作是整个项目实施工作中比较重要的工作,用户对软件的操作功能是否熟练将直接影响到后面的软件应用效果,所以软件公司和用户双方要对此阶段的工作给予足够的重视。要充分认识培训的重要性和艰巨性。在项目实施之前对用户的相关人员进行系统和规范的产品培训是非常必要的,达到让用户了解软件产品,最终自己能够解决使用中的具体的问题。

此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、技术层、操作层,对不同层次的用户参加产品培训人员的培训内容分别是:

决策层:领导在实施中的作用与重要性、决策查询。

维护层:系统维护知识、操作方法。

操作层:操作方法。

具体的培训工作流程为:

1、调研培训信息:在培训开始前3天由用户实施负责人,将参加培训的部门和人员情况填入《受训部门汇总表》、《受训人员情况一览表》。

2、编制培训计划:结合调研结果,与用户实施负责人商议具体培训内容、时间,场地,人员等。项目组编制《培训计划》。

3、签署培训计划:用户签署《培训计划》,进一步确认培训安排。

4、发培训通知:培训开始前2天,按照签署的《培训计划》,将培训内容、时间,场地,人员等信息通知用户实施负责人。

5、搭建培训环境:公司项目组在培训开始前,将培训环境搭建及检查妥当,将培训提纲及培训手册准备好。

6、组织培训:公司项目组培训负责人与用户实施负责人组织相关人员参加培训,按培训制度严格考核。由用户将考勤情况填入《培训人员签到表》。

7、培训考核:公司项目组培训负责人与用户实施负责人组织受训人员参加上机及理论考试。

8、培训总结:公司项目组培训负责人与用户实施负责人一起将出勤情况及考核情况做出总结,填入《培训及考核统计表》,及时向相关负责人

汇报。

(六)系统安装测试及试运行阶段

此阶段的主要工作是在用户真实环境下,对用户网络及硬件设备进行测试,对软件系统进行容量、性能压力等测试测试及试运行的目的在于确保系统各项功能均能正常使用,并且符合用户签署的《需求分析报告》中描述的需求,同时把尽可能多的潜在问题在正式运行之前发现并改正;同时目的还在于在正式运行前用户的有关人员能进一步提高操作水平,掌握操作规范。此阶段的主要工作内容为:

1、 编制计划:与用户实施负责人商议具体测试及试运行时间,地点,人员等安排,项目组编制《测试及试运行计划》。

2、签署计划:用户签署《测试及试运行计划》,进一步确认测试及试运行安排。

3、发测试及试运行通知:在测试及试运行开始前2天,按照签署的《测试及试运行计划》,将时间,地点,人员等信息通知用户实施负责人。

4、搭建环境及数据准备:在试运行开始前搭建好软件环境、硬件环境、网络环境、调通线路;检查软件、硬件、网络、线路等各个环节是否有问题;

5、组织测试及试运行:用户相关各级领导给予全面配合,组织相关人员进行测试及试运行。

6、测试及试运行总结:测试及试运行完成,总结试运行中设备、软件的运行情况,总结试运行中业务流程和操作环节的情况,以书面总结形式将测试及试运行结果通知相关负责人。

公司项目组负责担当指挥,检查用户人员组织情况并给予指导,跟踪检查如下情况:

跟踪单据流转状况。

跟踪新资料登录环节。

观察业务流程执行状况。

观察操作人员操作表现。

观察系统运行速度及异常表现。

观察关键数据的正确性。

及时纠正错误操作、对于新发生的问题及时与相关人员沟通,确定解决办法。

(七)总体验收阶段。

此阶段是对项目总体的完成情况进行验收。验收分阶段进行,在每一项目阶段结束时,用户对这一阶段的可交付成果进行验收,在测试及试运行结束后,对系统进行总体验收。

需要验收的可交付成果:

主要项目阶段

阶段组成

主要里程碑

软件测试实训总结篇(3)

1.课程的定位与教学设计

1.1 课程定位

《软件测试》课程作为软件专业二年级下学期的专业课,它的前导课程是《数据库设计》、《数据结构》、《软件工程实施》,后续课程是课程实训及毕业实习。通过本课程的学习,使学生加深对软件测试基本理论和基本方法的理解与应用,能熟练使用常用软件测试工具,并能运用软件测试工具完成应用软件的测试工作,提高学生对软件的测试与维护能力,并进一步培养学生的的团队协作能力。

1.2 课程设计思路

软件测试是高职计算机软件专业学生在以后的工作岗位上要用到的核心技能。因此,本课程应该作为专业必修课程和核心课程,重点培养学生在以后的工作岗位上所需的职业能力:白盒测试、黑盒测试、自动化功能测试与性能测试。

《软件测试》课程的总体设计思路是,转变传统的学科课程模式,不再以知识传授为主,构建以工作任务为中心的企业培训体系,引入企业项目,让学生在真实的企业项目中完成相应的工作任务,从而储备相关的专业知识,发展职业能力。授课内容重点突出对学生职业能力的培养。课堂上不再单纯地只讲授理论知识,而是围绕实际工作任务的需要来选取,这充分考虑了高职学生动手能力强,理论知识薄弱的特点。

2.教学设计

2.1 教学情境设计

本课程小组通过学院专业指导委员会、重庆亚德科技、重庆大佳、重庆港澳大家等软件公司的企业技术人员进行实际调查,制定了适合高职学生的软件测试课程体系与职业能力,确定了软件测试课程典型的教学情景与子情景,在教学情景中给出具体的工作任务、工作方法以及要求学生掌握的知识与技能等,在教学中贯彻理论实践一体化的教学模式,做到教、学、做三结合,充分体现工学结合的优势,培养学生的职业素质。本课程的5个工作过程及11个典型工作任务如表1所示。

2.2 教材设计

(1)教材应充分考虑软件测试的实践特性,以工作任务为导向,引入必须的软件测试理论知识,让学生在实际测试的过程中,循序渐进地掌握必要的理论知识。

(2)编写的内容要以项目驱动为原则,以企业的实际案例、场景模拟、工作过程录像为载体,增强课后的能力拓展,并根据高职学生的职业能力所需知识的深度和广度来编写,并在具体的工作任务中使学生逐渐形成团队协作意识。

(3)教材应突出软件测试技术的实用性、前瞻性和开放性,不能只是简单地介绍一些技术上的操作,而忽略了软件学生所需的职业能力,在教材中应融入软件测试技术中所用到的新规范、新技术、新标准、新工具、新知识,让学生能系统地掌握软件测试的前沿知识。

(4)教材应充分引领学生主动、积极地去学习,因此,文字表述要简明扼要,内容展现应图文并茂,内容应详略得到。

2.3 教学方法设计

由于本课程的主要教学内容涉及白盒测试、黑盒测试、自动化功能测试与性能测试等操作性很强的教学环节,必须通过课程实训才能达到对项目作规范需求分析的培养目标。具体教学方法设计如下:

(1)全班学生分为N个项目小组,3人一小组,1人任组长,组长要求协调沟通能力比较强。

(2)在教学过程中应加强学生对软件总体的测试能力,采用任务驱动教学,注重以任务引领,提高学生学习兴趣;

(3)组建软件外包中心,引进企业项目,让学生真实地体验在软件公司的测试流程。外包中心作为理论实践一体化教室,达到理论和实际不脱节。

(4)教学过程中可参考软件测试评师考试中规定的知识要求和技能等级职业标准。

(5)教师模拟企业的项目经理,必须具有开拓精神,带领团队完成工作任务,并在完成工作任务的过程中,探索基于工作过程的职业教育新模式,培养学生的软件测试能力,构建软件测试知识体系。

2.4 教学评价设计

(1)突出过程评价,结合课堂提问、实作测试、课后拓展、任务考核等手段,加强实训教学环节的考核,并注重平时考核。

(2)强调目标评价和理论与实践一体化评价,注重引导学生进行学习方式的改变。

(3)每个项目小组在完成课程后,要将所学的内容做ppt,汇报本小组项目完成的情况以及体会。

(4)实行学习过程的过程化考核。平时作业、期中与期末考试均采用上机实训的方式考核,对于不合格者,在团队的协作帮助下持续练习,直至过关。这样可以督促学生不断地练习,真正提高动手能力。

(5)课程的学期成绩=平时作业(10%)+上课考勤(10%)+小组项目测试情况(30%)+小组ppt总结情况(10%)+期末成绩(40%)

3.课程资源的开发与利用

(1)围绕软件测试课程,收集教师和学生必备的软件测试工具,制作适宜教学的多媒体教学课件。

(2)组建软件外包中心,搭建实训工作平台,为学生实训提供真实的工作环境,从而提高其职业素养。

(3)要充分开发网络课程,让学生在课余时间可以自主学习,弥补学生课本知识的不足。

(4)充分利用和开放实训中心,将教学与实训合一,将理论与实践合一,满足学生综合能力培养的要求。

(5)积极利用电子书籍、电子期刊、数字图书馆、校园网、各大网站等网络资源,使教学内容从单一化向多元化转变,通过企业技术人员的指导,课程教师的辅导,使学生知识和能力的拓展成为可能。

4.课程的实施效果

(1)基于项目化的授课内容

建立软件外包中心,引入企业项目内容,软件测试的授课内容紧紧围绕企业项目的典型工作任务开展,学生的能力与素质参照软件测试工程师的岗位要求,让学生真实感受企业环境,就业零距离上岗。

(2)基于过程化的授课方式

老师授课不再单纯地讲解理论,完全按照企业的软件测试流程开展,制定规范的软件测试计划、编写测试用例、利用测试工具测试、编制测试报告,有利于学生养成职业化的学习习惯与工作习惯。

(3)基于理论实践一体化的教学设备

学生在软件外包中心上课以及实验,真正实现了“做中学,学中做”的企业工作环境。

(4)基于能力化的学习评价

学生的评价不再单纯地以理论考试为依据,而是从学生的软件测试专业能力、利用软件测试工具的能力、团队沟通协调能力进行综合地评价。

参考文献

[1]郑泳.基于工作过程系统化的高职《软件测试》课程设计[J].漯河职业技术学院学院,2010(9).

[2]程茂,温静,吴玉洁.《软件测试》课程的教学研究[J].河北师范大学学报,2010(4).

软件测试实训总结篇(4)

中图分类号: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.

软件测试实训总结篇(5)

本次培训学习考察的主要内容有:

1、由德国卡尔·杜伊斯堡公益中心(CarlDuisberyCentren)负责为我们组织安排的“计量器具软件管理和认证体系”培训学习。

2、参观考察在德国柏林市的德国联邦物理技术研究院PTB(Physikalisch-TechnischeBundesanstalt)部份实验室。

二、培训学习主要内容。

1、能源市场中计量器具软件立法的作用与计量器具安全保障体系。(主讲:德国Siegen大学数据交流系统学院教授Christoph Ruland博士、经济信息硕士SibylleHick女士)

目前欧洲能源市场是一个市场化程度比较高的市场,发电、输电和配电三者分离。在市场化的能源市场中,发电、输电、配电、使用者和监督管理单位对能源的贸易结算和监督管理均离不开测量仪器(计量器具)。早在98年德国就出台了《能源经济法》,20xx年欧盟制订了《能源经济法》,并已于20xx年正式实行。20xx年3月31日欧盟实施欧盟法规《计量法》(MID)。欧盟计量法(MID)和能源法对能源计量管理的作出了相关规定,目的就是:①保护消费者利益②建立计量安全保障体系③加强市场(用户)对测量仪器的信任,同时实现在欧盟范围内测量仪器检测的一体化。欧盟计量法(MID)确定了四种计量检测的类型模式:①ModelB,称为设备检测,即型式批准。②ModelF,称为计量检测③ModelD,称为使用测量仪器的质量保证④ModelH测量仪器生产环节的质量保障。欧盟计量法(MID)和能源法对能源计量中流量、气、电和热能计量中采用的测量仪器也做出相应规定。能源计量器具如电能表、水表、燃气表和热量表是欧盟重点管理的计量器具,必须通过型批准。

能源生产市场化后,引入竞争机制,产电与供电分离,电力消费结算中涉及到测量仪器与结果数据的管理服务也市场化,用户选择公正的计量服务成为可能,如选择采用的相应计量仪器,要求计量数据的准确、有效和公开等。随着计算机网络技术的发达,能源市场的管理和贸易结算都依靠网络完成。这就对网络的安全提出了很高的要求。整个系统将会涉及到更多的监测,这对测量仪器的准确性,数据传输过程的安全性,监测计量结果的变化,数据非法使用和改动,采用的安全保证方法提出更高的要求。通过保证网络数据的正确、可靠、不被盗窃、不被更改也就成了立法管理和技术管理工作的一项重要内容。

Siegen大学数据交流系统学院教授ChristophRuland博士向我们详细介绍了德国(欧盟)能源市场中计量器具软件立法的作用与计量器具安全保障体系结构。Siegen大学经济信息硕士SibylleHick女士向我们详细介绍了计量器具的网络安全与计量器具软件的安全下载。如:如何防止数据被盗用、修改或把自己应付的帐单数据强加在别人的头上等。如何在计量器具硬件性能良好的情况下保证其软件性能的良好,使得计量器具总体性能的良好等。由于软件作弊问题已经在各领域出现,引起了OIML的注意。OIML在R81(1998)中首次提出“电子式铅封”概念,将采取措施对影响比较大的测量软件采取法制计量保护,但尚未确定具体办法。

2、用于测量设备软件的管理与认证。(主讲:德国Paderborn大学电子与信息技术学院教授Frevzi Belli博士、ChristofBudnik硕士)

随着软件产业的迅速发展和计算机技术的广泛应用,软件质量问题已引起世界各国的高度关注。目前德国涉及软件认证和检查的部门主要有内务部(BSI)、TV、PTB以及FranuhoterSociety(协会)。BSI主要负责对软件安全性进行授权。TV主要从事软件质量的检测。PTB主要从事测量仪器和工作中软件的认证。

凡从事软件认证的实验室都经过德国认证委员会所属的技术认证委员会的认证,认证主要按ISO17025等有关标准进行,TV和PTB都取得相应的证书。软件认证机构必须确保其工作的独立性、公正性及专业性,必须有较高质量的技术专家。为保证其公正性,认证机构对同一项目不能既咨询又认证。认证机构的职能不仅是对软件工作做出评价,更重要的是要帮助顾客改进软件的质量水平。

FrevziBelli教授是国际上在计算机软件和应用方面的专家,是IEEE的会员(Institute of Electrical and Electronics Engineers,美国电气及电子工程师学会,一个美国的工程技术和电子专家的组织,但它是因大量其他国家的会员而出名的),在软件测试方面有很深入的研究,具有丰富的理论和实践经验。FrevziBelli教授为我们详细讲解了计量器具软件的结构类型,错误的产生与分类,测试的基本概念和工具,测试的系统化,控制软件错误和对其的建模,风险分析等内容。使我们初步了解计量器具中的软件测试方法,大大提高了对未来计量检测技术的发展应用方面的认识。

对计量器具中软件管理与质量保障、计量器具软件的错误程序管理、风险分析与调试、软件调试与白匣子黑匣子调查方法、计量数据的保存,计量数据处理过程中的安全保障方法以及计量器具软件认证、检测规定、检验标准和检测方法等作了具体讲解。他还介绍了软件评价结果的表达方法和软件评价中常用的软件工具。计量检定或校准、数据处理及测量不确定度分析中广泛使用计算机技术和测量软件,测量软件对测量结果的准确性和可靠性起到至关重要的作用。计量器具中的软件,尤其是涉及贸易结算、安全防护、医疗卫生、环境监测、资源保护、法制评价、公正计量等属于国家法制管理的计量器具软件的可靠性和保护能力,日益受到各国的高度重视。FrevziBelli教授还欧盟的技术法规WELMEC7·1“测量仪器中的软件要求”和WELMEC7·2“软件指南”进行了具体的讲解,讲解了软件要求的具体内容,包括软件设计和结构、软件保护、软件符合性、软件可检查性和型式评定的文档等五个部分11个方面的内容。由于该文件是针对各种计量仪器的通用性要求,为了适应不同类型计量仪的要求,该文件对软件保护、符合性和可检查性等三个方面的要求,提出了高、中、低三个等级的划分原则,以指导各类计量仪器制定相应的软件要求细则,FrevziBelli教授还用几种不同复杂程度的实例,说明软件要求及其检查方法。FrevziBelli教授授课极为认真负责,他年纪较大,但授课过程中一直精力充沛,始终面带微笑,兢兢业业,课程的内容也极为详尽全面,互动性非常强,穿插在学习培训中的测试,不断使学习者能及时加深理解掌握,更是一种有效的沟通手段,例如“创建一套计量软件的测试认证规则”,就与实际工作有非常紧密的联系。

3、计量软件的测试与质量保证。(主讲:PTB医学物理与计量信息处专家,NorbertGreif博士)

当前在计量检定或校准、数据处理及测量不确定度分析中广泛使用计算机技术和测量软件,计量中的软件对测量结果的准确性和可靠性起到至关重要的作用。PTB从90年代起就着手研究计量中的软件问题。我们在德国柏林PTB实验室听取了由PTB医学物理与计量信息处专家NorbertGreif博士,对PTB在该领域研究的主要内容、研究的发展方向所作的介绍,NorbertGreif博士也是PTB软件测试实验室(SoftwareTestingLaboratory)实验室负责人,他对计量器具中软件的主要功能(包括过程控制、数据采集、数据处理、数据储存、通讯表示)、软件的质量要求(包括产品要求、过程要求、功能要求、和非功能要求)、软件的质量标准(如ISO9001、ISO12207、ISO9126、ISO12119、ISO6592、ISO66230、ISO9241等)以及软件测试的方法(包括动态测试、统计检测、黑箱方法和白箱方法等)做了具体的讲解。目前PTB开展的这方面的主要工作有:软件质量保障,检查、数据传输与安全法制,并例举了游戏机、选票机等产品的测试情况。

4、参观PTB。

德国联邦物理技术研究院(PTB)成立于1887年隶属于德国联邦经济劳工部,是世界闻名的计量和测试科研机构,但又具有政府管理职能。职工约有1600人,其士和研究人员有700多名。主要任务是进行计量学基础研究和应用技术开发(包括复现计量单位、建立和保存国家基准、进行量值传递、研究新的测试原理和方法、进行计量器具型式评价和型式批准)、代表联邦政府与国外开展计量领域的双边和多边合作。设有力学和声学、电学、物理化学和防爆、光学、精密工程、电离辐射、温度、医学物理和计量信息技术、科学和技术处。总部在布伦瑞克,在柏林设有分部。柏林的实验室主要在辐射、温度、压力、真空、医药、计量信息技术等方面的测试与研究。在听取了PTB医学物理与计量信息处专家NorbertGreif博士的介绍后,我们参观了位于柏林的PTB压力实验室。实验室负责人给我们介绍真空实验室,从标准设备的建立、传递、管理和实验室人员的组成、结构以及他们所从事的一系统工作内容一一作了详细的介绍。通过参观、沟通和交流,大大开阔了眼界,我们切实感受到我国计量水平与发达国家之间的差距。

三、培训后的体会。

本次赴德国培训学习培训,对德国及欧洲计量管理体系的现状,计量器具软件管理的发展状况,计量器具软件的标准及测试工具等问题有了一定的了解,对当前国际上软件测试技术和软件评定体系的发展状况。对软件测试的标准、程序、方法及测试工具。对欧盟计量仪器中软件的法制要求、检查方法和当前发展的动向等问题有了比较全面的了解。

随着电子信息技术的迅速发展和计算机软件水平的不断提高,各种仪器设备的科技含量和自动化程度也越来越高,计量工作将面临新的课题与挑战。此次赴德国短期培训选择的主题“测量仪器中软件管理和认证体系”具有较强针对性。我国目前测量仪器制造、进口、销售、使用、管理现状与测量仪器的智能化、一体化发展趋势尚不相适应,存在着严重滞后的现象。国内各行各业已开始意识到对测量仪器中软件进行管理和认证的重要性,正着手开展这方面的工作,特别在计量器具的制造、销售、使用等法制性、管理上更具有紧迫性。因此这次培训也是非常及时的。

在德国培训期间,多位专家从不同角度、不同层面,详细讲述了测量仪器中软件管理和认证的必要性。软件管理与认证的主要内容和框架。如何开展对测量仪器中软件的管理与认证及法制计量的定义等问题,使参加培训的同志在总体上比较清晰地了解了MID对计量器具中软件要求的发展过程及现状、动态。在管理层面了解软件认证的原则、要求及其相关的技术标准。在技术层面深入了解软件认证的技术操作程序、认证技术方案、以及认证过程中使用的工具。这次学习深切感受到德国的专家学者和专业技术人员对工作的严谨和一丝不苟,与有关同行进行沟通交流,大大开阔了眼界。切实感受到我国计量水平与发达国家之间的差距。同时也感受到了国际一流实验室的管理体制和科研理念,感受到了专家教授们严谨而有谦和的风尚。这次培训给我们的主要体会有:

1、计量器具软件在计量器具中有着非常重要的地位。

由于欧洲许多国家比较发达,使用的许多计量器具有自动读数、程序结算、网上查询的特点,这些先进技术提高了工作效率,消除了许多中间环节带来的人为误差,但同时也带来了对计量器具软件及其管理认证的新要求。如:如何防止数据被盗用、修改。如何在计量器具硬件性能良好的情况下保证其软件性能的良好,使得计量器具总体性能的良好等。由于软件作弊问题已经在各领域出现,引起了OIML的注意。OIML在R81(1998)中首次提出“电子式铅封”概念,但未具体确定,将采取措施对影响比较大的测量软件采取法制计量保护。软件测试分为两个层次,一是样机批准层次,二是检定(监督)层次,此项工作在欧洲正在逐步深入开展。这些或许将成为我们国家今后重点开展的工作。

2、一个国家的计量水平是其人员素质,基础研究,工业水平等的综合体现。

片面的追求短时间内提高一个国家,一个单位的计量水平是不现实的。片面强调某方面的重要性,而忽略了其所在的大环境也是不可取的。立足国内现有的工业水平,提高工作人员的素质,加大对基础研究的投入才能不断提高其计量水平和实力。德国的PTB十分重视计量科学的基础研究,努力使其的技术水平处于世界一流,此外对人才队伍的建设也是十分重视和合理。基于德国发达的工业基础,及他们发展自己队伍的理念,PTB成为了举世瞩目的计量研究和社会公共服务机构。

3、人力资源的配置对一个单位的发展起着非常重要的作用。

国外对人力资源的重视远超过我们国内的情况。合理的配置人力资源,使得什么样的人在什么样的岗位上,人尽其材,才为我用。本次培训中Belli教授及其团队在科研过程中取得的成果令我们羡慕,从中能深深感受到在技术快速发展和高度集成的时代,一个人的知识和技术总是有限的,组建科研团队和加强科研队伍建设对科技水平的促进作用十分明显。作为一个团队的负责人,Belli教授不仅拥有渊博的知识,高超的技术,还拥有谦虚的品格,随和的为人。技术、知识用来做事,谦虚、随和用来处世,这些都是一个人成为关键人物的基本要素。另外,作为团队的其他成员,其技术层次,知识结构,为人品格等素质都影响着这个团队的成绩。

4、这次“计量器具软件管理与认证体系”的培训从选题上是具有前瞻性的。

计量器具软件的管理与认证这块内容在我们国内还没开展,在发达国家属于一种最新的计量领域,对我们来说属于一种前瞻性的工作,具有指导意义。本次培训讲解的内容比较周详,涉及到软件的编写,软件的测试及软件的认证等方面,但由于信息量大,知识点新,培训时间短,因此对培训的掌握也只能是个大概,还要在后续的学习培训中不断提高才能从真正意义上开展这方面的工作。

5、通过此次培训,增强了我们工作上的紧迫感。

随着电子信息技术的迅速发展和计算机软件水平的不断提高,各种仪器设备的科技含量和自动化程度也越来越高,计量工作也将面对新的课题与挑战。国外发达国家在这个过程中充分认识到了现状,抓住了这样的机遇,利用现有的许多新技术,新观念加强了他们的计量水平,推动了计量事业的发展。而国内现在许多计量技术机构技术相对薄弱,依赖设备引进的多,而通过自主产权技术研究的少,国内外计量水平的差距十分明显。如何更好、更快的追赶上去,是需要我们计量工作者认真思考的问题。

四、今后对计量器具中软件测试的建议。

1、必须抓好人才队伍和技术力量的提前培养和准备。

随着我国电子信息技术的迅速发展和计算机软件水平的不断提高,各种仪器设备的科技含量和自动化程度也越来越高,在计量器具中使用计算机技术和测量软件也将越来越普遍,软件检测认证工作的重要性将凸现,而应用软件检测认证是一项技术难度大、涉及知识面广的系统性工程,虽然国际上在这方面已经有了较好的起步,但在我国,尚是一个较新的领域,为了能适应这一趋势和发展,我们要及时把握国际发展的趋势,并与国际的要求接轨,必须进一步加强技术培训与技术交流,进一步加强在相应领域的人才准备和培养等。加大在这方面的培训力度,建议进行针对性更强、培训时间更长,实验室实习内容更多的培训,以便具体了解运作的过程。并建议能邀请有关外国专家来我国讲学,以增加培训的范围。

2、提前做好计量器具软件检测与管理方面准备。

随着社会经济技术的发展,测量仪器性能、功能、型式的变化,各种虚拟检测仪器、网络仪器、远程监控、数据传送等,传统的计量仪器、检测方法都发生了巨大的变化,不久的未来,涉及计量仪器设备中软件检测将会越来越普遍,提前在计量器具软件检测与管理方面做好准备,是我们计量检测部门迫切的任务。

3、进一步认真研究国际和欧共体相关标准和规范。

结合我国的实际,抓紧制定我国的相关技术法规和规范,以提高我国计量仪器的软件水平,并建立相应的贸易技术壁垒,以保护和规范我国的计量器具市场。

4、一些有资格有条件并有能力承担计量器具型式试验的技术机构,应积极筹备计量软件的测试和评定工作。

软件测试实训总结篇(6)

在实训生活中,我了解开发项目的需求、设计、实现、确认以及维护等活动整个过程,让自己开始懂得一点软件工程的知识点。首先,了解需求分析的重要性,比如:需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。所以,需求分析是成功的第一步,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。

然后呢?确实客户的需求的以后我们要做什么呢,那当然是设计和分析。此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。接下来是代码实现,此阶段是将软件设计的结果转换成计算机可运行的程序代码,我们这个项目为五个模块,分别为五个小组成员完成。这阶段我学到很多编程的思想,如:分层思想、mvc、ssh的整合、dao的编写。编号程序之后就是软件测试了,此时在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。最后是软件维护,它是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。

但是,我深深体会到了在许多方面的欠缺和不足,比如:在需求分析时,由于自己的实践经验不够,很难分析需求到位;在编写代码时,由于自己技术知识水平不广,常常遇到技术难题;还有自己没有良好的编程习惯,不注释,有时连自己也看懵了;编程的结构不好,维修和修改代码是很慢。这次实训让我意识到了自己做为计算机软件工程专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄外,还必须具备良好的心理素质,使自己在以后的途中无论经历什么样的困难,都立于不败之地。“纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而所学的,都是课本上没有而对我们又非常实用的东西,这又给我们的实训增加了浓墨淡采的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。

在这次实训中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中各成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每个成员的意见,使我们的组合达到更加完美。实训过程中,除了要专业知识,包括人际交往,沟通方式及相关礼节方面的内容,对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经理,这是也是实训最大的收获。

这次实训带给我太多的感触,它让我知道工作上的辛苦,事业途中的艰辛。让我知道了实际的工作并不像在学校学习那样轻松。让我学到了很多课堂上更本学不到的东西,仿佛自己一下子成熟了,懂得了做人做事的道理,也懂得了学习的意义,时间的宝贵,人生的真谛。明白人世间一生不可能都是一帆风顺的,只要勇敢去面对人生中的每个驿站!这让我清楚地感到了自己肩上的重任,看清了自己的人生方向,也让我认识到了做软件应支持仔细认真的工作态度,要有一种平和的心态和不耻下问的精神,不管遇到什么事都要总代表地去思考,多听别人的建议,不要太过急燥。人非生而知之,虽然我现在的知识结构还很差,但是我知道要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。这次实训让我在一瞬间长大:我们不可能永远呆在象牙塔中,过着一种无忧无虑的生活,我们总是要走上社会的,而社会,就是要靠我们这些年轻的一代来推动。这就是我们不远千里来实训的心得和感受,而不久后的我,面临是就业压力,还是继续深造,我想我都应该好好经营自己的时间,充实、完善自我,不要让自己的人生留下任何空白!

从初出茅庐,到现在可以熟练的按照流程开发软件,这都与我组每个成员的努力是分不开的。在实训中,教会了我们很多东西,同时也锻炼了大家踏实、稳重、沟通的能力,每个人都很珍惜这来之不易的实训机会。在工作中,经常会和不同的人打交道,然而他们的态度是不可恭维的,你会感觉到他的不耐烦以及他的高傲,所以这就需要学会沟通的方式及说话技巧,学会灵活面对。

软件测试实训总结篇(7)

关键词:工作过程导向;学习情境;典型工作任务;项目开发;综合实训

中图分类号:G642 文献标识码:B

1 实训教学的现状和对策

我院的软件技术Java开发方向主干课程的设置包括:“Java程序设计”、“数据库基础及应用”、“JSP程序设计”、“UML基础与Rose建模”、“软件工程”、“软件测试”、“J2EE技术”。在每门课程的最后阶段都安排了课程实训,在此过程中,学生以个体或小组形式完成一个相对真实的工作任务。课程实训可以训练学生将该课程中不同的知识和技能串联起来,加以综合应用解决实际问题。由于各门课程相对独立,即使完成以上所有课程的课程实训,学生还是难以参与软件开发的全过程,难以获得对开发过程的整体把握。即使进入专业学习结束后的毕业设计阶段,由于毕业设计教学环节与大学生毕业就业成为近年来我国高校的一个非常突出的矛盾,尤其是高职高专院校的毕业生面临着严峻的就业形势,许多学生在最后一个学期几乎都在外出找工作,提前就业上岗。高职高专院校本来就学制短,毕业设计教学环节形同虚设,严重影响了正常毕业设计教学环节的实施和毕业生的水平。

在近几年的专业建设和课程改革中,我们越来越认识到培养学生的软件开发能力、团队合作能力、工程应用能力的重要性。为此,我们专门针对高年级学生设计和开发了工作过程导向的、具有专业总结和综合性质的项目开发综合实训,通过项目实践开阔学生视野,锻炼学生的团队意识和工程意识,全面培养学生的职业素养和工程应用能力。

2 基于工作过程的高职软件项目开发综合实训设计思路

基于工作过程的高职软件项目开发综合实训设计思路包含“两个贯穿一个分解一个覆盖”:即“工程项目贯穿”、“软件工程思想贯穿”、“典型工作任务分解”和“不同课程覆盖”。

2.1 工程项目贯穿

“工程项目贯穿”,即以一个工程项目全线贯穿于整个实训过程,学生从步入实训基地开始接受项目,到最后提交一个按照操作程序、操作规范完成的,满足一定质量标准的开发成果。在确定项目时,应该把握好以下两个原则:

第一,实训项目应具有一定的应用价值和实际意义。实训项目最好以实际项目为背景,或者直接就是从实际项目提炼而来,与企业实际生产过程或现实商业经营活动有直接的关系。这样的项目能培养学生的实战经验,极大地激发学生的积极性。但是要注意,业务流程太专业太复杂的项目不适于拿来作为全程的实训项目,因为这类项目在前期的业务分析和理解上将耗费太多的时间和精力,不利于后续工作的展开。

第二,要根据教学内容和专业培养目标确定项目内容与项目难度。高职软件技术Java开发方向旨在为社会输送合格的熟练的Java程序员,而J2EE编程是Java程序员追求的最高目标,所以我们确定的实训项目具有总结性和综合性,并具有一定的挑战性。经过前导课程“J2EE技术”的学习和实践,学生已经具备了用Servlet+JSP+JaveBean (EJB)或struts框架来实现MVC架构的能力,在实训项目中我们鼓励学生整合Struts、Hibernate和Spring三个框架,综合运用J2EE的组件、框架开发技术,开发一个满足J2EE架构的多层的企业应用。

2.2 软件工程思想贯穿

在传统的“软件工程”教学中,软件工程是一门独立的理论性较强的课程,学生们缺乏实战经验,难以在参与软件开发的全过程中获得感性体会,理解软件工程的精髓。

为了培养软件工程意识,使工程化思想成为学生从事软件开发工作的行动指南,我们将软件工程思想贯穿于整个综合实训的始终。综合实训以成熟的软件开发模型为基础,以具有一定应用价值和实际意义的项目为背景,学生以开发团队的形式,按照软件开发流程,在规定的时间点完成指定的任务,经历需求分析、建模、设计、编码、测试、部署的软件工程全过程。综合实训模拟企业运作机制,模拟企业中实际存在的项目压力和工作压力,模拟真实企业开发环境,以项目的进度检查作为监控,以项目开发成果作为最后的考评。学生在实训过程中,都有机会承担项目经理、设计人员、编码人员、测试人员等全部或部分岗位角色的职责,学生的综合能力得到极大的提高。

2.3 典型工作任务分解

典型工作任务是“基于工作过程”实训课程开发的精髓。所谓“任务”就是要求学生做一件事,重要的是,这件事是按实际工作的要求来操作的,包括操作程序、操作规范、质量标准等。学生在完成各项“任务”后,会呈现出不同的“结果”。这个结果是非标准答案的,即每个学生或每个团队的作品可以不一样,对作品的评价不是简单的对与错,而很可能是好与差。而“典型工作任务”能呈现出职业的典型的工作内容和形式,在整个企业的工作大环境里具有重要的功能和意义。

在工作过程导向设计原则的指导下,结合软件行业的岗位需求,通过分析完成软件开发需要完成哪些典型工作任务,我们设计了基于工作过程的实训流程。该流程以一个软件项目贯穿始终,将整个软件开发过程分解为一系列递进的实训情境,在每个实训情境要求学生完成一个独立的工作任务,完成所有的实训情境就完成了整个软件项目的开发。

基于工作过程的项目开发综合实训流程如图1所示,整个实训由递进的6个实训情境构成(水平方向),它们对应的工作任务依次为“需求分析”、“搭建开发环境”、“设计”、“编码”、“集成和测试”、“项目部署”。垂直方向则反映了为完成某项工作任务所采取的步骤和要提交的工作成果。

图1 基于工作过程的软件项目开发综合实训流程

2.4 不同课程覆盖

按照工作过程导向设计原则,将整个软件开发过程分解为递进的6个实训情境,每个实训情境覆盖了不同的课程内容。表1列出了每个实训情境对七门主干课程的覆盖情况,可以看到,它彻底地克服了传统的课程体系只重视每门课程自身的实验,缺乏覆盖不同课程,串联不同知识和技能的综合性实验的重大缺陷,它使得相对独立的各门课程整合在一起,使整个实训成为一个有机的整体。这样的训练能使学生将以前的所学融会贯通,能有效地培养学生的综合应用能力和创新能力。

3 基于工作过程的高职软件项目开发综合实训的实施

3.1 实训项目举例

依照确定项目的两个原则,我们把为我院开发“教学资源管理系统”定为综合实训的第一个项目,要求运用Struts、Hibernate和Spring三个框架,开发一个满足J2EE架构的多层的企业应用。

该项目的业务需求是“主要完成对多媒体课件和各种多媒体素材资源的管理,方便对各种电子教学资源进行分类维护,包括浏览,查询,下载;为教师提供一个方便快捷的课件渠道,把制作的课件或搜集的素材上载到该系统,实现资源共享。本系统分三级用户:系统管理员,教师用户、普通用户(包括学生);包括以下四个方面的功能:普通用户资源浏览和下载;普通用户资源检索;教师用户资源上载;管理员系统维护”。

项目开始时,教师只给出较为粗略的业务需求,给学生留有足够的发挥空间。因为“教学资源管理系统”就是为学生和教师服务,非常贴近学生的学习生活,理解起来没有任何障碍。至于界面做到什么样子,功能做到何种程度,留给学生在撰写详细的需求分析报告时去确定,教师需要把关的是工作量和技术难度,不能太简单而达不到实训的效果,也不能太难无法实现而挫伤学生的积极性。

3.2 实训组织方式

实训采用4个人一组,每人负责一个方面的功能开发,每组设一个项目组长,项目组长除负责一个方面的功能模块开发外,还负责各模块集成。由项目组共同提交一份需求分析报告。个人一旦选择某方面的功能开发,就要全权负责该部分的设计、编码和单元测试。此外,在测试情境中,开发小组进行角色转换,变成测试小组,选择别的小组开发的软件进行测试。

3.3 实训进度安排和任务要求

本综合实训历时一个月,共72学时(4周*18课时),进度安排如表2所示,各院校可根据自己的情况作适当调整或根据需要增加学时。下面是每个情境的具体步骤、任务要求的详细描述。

3.3.1 情境1:需求分析

本情境的典型工作任务是撰写详细的需求分析报告。

(1) 首先老师对实训项目提出业务需求,讲解应用的环境、功能要求、技术要求以及实训组织方式。

(2) 实训小组组成,组合出每个小组的成员,选出项目小组长。

(3) 每个小组对功能模块分工分配,确定每个人所承担的功能模块。

(4) 各小组讨论需求分析,每个人撰写模块的详细需求分析报告。

本情境结束后,要完成以下任务:

老师要汇总出小组划分、成员分工;

项目小组提交一份详细的需求分析报告。

3.3.2 情境2:搭建开发环境

本情境的典型工作任务是搭建J2EE开发环境。我们选择的开发环境为:

操作系统:Windows NT /Windows XP

Java 平台:JDK1.6 以上

服务器:JBOSS 4.0.4

数据库服务器:MySQL 5.0

开发平台:MyEclipse 5.5

建模工具: Rational Rose

单元测试:Junit

功能测试:手工测试

(1) 首先老师对开发环境进行讲解;

(2) 学生在自己的机器上完成以下任务:安装JDK环境、安装JBOSS服务器、安装MySQL服务器、安装MyEclipse集成开发工具、安装Rational Rose建模工具、安装Junit。

本情境结束后,要完成以下任务:

1) 学生在自己的机器上完成环境的搭建和测试。

3.3.3 情境3:设计

本情境的典型工作任务是撰写详细设计文档。

(1) 老师对需求分析进行点评,指出其中的问题和修改意见。

(2) 老师以其中某个模块为例,讲解所使用技术和技术线路。

(3) 进行模块设计和数据库库表设计,模块之间接口的定义,数据库中测试数据的准备。

本情境结束后,学生要完成的任务:

对需求分析报告进行修改和完善。

撰写详细设计文档,包括类图和时序图。

详细设计包括以下组件的设计:模型实现类和DAO组件;业务逻辑组件;MVC层组件;表现层组件

撰写数据库表的设计以及测试数据,数据库表设计包括库表名称、字段定义,测试数据以表格的方式形成。

3.3.4 情境4:编码

本情境的典型工作任务是依照设计进行代码编写,以及单元测试。

老师对学生的模块设计和库表设计进行点评,指出其中的问题和修改意见。

在编码过程中,老师要对学生进行指导,帮助解决问题。学生之间应互相配合,及时修正模块设计中的错误。

本情境学生要完成的任务包括:

修订详细模块设计和数据库库表设计;

用测试数据填充数据库;

制定编码进度;

模型实现类和DAO组件的编码和测试;

业务逻辑组件的编码和测试;

MVC层组件的编码和测试;

表现层组件的编码和测试。

3.3.5 情境5:系统集成和测试

本情境的典型工作任务是小组模块集成和功能测试。

(1) 小组成员之间相互配合,完成整个系统的集成。

(2) 选择另一个小组开发的系统,根据他们的需求分析报告,撰写测试用例。

(3) 进行功能测试并提交测试报告。

本情境完成,学生要完成以下任务:

将小组内各成员开发的模块进行系统集成;

选择另一个小组开发的系统撰写测试用例,进行功能测试,并提交测试报告。

3.3.6 情境6:项目

本情境的典型工作任务是部署项目、提交成果。

(1) 学生将实训成果进行演示

(2) 学生提交可以部署的包和按工程组织的源代码

(3) 老师对各个项目小组的成果进行考评。

(4) 老师对整个实训进行点评。

本情境完成,学生要提交以下程序和文档:

源代码和可以部署的包

实训报告

4 新的综合实训模式对教师提出了更高的要求

基于工作过程的高职项目开发综合实训,覆盖面广,综合性和工程实践性强,要求按照软件工程的要求,指导学生进行软件项目开发实训,因而对指导教师的教学素养、主导作用、工程实践经历提出了更高的要求。为此我们组建了一支以具有工程实践经验的核心教师为首,由各科任课教师组成的教师团队。进入实训项目的教师必须首先对项目本身有足够的认识和理解,并且亲自做过,才能在其参与指导的实训情境中指导学生完成该情境所指定的典型工作任务。而核心教师经历过企业软件开发项目的全过程,熟悉软件开发项目的管理过程,熟悉软件开发程序的设计规范、调试过程、软件质量测试方法,以“项目经理”的身份指导学生进行软件开发实训,其关键作用是不可置疑的。

同时,新的综合实训模式必须有新的教学观念、讲授模式和管理模式。在实训过程中绝对不能再是“教师讲授学生听”,而是以学生为主体,以任务为驱动,教师重点放在讲解每个任务的需求,完成该任务所要采用的知识、方法、工具和步骤,然后由学生自己进行分析、建立问题模型,自己掌握开发的进程。教师则更象一位项目经理,控制项目进度,评定软件质量。

5 结束语

基于工作过程的高职项目开发综合实训,是一种全新的软件项目开发综合实训模式。该模式以工程项目贯穿始终,以软件工程思想贯穿全线,围绕学生完成一系列递进的典型工作任务来组织实训内容,覆盖不同课程串联不同知识。该模式是工作过程导向在软件技术实训教学上的运用,对当今高职院校进行课程改革具有重要的参考价值,同时对指导教师提出了更高的要求。

软件测试实训总结篇(8)

中图分类号:G420 文献标识码:A 文章编号:1009-3044(2012)30-7258-02

近几年来,计算机信息技术发展迅速,我国的IT行业开始向国际化、规范化迈进。以往只重视软件开发而忽视软件测试的情况正在改变,软件测试行业开始迅速发展。

国外小一些的软件企业,软件开发与测试人员之比基本上是1:1,微软公司更是达到了1:2,软测试人员规模远超过开发人员的规模[1]。尽管一些国内大型软件企业开始重视软件人才的合理配置,但有的企业其比例也就只有10:1。软件测试工程师闹人才荒[2],中高级测试员紧缺的现象已十分明显。

据统计,国内软件测试工程师的缺口为20万人左右,这一点从51JOB的招聘信息中可见一斑。近两年,软件测试工程师的需求和待遇都达到了历史新高。

然而与当前软件测试行业如火如荼的现状极不协调的是当前软件测试培训领域的现状[3],从事软件测试工程师培训的专业机构寥寥无几,而且价格昂贵。大学里几乎没有软件测试专业,部分院校开设《软件测试》这门课程面临三方面的问题,一是软件测试教材知识片面。二是内容枯燥,学生不感兴趣。三是教师教学经验严重不足。面对软件测试人才的社会需求紧迫性,人才培养单位应该扩大软件测试人才培养规模,总结软件测试知识点,改革教学方法,培养学生兴趣,提高培养质量。

1 软件测试课程教学方法探讨

针对以上问题,在教学中应采取以下解决方法:

1.1 融合软件测试知识点,分阶段教学

目前,国内的软件测试教材只涉及了部分基本理论知识,不够全面,介绍的软件测试工具也相对落后一些。针对这种情况,任课教师首先要融合多本软件测试书籍内容,总结出软件测试所涵盖的知识点,更新软件测试发展情况。

其次,根据学生学习过程分阶段教学[4]。第一阶段是基础阶段,让学生掌握软件测试基础理论知识和软件测试核心技术,以及常用测试工具的操作。第二阶段是项目综合实训提高阶段,在掌握基础理论的前提下,加强综合测试技术在项目实训中的运用,针对不同的开发阶段,撰写各开发阶段相应的文档,并制定相应的测试计划,设计典型测试用例,使用不同的软件测试技术和测试工具,完成不同的测试目标。最后是培养学生自主学习阶段,介绍软件测试最新的技术与发展方向,引导学生对基本技术向纵深方向思考。同时向学生提供软件测试方面重要的会议、杂志、论坛、网站,引导学生课下查阅学习资料,鼓励学生自我学习。

1.2 改革教学方法,采用案例驱动教学

大部分高职院校学生基础差、学习积极性主动性不强、自制力不高。在课堂教学活动中,如果继续采用传统教学方法,很难激发学生学习兴趣。应该采用案例教学方法[5],将《手机信息管理系统》、《学生图书借阅系统》、《学生信息管理系统》等案例资料发给学生,学生拿到案例后,在教师的引导下,课下先要进行消化,然后查阅各种他认为必要的理论知识,理解知识并思考提出解决问题的方法。课上教师答复学生的问题,并引导学生更深层次的思考。通过这种方法充分调动学生的学习积极性,提高其学习兴趣,使学生既学会理论知识分析又学会用理论知识解决实际工程的问题。

1.3 采用软件测试项目综合实训的实验教学模式

开设综合性的软件测试课程实验,按软件企业项目管理和开发模式,进行软件测试项目实训[6],培养学生的创新意识与实践能力。将班内学生分成若干个测试小组,每小组成员不超过7人,每组分配不同的软件项目,如工资管理系统、图书管理系统、学生信息管理系统、酒店预订系统等。小组成员模拟与体验软件测试工程全过程工作职位和角色,使学生全过程适应工作职位的要求。

各项目小组在测试项目过程中,针对不同的开发阶段,撰写各开发阶段相应的文档,并制定相应的测试计划,设计典型测试用例,使用不同的软件测试技术和测试工具,完成不同的测试目标,并进行回归测试,以实现软件测试各单项专业知识与技能整合运用的目标。在整个测试过程可以体现“学以致用”的思想,实现理论与实践相结合。

各项目小组通过演练项目开发,不仅让同学们切身体会到软件开发的整个过程,还让同学们对软件开发中各个角色有充分的了解,同时也更深刻的体会到团队合作的重要性。

1.4 加强校企合作

坚持“走出去,引进来”的思想,经常邀请企事业、软件公司里一线软件测试人员或软件测试组长和项目经理,来学校为学生做定期讲座,或定期对教师进行培训。也可以利用假期或其他时间,安排教师学生进软件公司,一起跟进项目开发测试。目前本校已经连续两年安排教师学生去齐鲁软件园,进公司一起进行项目开发测试工作。效果不错,参加实训的软件项目综合实训的教师软件开发测试能力有较大提高,并且学到一些最新最实用的软件开发测试技术。

1.5 改革课程考核方法

软件测试这门课程兼具理论与操作,目前大部分院校考核方式与理论考试为主,这种考核方式会促使部分学生考前抱佛脚,考前死记硬背,降低学生学习的积极性。除了理论考核之外,还应注重学生综合知识和应用能力方面的考核。建议课程考核应该包含平时作业、课堂表现(发言与讨论)、实验、综合实训、理论考试这几部分。采用这种考核方式,促使学生加强对知识的理解和运用,课堂踊跃发言,提高学习的主动性和创造性,以及动手操作能力。

1.6 适当加入一些最新的游戏测试

高职院校学生大部分的课余时间都是泡在网吧里玩游戏,有很多同学一有时间就玩手机游戏。学生对最新的游戏内容比较感兴趣,游戏测试也是软件测试的一方面,教师可以在课堂教学中加入一些游戏测试内容,提高学生的学习兴趣。

1.7 采取双证教育

实行“双证教育”模式[7],将学历教育与技能学习无缝对接,学生毕业后不仅能获得国家劳动部高级职业技能认证证书、拥有扎实的操作技能,同时还将获得国家承认大学学历证书。双证教育使学生专业能力更强、职业素养更高、综合素质更好、更符合企业用人标准。

测试工程师有高级测试工程师、中级测试工程师、初级测试工程师。根据高职学生的能力特点,应该把高职学生定位在初级和准中级测试工程师,具有一定的设计方案的编写能力,能利用测试工具完成一定的测试任务,并能够执行功能测试。

2 总结

通过在本校近五六年的软件测试教学实践,发现软件测试教学方法需要不断改进,融合软件测试知识点分阶段教学,采用案例驱动和双证教育模式,加强校企合作和教学实践这些措施能较好地提高学生学习兴趣和动手操作能力,教学质量也有较大提高。软件测试人才培养刚刚起步,很多工作处于摸索阶段,需要学校、教师和学生的共同努力,为社会培养出大批合格的软件测试人才。

参考文献:

[1]程茂,温静,吴玉洁.《软件测试》课程的教学研究[J].河北师范大学学报/教育科学版,2010(4):117-120.

[2] .

[3]赵斌.软件测试技术经典教程[M].北京:科学出版社,2011(3).

[4]葛汉强.高职《软件测试》课程分层教学之实践[J].职业教育研究,2011(8):105-107.

软件测试实训总结篇(9)

中图分类号:G642

文献标识码:B

文章编号:1672-5913(2008)02-0063-04

1专业构建背景

1.1软件产业发展的需求

软件产业发展和技术进步带来了对软件测试专业人才的迫切需求。在国内,仅在2007年2月的网上招聘信息搜索中,广州、深圳两地招聘软件测试工程师的IT企业数量就超过了60多家,企业的规模涵盖了大、中、小各种类型,人数超过了六七百人,这在近几年的IT人才招聘广告中是不多见的,反映出软件企业测试人才的严重短缺。高级的软件测试人才更是“一将难求”。这种趋势引发了专业性的软件测试机构和组织的迅速产生和发展,企业与社会培训机构举办的各类软件测试技术培训正成为IT技术培训的新热点,其驱动力正是来自软件产业对测试人才的强劲需求和不断提升的人才价值。根据对软件业未来的发展预测,测试人才的需求将持续保持旺盛的态势,就业前景十分看好。其实,这也从另一角度反映出现代软件开发与测试的关联关系,软件产品追求工程质量的趋势。

1.2软件测试人才的供需矛盾

国内软件业普遍存在软件测试人才的供需矛盾:一方面,企业对软件测试人才有大量需求,但又苦于招聘不到合格人才;另一方面,许多高校应届毕业生和开发人员有志从事软件测试工作,却因为没有测试经验而被拒之门外。产生这种矛盾的根本原因是由于我国软件业长期“重开发、轻测试”,很多中、小型软件企业基本没有设置专门的测试部门和组成专业队伍,这导致软件技术人才不具有测试的知识和工作实践能力,同时,企业也缺乏相关的培养机制,一旦需求(如软件外包、产品系列化、规模化、专业化),即造成业内的软件测试人才严重短缺。

与此同时,国内高校计算机教育(本、专科)也忽视了这一领域,截至目前,甚至大多数高校的软件与计算机类专业中都未曾设置专门的软件测试课程,所以应届毕业生自然无法适应和胜任软件测试的岗位工作,也是属于“情理之中”的事情。

1.3国内高校软件测试教学现状分析

国内高校软件测试教学总体属于起步阶段,根据近几年的专业教学调研与交流表明,已开设了软件测试课程的院校大约只占计算机类或软件专业院校总数的6~8%,开设软件测试专业的院校更是“凤毛麟角”。这一方面表明了高校办学自觉适应社会和行业需求,促进技术发挥和进步的意识依然不够强烈,积极培养软件职业技术人才的认识不到位,另一方面,也反映出针对软件测试领域,对其学科与技术的研究、教学的投入不足,人才培养的缺失,最显现的现象是这方面的师资严重缺乏,在软件产业大发展和软件测试技术发展迅速的形势下,不能为社会培养这方面的高级人才、适用人才。

当前,针对软件测试职业岗位的工作需求,一些软件企业与行业的培训机构在积极开展测试人才培训工作,但培训内容比较单一、且完全实用化,基础建立不足,呈现了社会培训“接力”高校计算机类专业及毕业生的过程,经过短期培训而“应急”企业需求。从培训系列化、职业化的测试人才角度考察,这种培训属于非专门化、专业性的培养和教育。

2专业构建思路

2.1软件测试职业岗位分析

要落实好高职教育“以就业为导向”的办学方向与策略,专业培养目标的确定应是以职业岗位分析为前提的。软件测试职业是软件行业新兴的职业门类,目前规范的软件企业都在开始建立软件测试职业体系,逐步形成软件测试员、软件测试工程师、高级软件测试工程师、测试项目经理、测试部门经理等级的职业系列岗位。这其中,软件测试员和软件测试工程师作为软件工作的“主力军”,应理解软件测试基本理论,熟悉软件测试标准,掌握实际测试技能,承担和完成具体测试任务。而高级软件测试工程师则要求担任较复杂的软件分析、测试策略制定等任务,进行测试规划、测试用例设计和管理以及对测试结果进行分析。测试项目经理和测试部门经理则更偏重于管理,要求具备深厚、宽广的软件测试理论和质量管理知识与能力,承担对整个测试流程的管理和监督任务,具有能够使得整个测试团队或部门高效工作的组织管理能力。这说明软件测试职业岗位的分布已具有层次性,对报考和学习软件测试专业的人来说,可以设计职业生涯的规划。

仔细分析任何一个成熟的软件企业,为完成软件产品的开发都需要三类人才:第一类是懂技术、行业知识和管理的软件高级人才,即“软件金领”;第二类是系统分析及设计人员,称为软件工程师,即“软件白领”;第三类是能够熟练编程的程序员,即“软件蓝领”。类似地,软件测试行业的人才同样也可划分为三类:第一类是作为高级软件测试人才的测试项目经理和测试部门经理,可称为“测试金领”;第二类是具有丰富实践工作经验的高级软件测试工程师,可称为“测试白领”;第三类是承担基础测试工作的软件测试员和软件测试工程师,可称为“测试蓝领”。一个成熟的软件产业从人力资源结构上应该呈金字塔形状,不仅需要处于顶端的、决定产业方向和边缘领域开拓的人,也需要从事产业日常具体工作的人员,因此,位于金字塔底端的“测试蓝领”与“软件蓝领”都是软件企业中最能直接体现产品价值和创造利润的主力,也是需求数量最大的一类人才。

2.2专业人才培养目标定位

目前国内测试行业大量需求的是软件测试员和软件测试工程师,由于历史原因,测试人才的培养、培训属初级阶段,要建立一只庞大的“测试蓝领”队伍的任重而道远。社会需求是高职教育发展的最大动力,“以服务为宗旨”的职业教育理念就是要根据经济和社会发展的要求,培养多层次、多样化的技能型人才。作为高技能型软件技术人才培养中坚力量的高职院校,在软件专业人才培养方案中设立软件测试专业将是其办学的必然趋势。

高职院校的办学定位是服务于地方经济,在人才培养定位及专业设置上,更要及时了解地方经济的发展趋向,充分考虑地方经济对人才培养的需求,适时地更新专业设置,合理调整培养目标、课程体系和教学内容,以更好地服务于地方经济,同时学校在不断满足市场需求的同时,自身也得到更快的发展与提高。番禺职业技术学院位于广州,面向软件产业发达的广州地区和‘珠三角’办学。广州市政府已将软件与动漫作为新时期广州国民经济发展的支柱产业,区域性的软件产业园和企业将以更大的规模和更快的速度发展,培养高素质的软件测试专业技术人才成为我们刻不容缓的任务和职责,以满足学生就业和社会对此类人才的需求,为发展广州软件业服务。

通过对广东省高校(高职和本科)相关专业办学情况的调研,针对软件企业的需求和职业岗位做出分析,确定了软件测试专业的人才培养目标是:面向软件企业或其它各类企事业单位对软件测试人才的需求,以软件测试员和软件测试工程师岗位需求为导向,掌握软件测试理论知识和业界主流的通用测试技术,能够承担并完成实际测试工作任务,具有工程实践能力,并具有良好的职业道德、良好的团队合作精神和可持续发展能力等综合素质的高技能型软件测试人才。

3专业构建策略

3.1课程体系特征

高等职业教育倡导“能力本位”,以培养学生技术和职业岗位应用能力为主,具体体现为培养“基础理论知识适度、技术应用能力强、具备职业化特征”的专门人才。高职教育的这一鲜明特征,决定了软件测试专业课程体系的构建将坚持以培养岗位职业能力为目标,突出软件测试的职业特色,适应软件企业测试岗位的工作需要,培养针对软件测试技术应用的高素质技能型专门人才。

针对软件测试员、软件测试工程师岗位,以职业所需的知识和技能为先导,采用“逆向制定法”设计专业课程体系。即先根据测试职业工作内涵,分析对应知识、技能与素质要求,构造专业课程体系及层次,并建立课程标准,确立每门课程的知识与技能要求,进行内容的甄选与整合。建立以技术理论和技术应用为主线的课程体系架构,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。

软件测试职业特征决定了软件测试专业课程体系的知识覆盖面要求较广、并且较深。软件测试是一门动态的、交叉性学科,跨越软件工程的整个领域,进行测试工作的人员必须对软件开发的整个过程有相当的理解和掌握。软件测试工作主要针对的是由开发者编写的程序(这里的程序是广义概念,实际上涵盖所有软件开发过程中的每个环节),而且在测试过程中也需要编写、修改测试脚本等等,因此测试人员必须具有相当的程序阅读与编制能力;其次,任何一个被测软件都是运行在特定的系统环境下,包含了硬件和软件环境,测试人员必须掌握计算机系统软、硬件的基本理论与知识,网络系统的理论与知识,系统平台的知识与环境等等,内容十分丰富,要求对其具有一定的综合性的掌握与运用能力。因此,该专业课程体系中除了设置那些“看得见”的职业能力课程,如软件测试基础、软件自动化测试技术、软件测试管理等大类,以及分为面向对象的测试、基于WEB的系统测试、性能测试、嵌入式系统测试等几个类别,具体的黑盒测试技术、白盒测试技术等等,还需要开设那些“看不见”但会对专业能力培养产生决定作用的课程,如传统计算机科学与技术的专业基础类课程,如,计算机系统组成、操作系统、数据结构、计算机网络、关系数据库、软件工程等等,以及十分重要的程序设计类课程(C/C++程序设计、Java程序设计、Web应用开发技术等)。其次,课程体系还包含为从事职业工作必需的协作能力、沟通能力、职业态度训练的课程。

总之,在专业课程体系构建当中,对软件测试基础理论知识的涵盖原则是“必须的不缺”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”,使得学生通过专业课程体系的学习,能具备软件测试的必备专业知识和实际工作能力,能基本承担起软件测试的工作任务,为日后从事软件测试职业和专业持续发展奠定必须的理论与实践技能基础。

3.2教学资源建设

教学资源建设是专业教学的保障条件,在这方面的建设从四个方面着手,主要进行专门教材建设、实践教学环境建设、测试工程运用平台搭建、网络教学平台及资源建设。

软件测试是伴随软件工程过程的活动,是一项复杂、系统和综合性较高的工作。要真正认识领会软件测试的知识和掌握其技能,能够担负起实际工作任务,需要通过大量的实践教学活动,以“学中干、干中学”的方式培养学生的核心专业技能,实现工学结合。因此,在软件测试专业构建中,需要搭建一个适合实践教学需要和体现岗位工作内容的实践教学环境,配备相应的软件测试工具与测试平台,呈现真实的软件企业环境与岗位工作氛围。

为此,我们在2004年底就建成了集教学、培训、开发、研究四大功能于一体的软件技术与工程中心,拥有250多个工作席位,包括项目经理/工程师席位30个,技术工位220多个(学生席位),配备高性能服务器群,包括Linux服务器、Web服务器、数据库服务器、Websphere中间件服务器等,实现了中等软件企业规模的专业技术实践教学基地。该中心引入软件企业的构建模式和运作机制,系统功能完善,软、硬件设备配置齐全,购置和配备了IBM Rational Suite组件、MI WinRunner、JUnit等与业界主流运用同步的测试工具及平台,可实现校内外资源的充分获取与信息数据的共享,使教学环境与氛围完全接近企业工程环境及运行条件,为测试实践教学和技术服务提供了优良环境和条件,提供完全“实战型”、“工程化”的教学环境。

3.3专业师资队伍培育

软件测试专业作为一个新型计算机类专业,师资问题首先要解决。截至目前,高校内的大部分计算机专业教师较少系统的开展软件测试理论研究和测试工程的实践,因此,软件测试专业知识不多,教学经验几乎没有。基于这种情况,建设一支能够满足专业教学和工程需要的师资队伍,成为了软件测试专业构建的迫切任务。针对这个普遍问题,该专业师资队伍的建设可以通过引进和培养两种途径实现,采取“请进来”与“走出去”相结合的方式进行。

在师资引进上,我们的做法是一方面通过公开招聘引进具有丰富实践经验的软件测试高级人才,加强校内自身师资力量;另一方面则通过聘请来自企业和行业一线(如IBM 广州分公司、广东省软件评测中心、广东省Linux公关服务技术支持中心等企业与机构)业界的专家担任兼职教师,以开设讲座、直接授课、面对面交流等多种方式培训指导师资,使教师能够加深对软件测试理论的认识,感受测试技术在软件工程实践中的运用和技术的新发展。

对内的师资培养培育,主要采取系统地测试理论知识学习和有针对性的专项业务培训,学习和研究国外高校软件测试课程,学习和研究软件测试技术与理论,深入理解和掌握相关理论知识、奠定扎实基础,具备工程实践能力,提高专业水平和业务能力,承担起专业课程的理论与实践教学任务。2004年以来,多批次的选派教师参加由业内知名企业或行业组织举办的软件测试中、短期培训进修,组织教师参加软件工程、软件测试专业学术会议及各类教学研究活动,开展与知名软件企业的产学积极互动,与国内多所高校进行软件测试课程教学与测试实践的交流,同时,鼓励和督促专业教师每年至少到软件企业参加一个月的实践活动,提高教师的工程实践能力。

软件测试课程在我院软件技术专业中设置和开展教学已达4年,已有4届(6个教学班)的教学历程和经验,师资队伍通过“教学实战”得到了锻炼和成长,使专业水平与教学能力得到全面提高。

3.4教学模式改革

我们在软件测试专业构建初期就比较重视对传统学科教学模式的改革,这是缘于学科教育对于职业教育的诸多不适应。贯彻“任务驱动、项目导向”的教学策略,推行学生自主、探究性学习,采用“一体化”教学方式,实施以项目教学为导向的新型教学方法是软件测试专业新的教学模式体现。

改变传统的先在教室上理论课、再到实训室上实践课的分割模式,将实训场所设计成既能满足实践教学要求,又可在现场进行理论教学的布局。在组织教学的过程中,通过导向任务、讲解要领、操作示范演练、训练与逐个指导等环节,把培养学生知识与技能单元能力的过程设计为边讲边练的过程,注重理论知识与实践操作的穿插安排,做到理论教学与实践教学一体化,教学内容与实践内容一体化,调动和保持学生学习热情,保证教学质量与效果。

对专业课程体系中适合引入项目教学的课程,设计、规划教学项目,确定内容和流程,提出具体的要求和任务。通过引入这种理论知识学习和技术实践能力相结合的项目教学过程,达到校内学习和实际工作的一致性。这类课程的教学过程以实际项目为目标,围绕其确定的任务的解决策略和过程展开,即学生需完成规定的任务和规定的动作与步骤,以完成任务的质量、数量、时间等作为考核基本依据。在项目教学中,学生成为教学的主体,教师角色转变为“教练”身份,通过进行引导型的讲解、案例分析、测试“动作”过程示范、组织讨论等一系列互动交流形式,加深学生对知识的理解、对技能的掌握,培养逻辑思维能力和实际工作能力,建构知识体系。

4结束语

在高职院校中构建软件测试专业是源自对专业测试人才的供给远不能满足软件产业发展的需求而做出的一项办学创新。截至目前,广东省乃至全国已开办了软件测试专业的学校为数还不多,对于开办软件测试专业仍处于实践探索阶段。

收稿日期:2007-10

参考文献

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

[2] 贺平. 软件测试课程构建[J]. 番禺职业技术学院学报,2005,(2).

[3] 贺平. 项目教学法的探索实践[J]. 中国职业技术教育,2006,(22).

[4] 贺平. 软件测试课程开发[J]. 计算机教育,2006,(12).

[5] 贺平. 软件测试教程[M]. 北京:电子工业出版社,2005.

软件测试实训总结篇(10)

中图分类号:G420 文献标识码:A

0 引言

实训是职业技能实际训练的简称,是指在学校控制状态下,按照人才培养规律与目标,对学生进行职业技术应用能力训练的教学过程。基于案例的Web开发实训是软件技术(Java)专业的一门核心课程,旨在培养学生使用主流框架技术开发Java Web应用的能力。通过与企业工程师交流,借鉴主流软件开发企业的过程管理文档,课程中引入了项目过程管理方法,在课堂环境中模拟软件企业真实管理情景,注重软件开发过程管理。

1 过程管理的必要性

实训是对实际软件开发工作的一种模拟,早先我们主要是针对工作任务的模拟,要求学生在一定的时间范围内完成相应的任务,而对于过程管理不够重视。通常班级学生有40到50名,对每位同学的过程管理需要花费很多的精力,因此过程管理难度比较大,教师重点关注验收考核环节。为了有效地实行过程控制,需要找到一种简单的方法,便于教师对实训进行控制。过程管理要求实训过程可度量、可控制,可度量指可以对学生在实训中完成的中间结果进行评测和度量,可控制是指发现进度异常并做出调整。引入过程管理使学生在实训中了解企业的管理模式,在迈上工作岗位时可以适应企业要求。

2 过程管理实施

2.1 项目任务书

项目任务书详细描述项目的具体需求,项目开发过程中的特定要求,项目完成时间节点。Java Web应用开发任务书包括实训概况,实训功能,实训流程图和实训原型以及开发成员配置建议。实训概括是对实训目的、环境要求进行简单描述,功能是指实训中完成的系统功能,实训流程图展示了完成实训的步骤,实训原型使用原型工具开发出系统操作界面,便于软件开发人员与系统分析人员之间交流,开发成员配置是对该项目开发过程中人员配置的建议。

2.2 项目计划表

制定计划是整个项目管理过程中最重要的一个环节。计划表是项目开发前对项目开发进度的预估和安排,包括任务名称、工期、开始时间、完成时间和资源名称等。在Java Web应用开发中具体包括项目启动、任务书、开发团队成立、开发环境确认和熟悉、项目计划、程序设计、系统测试、项目审核等过程,期中程序设计又可以细分为数据库设计与开发、系统架构设计、系统模块设计与开发、测试用例设计等。项目计划表的制定需要依据项目任务书的具体需求、项目完成人开发能力、开发时间限制等要素来完成。项目计划的制定具有一定的限制性,计划由开发小组完成初稿交教师(项目经理)审核,审核未通过要求该小组内部讨论修订,审核通过后由教师(项目经理)下发该文档,在实训中对项目的检查就是以项目计划表作为依据。

2.3 日报表

日报表是软件研发工程师(学生)每天工作情况的总结。软件研发工程师(学生)对比项目计划表规定的每日工作内容,找出差距并给出整改方案,日报中还包含次日工作安排。日报表是整个过程控制中的较为重要的一个环节。教师(项目经理)通过审查研发工程师(学生)的日报表及时发现问题并做出相应处理,实现过程控制。当日报表中反映出来某位学生不能及时完成任务,则需要与之沟通,了解原因,给予必要的指导。

2.4 审核问题一览表

在项目开发过程中遇到问题是不可避免的,关键是需要及时发现、记录和解决。问题的解决过程就是学习的过程。问题记录项目包括项目名称,项目编号,审核类型,项目实施阶段,审查对象,问题发现时间,不一致性问题描述,不一致问题严重程度,不一致问题优先级,解决期限,解决措施,当事人,验证日期及结果,不一致问题出现次数,处理状态等。

审核问题一览表不仅对学生具有意义,便于在解决问题过程中学习,同时也是课程考核的依据。根据审核问题一览表中的记录,我们可以判断学生对于软件设计开发过程中的思考是否深入。将所有学生的审核问题一览表总结起来就生成软件开发注意事项,提示学生在开发过程中容易出现的问题。

2.5 测试实验项目表

测试实验项目表中包括项目模块名称、预测结果说明、执行结果描述、执行结果、试验人、日期、BUG描述、对应人、对应日期、确认结果、确认日期等。其中“项目模块名称”简单描述被测试模块名称,“预测结果说明”描述正常情况下的预期结果,“执行结果”描述该模块测试的结果,“BUG描述”记录测试过程中遇到的BUG,“对应人”表示解决该BUG的人,“对应日期”表示解决问题的时间。测试实验项目表是对项目的测试进行详细描述。

3 结束语

要实现过程可控,学生需要掌握管理文档的使用方法,并按照要求切实执行,具体实施过程中注意以下两点。一是加深对文档的理解。对学生来说使用和编写企业管理文档具有一定的难度,在项目开发前,需要详细讲解各种管理文档,用真实的案例做介绍。学生只有充分理解,才能在学习中灵活应用。二是及时审核。许多学生对管理文档不重视,往往在实训的最后两天做总结性的编写,用项目的实际进度表代替项目计划表,对项目开发不做规划,这种现象将导致过程管理失败。因此教师在实训中需要不间断审核学生提交的文档,从文档中发现问题并及时反馈,保障实训有序进行。

国家示范骨干高职院软件技术及专业群建设优质核心课程《Java Web应用开发》课程建设项目资助,南京信息职业技术学院课程改革专项《基于框架的Web开发实训》项目资助

参考文献

上一篇: 金融统计分析论文 下一篇: 导入设计论文
相关精选
相关期刊