欢迎来到杂志之家!发表咨询:400-888-7501 订阅咨询:400-888-7502 股权代码 102064

测试工程师试用期工作实用13篇

测试工程师试用期工作
测试工程师试用期工作篇1

Design and Achievement of Automation Software Testing Based on

Architecture with Three-layer Testing Script

HUANG Mao-sheng,YANG Chun-hui

(The 5th Electronics Research Institute of MII, Guangzhou 510610, China)

Abstract: To reduce the maintenance workload of testing script, and improve the success rate and return on investment of automation software testing, the method to design and realize the automation software testing based on the architecture with three-layer testing script (reused script, object mapping script and testing script) is brought forward. The design and implementation steps of the architecture with three-layer testing script are introduced. The results of application in several projects show that the method is simple and effective, can achieve the reuse of testing script in the different projects, and increase the return on investment of automation software testing effectively.

Keywords: software testing; automation testing; architecture with three-layer testing script; testing script

0 引 言

随着软件规模越来越大,其步复杂程度越来越高,软件测试的工作量也越来越大,在软件测试工作需要更多时间的同时,项目周期却比以前大大缩短,此外,原型的迭代需要大量的回归测试,手工完成测试几乎不可能,自动化将是获取可接受的测试覆盖率的一种有效途径,也是软件测试发展的必然趋势[1]。

近年自动化测试工具也得到了广泛的应用,已经可以实现大多数情况下的测试用例的自动化执行。国外很多的软件开发机构都尝试过在项目中引入自动化测试,但统计数据表明“80%的自动化测试尝试是失败的”[2],而导致失败的主要原因之一就是自动化测试脚本的维护工作量随着软件版本的更替和需求的改动越来越大,最终导致自动化测试投入回报比骤降而不得不放弃[3]。为解决自动化测试脚本所面临的这一问题,本文提出了一种利用三层结构来组织测试脚本来提高自动化测试的成功率。

1 三层脚本构架设计

三层脚本结构框架图见图1所示,自动化测试脚本分重用脚本、测试脚本和界面对象映射脚本三层,三层脚本分别实现不同的角色和功能[4]。根据三层脚本构架的自动化测试设计与实现框架,软件开发工程师、测试工程师、自动化测试工程师都可以依据软件需求规格说明和设计说明文档同步开展工作,软件开发工程师进行被测应用对象的编码开发,测试工程师设计测试用例和测试数据,自动化测试工程师则进行测试脚本以及重用脚本的设计工作,最后自动化测试工程师对已经完成开发的被测对象应用进行界面抽象,将前期设计的测试脚本与被测试对象关联起来,实施自动化测试执行与结果比较,且三层构架的自动化测试设计技术的实现与具体测试工具的无关,常用的自动化测试工具如Winrunner,Robot等[5],各个角色的分工见表1所示。

1.1 重用脚本

重用脚本作为底层脚本,一般分为操作脚本、输入脚本、验证脚本等,主要实施一些常用的测试操作,如文本内容录入、菜单选中、列表框内容选择、按钮单击、预期输出结果验证等。对常用的软件使用操作,可以针对每个类型控件设计一个通用脚本,控件识别ID和相关联操作(单击、输入、选中等)作为该脚本的输入参数。对测试预期结果验证也可以使用类似的方法设计针对特定控件的验证脚本,不同之处在于其输入参数是验证的属性和验证结果值。由于所有软件的使用和测试都是这些基本操作的组合,因而在不同项目之间,重用脚本是一致的,不同的是测试所使用的测试数据从不同的数据文件内读取[6],因此,这些脚本可以在不同项目中实施共享,实现一次编写,多处共享,减少脚本的数量,从而降低脚本的维护工作量。

1.2 测试脚本

测试脚本实施对特定功能点和业务功能进行测试,是针对特定被测试软件项目的脚本[7],其主要功能包括:从测试数据文件内读取测试数据,调用重用脚本和对象映射脚本将这些数据输入到被测试软件的特定对象中,并验证测试结果与预期输出的一致性,记录Log和Bug现象。它是由重用脚本依据一定的业务流程和特定操作流程组成。

1.3 界面对象映射脚本

界面对象映射脚本实现界面对象逻辑名与被测试软件真实界面对象之间的映射关联[8]。界面对象映射脚本是自动化测试的关键,它可以使测试工程师和自动化测试脚本开发工程师进行工作分工,实现测试开发与软件开发的同步。在软件需求确定后,测试工程师就可以开发测试用例,而自动化工程师根据与测试工程师约定的界面对象的逻辑名编写测试脚本,最后,测试工程师开发的测试用例与自动化工程师开发的测试脚本通过界面对象映射脚本关联成一个有机的自动化测试脚本集。

1.4 测试数据

测试工程师通过与自动化工程师约定的数据识别格式和顺序编写测试数据,测试数据文件内包含了测试输入数据和预期结果[9-10]。

2 三层构架自动化测试的实施步骤

如图1所示范例,使用上述三层构架的脚本组织技术实现测试自动化,进行“客户联系信息”功能测试,其一般实现过程分为:界面抽象和约定、用例设计和脚本设计、数据驱动的实现、界面对象识别录制和映射、测试执行等5个阶段。

2.1 界面抽象和约定

界面抽象和约定的角色工作内容如表2所示。

在进行软件需求分析和设计时,软件设计师、测试工程师和自动化测试工程师需要对界面和抽象进行约定(见表2所示),软件设计师确定程序要输入的数据内容(客户联系信息):客户姓名、公司名称,职位、部门、移动电话、办公电话、传真、电子邮件、邮政编码、通信地址,软件测试人员从设计人员那里得到上述输入数据内容,然后利用界面抽象确定这10个输入框和1个确定按钮、取消按钮的逻辑名分别为:EditBoxName,EditBoxCompany,Edit-BoxJob,EditBoxDepartment,EditBoxMobilePhone,EditBoxOfficePhone,EditBoxFax,EditBoxE-mail,Edit-Box-Postode,EditBoxAddress,PushButtonOk和PushButtonCancel。自动化测试工程师在教本设计时,对上述界面对象输入赋予不同的输入数据存储变量ID。

2.省略,123456,河南路118号,对应的输入对象和确定按钮逻辑名分别为EditBoxName,EditBoxCompany,EditBoxJob,EditBoxDepartment,EditBoxMobilePhone,EditBoxOfficePhone,EditBoxFax,EditBoxE-mail,EditBoxPostode,EditBoxAddress,PushButtonOk和PushButtonCancel,则测试用例可以设计为图2所示。

图2 客户联系信息输入测试用例对应的自动化测试脚本如图3所示。

2.3 数据驱动的实现

从上述的自动化脚本可以看出,脚本虽然使用了以前设计的一些重用脚本进行测试数据的输入,但输入的数据还是和脚本绑定在一起的,也就是脚本和数据是硬编码的,脚本虽然做到了重用但仍欠缺灵活性,为此要使用数据驱动,自动化测试工程师将对应的输入对象和确定按钮分别定义输入数据存储变量ID为EditBoxName,EditBoxCompany,EditBoxJob,EditBoxDepartment,EditBoxMobilePhone,EditBoxOfficePhone,EditBoxFax,EditBoxE-mail,EditBoxPostode,EditBoxAddress,PushButtonOk,并在脚本中将上述的输入内容使用变量来代替,变量的值则从驱动数据文件内读取,则可以做到多个测试用例共用同一个自动化测试脚本,因此上述脚本修改为如图4所示。

2.4 界面对象识别录制和映射

在程序开发完成提交测试时,需要使用测试工具的录制功能对界面对象进行识别,并将测试工具对界面对象的识别标识与上述确定的界面对象逻辑名进行关联,并将关联文件作为测试执行脚本文件的文件头,使用类似C语言的#include命令包含在执行脚本内,即可将前期设计的用例、自动测试脚本、驱动数据和应用程序实物关联成一个可以进行自动化测试的有机整体,形成自动化测试集。

要测试图1的范例,利用Rational Robot直接录制输入一组数据为:Name,Company,Job,Department,MobilePhone的脚本如图5所示。

抽取录制脚本中对程序界面对象的识别标志,使界面对象的逻辑名和录制脚本中对界面对象的识别标志形成对应的映射关系,并将映射关系保存成一个脚本头文件,修改后形成的脚本头文件内容如图6所示,假设该头文件的文件名和保存路径为:c:\globals.sbh,则在自动测试执行脚本前加入命令:'$Include: "c:\globals.sbh",将该对象识别映射文件包含进去即可。

3 实例应用研究

通过在客户管理系统(见图1所示)和学生成绩管理系统的测试实施了基于三层脚本构架的自动化测试技术,2个项目共用了大部分的重用脚本,如WindowsSelect(),Text_input(),Button_Click()等,部分的用例测试脚本和测试驱动数据也实施了重用。在采用了基于三层脚本构架的自动化测试技术后,不但客户管理系统测试节省了原来手工测试的35.6%的测试执行时间,学生成绩管理系统在利用了客户管理系统自动化测试脚本和测试驱动数据,在整个测试周期上缩短了21.3%。

4 结 语

鉴于影响自动化测试成功与否的一个重要的影响因素是脚本的维护,三层脚本结构实施自动化测试使测试脚本与测试数据的彻底分离,实现了多个测试用例共用单个测试脚本,测试用例的增减、测试数据内容的变动无需对测试脚本进行大量的修改,甚至可以实现不同项目间的脚本重用, 大大降低测试脚本的数量以及维护工作量,从而提高自动化测试的成功几率。此外,利用三层结构组织自动化测试脚本,可以在软件需求确定后,在软件设计工程师进行软件设计的同时,测试用例设计工程师和自动化测试脚本设计工程师并行进行测试用例和测试脚本的设计,测试自动化与测试设计分开,利用不同人员的特点、优势,合理安排资源,从而缩短项目周期。

参 考 文 献

[1] FEWSTER Mark.软件测试自动化技术与实例详解[M].北京:电子工业出版社,2001.

[2] 史永莉.软件自动化测试方案的效益分析[J].微计算机信息,2010,37(6):226-227.

[3] 阚红星.改进的软件自动测试投资回报分析[J].计算机工程与应用,2010,34(3):71-73.

[4] 王磊.关键字驱动的自动化测试框架设计与实现[J].电子测试,2010,41(8):91-97.

[5] 胡滨.软件自动测试工具的研究 [J ].现代电子技术,2007,30(18):105-107.

[6] 张少博,罗省贤.自动化测试脚本运行控制方法研究[J].电子测试,2008,38(6):34-38.

[7] 杨德红.软件测试自动化在黑盒测试中的应用[J].现代电子技术,2008,31(18):97-99.

[8] 姚实颖.软件测试自动化中建立可维护脚本的技术[J].计算机工程,2008,31(11):79-81.

[9] 吴立松.基于构件的测试脚本复用技术研究[J].计算机应用研究,2009,40(4):129-132.

测试工程师试用期工作篇2

软件测试工程师绩效考核是IT企业人力资源管理的中心环节,是测试人员薪酬、晋升、人事调整、职称评定等决策的基础,并且为企业制定测试人员的培训、开发计划及长期职业生涯发展规划提供依据。测试工程师绩效考核的有效性直接影响到人力资源制度的激励效果和企业管理的公平性,并对测试人员的工作满意度有重要影响。然而,现实的绩效考核工作往往不尽如人愿。许多测试工程师遇到考核时深感不安,产生焦虑,害怕甚至反对考核;很多测试人员认为考核是走过场,抱着无所谓态度。理论上的必要性和重要性与现实中的困惑形成强烈反差。为此,我们有必要对测试工程师绩效考核存在的问题进行反思,从而构建能满足企业和测试工程师共同发展的绩效管理体系。

一、软件测试工程师绩效考核存在的误区及其分析

(一)考核定位模糊并存在偏差

考核定位,就是通过绩效考核解决什么问题。考核定位模糊主要表现在考核缺乏明确的目的,仅仅是为了考核而进行考核,这样做的结果往往导致考核流于形式。考核定位偏差主要体现在片面看待考核的目标上,对考核目的定位过于狭窄。目前许多IT企业绩效考核的目的仅仅是为了期末发奖金或津贴,将考核定位于确定利益分配的依据和工具。

(二)重绩效考核轻绩效管理

绩效考核和绩效管理既有本质上的区别,又有一定联系。传统绩效考核以管理者为中心,强调服从和外部控制,着眼于过去,注重成果,是一种被动反应、事后解决问题的管理方法。现代绩效管理则以测试工程师为中心,强调承诺和自我控制,着眼于过去、现在和将来的有机统一,是一种主动开发型、在过程中解决问题的管理系统。绩效管理是一个完整的系统,绩效考核只是绩效管理中一个不可或缺的组成部分和环节,绝不能将其等同于绩效管理。

(三)重考核结果轻考核过程

绩效是工作成果与工作行为的统一。许多IT企业重视对绩效中的工作结果考核,而忽视了绩效中的行为指标,这表现在许多项目组重视项目完成进度而轻视测试过程,重视项目的数量而轻视其质量,尤其是轻视与测试工程师行为有关的工作动机、热情度、忠诚感等“周边绩效”考核点。这可能与企业受功利主义思想影响、追求短期利益有关,或者可能与工作结果容易量化,而行为不易评估有关。

许多项目组在项目初期给工程师布置测试任务和预期应完成的指标,期末予以检查,而对工程师完成任务和指标的过程不管不问,既不对完成任务过程中出现的问题予以及时纠正,也不对测试人员在工作中遇到困难和阻力时提供帮助和支持。这种秋后算账的做法容易造成管理者与被考核者的对立,不利于测试人员的成长与进步。

(四)考核主体单一

目前,项目经理考核测试工程师已成为一种普遍运用的评价方式甚至是唯一的评价方式。项目经理考核有一定可信性,但也存在一些弊端,如测试人员一味地迎合项目经理的指令,淡化了整个团队的沟通协作,忽视一些测试人员不可控制因素的影响而造成考核不公正等。测试工程师在考核时处于一种被动地位,或者消极被迫接受,或者导致内部冲突升级。项目组也不重视同行专家的评估意见或根本不吸收同事参与考核。

(五)绩效考核指标不全,标准不明

考评项目和指标的选择是否恰当,是否全面、相关,定义是抽象含混还是具体明确,对考核结果影响很大。如果绩效考核标准不明,则不同的考核者可能对优、良、一般、差等绩效标准做出不同的解释,从而造成考评者偏松或偏紧或趋中倾向,造成考核结果的误差。以测试人员业绩考核为例,业绩考核包括整体工作效率、工作结果、过程控制三项一级指标。其中,工作结果可以分为测试用例的数量和质量、bug的数量和质量、测试自动化程度及收效等多项二级指标,若不对这些定性指标给出明确定义,则考评时易出现主观随意现象。因此,界定应具体明确。如bug的数量和质量可定义为:提交bug的数量(根据项目的不同而确定经验值)、提交bug的时间段(具体统计在测试的每个阶段)、发现bug的比例等。

二、软件测试工程师绩效管理体系的构建

(一)明确测试工程师绩效考核目标

Bevan和Thompson(1991)认为绩效管理的主要目的是“促进人力资源管理不同组成部分的整合,并使它们与公司的经营目标紧密联系在一起。”测试工程师绩效考核的目标,一是为企业的发展服务,支撑企业使命和战略的实现;二是服务于工程师个人需要及其职业进步。

(二)构建一体化绩效管理体系

绩效管理就是根据组织的要求,对雇员进行指导和支持,使雇员尽可能地以更高的效率完成自己的工作。从狭义角度理解,绩效管理系统由制定绩效计划,持续的绩效沟通与绩效信息收集,绩效考核,绩效反馈、诊断与辅导等部分组成。从广义上讲,绩效管理系统由绩效管理的影响力量、狭义的绩效管理系统、绩效管理的运用和目标等部分构成。

广义的绩效管理系统包括以下3部分:对影响测试工程师绩效的原因进行分析,尤其是从企业内部的组织结构、领导方式、企业文化、招聘和聘任制度、岗位分析等方面探讨与测试工程师绩效有关的因素;狭义的绩效管理系统;绩效管理的目标,包括绩效管理要达到的组织目标和测试工程师个人发展目标(见图1)。

制定绩效计划和考核目标的目的是为了清楚地说明企业期望测试工程师达到的结果以及为达到该结果所期望测试人员表现出来的行为和技能。管理者通过与被考核者协商,共同制定与企业使命相关的具有挑战性、可实现性、具体明确且有时间限制的绩效计划。持续的、动态的绩效沟通就是管理者和被考核者共同工作,以分享有关信息的过程。这些信息包括工作进展情况,潜在的障碍和问题,可能的解决措施以及管理者如何才能帮助被考核者。这些信息必须是有据可查、准确真实的且与绩效相关的信息。管理者可通过面谈,向其他同事了解意见,查看被考核者的工作记录等方式获取信息。绩效考核包括测评内容、何时测评、哪些人参加测评、测评方式及责任等。绩效诊断与辅导,是管理者和被考核者双方合作,共同寻找导致绩效低的原因,以及帮助被考核者提高未来绩效的方法,涉及处理矛盾、准备反馈面谈、解决问题和重新设定目标等内容。

(三)实现测试工程师绩效考核主体的多元化

在传统的测试工程师绩效考核中,将工程师排斥在外,测试人员作为被考核者处于被动应考的地位,被考核者与考评者的这种对立状态造成测试人员不认同、不支持考核,使其考核失去应有价值。虽然测试工程师可能由于认知或自利性偏差(根据归因理论,测试人员可能将自己的成功归之于自身的能力与努力等内因,而将其失败或绩效不理想归之于工作难度和机遇等外因;而对别人的成功与失败归因与自身归因相反)和自我防御心理的原因,测试工程师有高估自身的业绩,而看不到或有意掩盖自身存在的问题的可能性,但可以通过构建系统化的绩效管理系统,明确绩效考核的目标,管理者与被考核者的平等沟通,以及通过考核主体的多元化(除测试工程师本人外,还有领导、同事、客户等)等方法来避免这些弊端。

(四)构建测试工程师绩效考核合理分工、各司其职的组织管理机构

对测试工程师的绩效管理是企业人力资源部和项目组的共同责任。人力资源部主要从事组织、指导和协调工作,具体职责包括培训考核者、规范考核制度、制定各种考核表格、发放及统计等工作。考核由项目组具体组织实施,包括测试工程师工作任务的安排、考核指标与内容的确定、考核方法与时间的确定、考核主体的组织、考核结果的反馈、绩效改进与提升等工作。项目经理首先应当是一名合格的人力资源管理者,应把人力资源管理工作如激励、员工发展、绩效管理纳入企业的议事日程,并构成企业管理者对项目经理考核的重要内容。当然,这需要改变目前IT企业高度集中的人事管理体制,将部分人事管理权由企业下放至项目组。

(五)根据测试工程师的工作特征,建立考核内容全面、结果与行为(过程)并重的绩效考核机制

测试工程师作为专业人员和知识工作者,在其需求和工作方面存在以下特征:追求工作自主,不愿意受过多的外部控制;个人品性对测试工作及其事业影响很大;需求具有多样性和复杂性,既追求较低层次的需要,如生理、安全需要,又追求较高层次的需要,如受人尊重、自我实现的需要;工作具有分散性、个体性等。这些特征要求在测试工程师绩效考核时注意以下方面:一是绩效考核内容要全面,德、知、能、勤、绩一样都不能少。测试工程师品德潜移默化影响其对测试工作的态度;知识包括测试工程师应掌握的专业技能及业务知识、个人素养;能力包括软件测试能力、沟通与团队协作等方面。二是测试工程师绩效考核坚持结果与行为(过程)考核并重。Brumbrach(1988)认为“绩效指行为和结果。行为由从事工作的人表现出来,将工作任务付诸实施。(行为)不仅仅是结果的工具,行为本身也是结果,是为完成工作任务所付出的脑力和体力的结果,并且能与结果分开进行判断。”Borman和Motowidlo(1993)认为行为绩效包括任务绩效和关系绩效(周边绩效)两个方面。任务绩效指正式工作职责和所规定的行为,关系绩效指自发或超职责行为。由于测试工程师工作的效果难以量化,且具有滞后性和共同属性。因此,在坚持完善目前通过测试工作量和测试用例等结果指标衡量测试工程师绩效的同时,企业还要重视对测试人员行为,包括团队合作行为的考核,尤其要关注关系绩效的考核,这对克服测试人员工作分散化,形成合作的团队以及按质按量地完成项目组的目标有重大意义。

参考文献:

1、张剑虹.绩效管理工作中的七个误区[J].企业改革与管理,2003(5).

测试工程师试用期工作篇3

1前言

《标准》的测试,有利于促进学校在“健康第一”思想指导下的体育课程全面改革,转变课程结构和教学策略,激励学生和教师上好体育课,全面实现体育与健康课程目标[1]。现阶段多数学校办学经费短缺,不能购买全智能测试仪,只能采用人工测试,在组织管理方面存在许多劣势,因此,探求一套适合办学条件一般的组织管理工作方法,有着重要现实意义。我们在实施《标准》过程中进行了积极的探索与研究,力求探讨出一套节约经费、可操作性强、适应范围广、科学的组织管理方法,为用非完全智能化手段实施《标准》的高校提供一些有益的参考和借鉴[2]。

2研究方法

2.1文献资料法: 查阅学术期刊网全文数据库资料及有关教材、专著,整理、分析、归纳、总结,为本课题提供理论基础和依据。

2.2数据统计法: 采用Microsoft Excel对本课题调查的10所院校进行数据数理统计处理。

2.3研究对象: 实施《学生体质健康测试标准》10所院校:北京大学、华侨大学、武汉大学、厦门大学、福建师大福清分校、福建农林大学、安阳工学院、泉州师院、华东交通大学、江苏财经职业技术学院

2.4研究内容: 通过收集各高校《学生体质健康测试标准》组织方法的具体措施,主要归纳针对如下:

1、组织测试的形式:有组织集中测试(集中测试)、有组织学生自主测试(自主测试)

2、测试时间:课内测试(课内)、课外测试(课外)

3、教师轮换制:教师跟班测试(跟班)、教师不跟班测试(不跟班)

4、测试负责人:教师负责测试(教师)、学生负责测试(学生)

5、测试方式:智能化测试(智能化)、传统测试(传统)

3现状分析

3.1各高校采用组织统计方法: 通过电话访谈在其他大学院校学生,结合上网收集的相关材料进行统计。

表1调查统计

3.2测试形式: 调查的10所高校中采用集中测试的学校占95%,采用学生自主测试的学校只有5%。

3.2.1集中测试:测试管理机构在组织测试之前就制定好计划,如什么时间段测,测那几个班级,每个测试点应该分配多所专业人员,以及如何处理测试过程中的应急事件等。教师只要按计划对学生进行分批测试。

3.2.2学生自主测试:学校建立一专门体质健康测试机构,学生根据测试管理机构开放的时间,结合自己实际情况,选择最佳的状况参与测试。学生自主测试的特点是测试时间的自由选择,真正体现了以人为本的指导思想,另外《标准》测试管理系统的智能化,为学生自主选择测试时间提供了可能,但前提是要有一个固定的测试场所,并且要有一个测试人员。

综上对比可知,两种组织方法各有优点。在经费充足的情况下,我们采用集中测试与自主测试相结合的方法(前半学期对学生进行自主测试,后半学期集中测试。这样学生能够在自主测试的过程中发现自己的不足,针对自己的不足进行锻炼,在期末再进行集中测试。)

3.3测试时间: 调查的10所高校只有5%采用课内测试的,95%的学校采用课外测试。说明课外测试优势明显,这样能让学生有充足时间接受技能,为以后终身体育打下基础。

3.3.1课内测试:教师把应该作为传授学生知识技能的时间,用来对学生进行体质健康测试,收集各个测试项目的数据,进行了解学生的身体状况。优点:组织方便,减少人力、财力、物力的投入。缺点:影响学生的技能过程,导致舍本取末结果,不利于学生的终身体育意识的形成。

3.3.2课外测试:利用课余时间对学生进行《标准》项目测试,了解学生身体体质状况。优点:有利于学生课上技能的接受。缺点:教师工作量大,影响教师专业的形成。

除注意课内外测试外,还要根据各年级的特点进行合理的时间安排。尽量安排每学年上半学年对大二、大四学生进行测试,下半年对大一、大三进行测试;因为大一新生上半年必须对其先进行宣传教育,大四下半学期学生要去实习。

3.3教师轮换跟班制度: 调查10所高校只有15%学校由授课教师跟班测试的,85%的学校采用不跟班测试。那么跟班测试与不跟班测试的优缺点如何,具体分析如下:

3.3.1跟班测试:指体育教师与几个班级进行捆绑,负责体育技能传授同时兼负责那几个班级学生的体质测试,体育教师跟班测试一般为四年一个周期。优点:有利教师责任感的形成,有利教师与学生建立深厚的感情与友谊,有利教师对学生的了解,进行因材施教。缺点:繁重的工作量使学生身心疲惫产生厌倦的消极情绪,不利于教师的专业的培养。学生长期面对着一个测试教师一种单一传授技能的方法,使学生对教师好奇感的消失,产生心理厌倦。

3.3.2不跟班测试:是指体育教师每个学期负责几个班进行测试,随着学生的升迁而进行轮换,这种测试周期一般为2学年。优点:有利于教师专业的培养,使学生适应不同教师的组织方法。缺点:容易使教师形成不负责任,蒙混过关等不良的思想。

采用跟班测试与不跟班测试相结合,具体实施方案是大学四年前两年对学生进行跟班测试,便于指导学生进行合理的锻炼,提高身体素质,保证测试的进行。后两年教师除了对学生身体素质进行巩固练习外,还要对学生对大一、大二补考成绩未过的同学进行必要辅导。

3.4测试负责人: 调查的10所高校采用只有95%学校测试由教师负责的,5%的学校负责人由学生负责。

3.4.1教师负责测试:经过培训的专职测试人员在现场进行技术指导及时处理测试中出现的各种问题如(学生受伤、名单错误等)。优点:真实性强、误差小、效率高 。缺点:教师工作量大、影响教师专业化、产生厌倦感、缺乏动力。

3.4.2学生负责测试:测评工作由体育专业学生或其他班委负责。优点:减少教师工作量,增加学生锻炼的机会。 缺点:得出的数据可靠性差,真实性差,误差大。

3.5测试方式: 调查的10所高校采用只有40%的学校采用智能测试的,60%的学校采用传统方式测试。

采用智能化测试,能够准确、快捷、高效地获取测验数据与评价结果,达到测试的目的。

3.5.1智能化测试:利用专门的测试仪器,利用智能IC卡作为学生进行测试的准考证,将收集的数据通过特殊软件快速准确的进行分析,为教师今后课程设置提供依据[2]。优点:准确、快捷、高效地获取测验数据与评价结果。数字输入与导出无需人工,使整个过程都实现了教师、管理人员的“零工作量”。缺点:需要大量资金投入,并且需要专业的电脑人才。

3.5.2传统测试:总表式登记是在测试之前,测试机构就把要测试的学生进行登记,学生以班为单位进行登记,测试的时候学生按照测试表中安排的顺序进行测试,便于管理。卡片式是每位小组长拿一张卡,卡是由测试机构在测试前就分到每个小组长手上,每张卡可以登记几个学生成绩,小组长在安排的时间带着自己的成员进行测试。卡片式登记操作方法使用传统的测量工具进行测量,通过表格进行数据收集,再进行数据分析。优点:节省大量资金[3]。缺点:教师工作量大,数据工程量大,极大地加重体育教师与学校的工作负担,容易出错、效率低等问题。单纯的手工录入是一项工作量非常大、非常费时的工作。

4建议与结论

4.1 加强组织领导: 根据《标准》建立以校长为组长一把手工程的学生体质健康测试机构,把测试工作纳入学校体育教学工作,具体测试方案以文件形式下发到相关系和部门,取得它们的鼎立支持。

4.2加强宣传工作: 组织全校新生进行《学生体质健康标准》的讲座,使学生知道什么是《标准》,为什么要测试,使学生了解测试的具体要求及项目,摆正心态,更好地测出成绩;除组织讲座以外,还可利用学校广播台、课堂、网络、宣传栏宣传《标准》的措施和意义。

4.3 加强与职能部门沟通: 加强与各部门的联系,特别要与教务处的沟通,每年要配合教务处加强对新生各种基本情况的收集)[4]特别要做好学生的升、留、降级以及学生的休学、停学、复学、退学等情况的记录,,以保证学生体质健康测数据库的准确性,防止出现错误。

4.4加强对测试数据的处理: 测试完毕后,要把收集到的有效数据进行处理,删除无效数据。在数据处理过程中,还要与各院系进行沟通,加强对那些测试过程中表现优秀的学生干部及获得体育竞赛获得名次的同学进行加分,最后进行总结,把数据进行统计分析,上报给相关部门[5]。

综上所述,大学生体质健康测试是一个长期的系统工程,各高校的领导及职能单位必须高度重视,不断总结经验, 根据测试存在的问题,进行对症下药,扬长避短。

参考文献

[1]张兵 《如何加强大学生体质健康测试工作》[J]湖北体育科技 2007.9 26 (5):538-539。

[2] 陈东岗 对高校实施《学生体质健康标准》的研究[J]武汉体育学院学报 2003.7 ,37(4 ):100-102。

测试工程师试用期工作篇4

目前,公路工程项目建设管理中,可以说,各承包人的试验检测人员及设备到位率普遍较低,或投入的设备、人员质量不能满足工程检测需要,这就势必造成检测试验工作不到位,检测试验频率严重不足,检测试验基础资料的缺、乱、差,进而严重影响检测试验工作在质量控制中的绝对权威性。

2.重视试验检测仪器准确性和材质稳定性

试验检测仪器系统性误差造成工程质量事故的例子不胜枚举。作为一名试验检测工作人员,一定要经常检查承包人以及检测试验设备是否通过省市质量技术监督局标定,标定是否过期,还要经常性检查标定后的仪器设备的准确性,比如测量用的水准仪、经纬仪,以及全站仪等;混凝土拌和楼使用的电子计量装置是否准确按计量显示的数据进行配料;预应力混凝土张拉设备是否通过标定,标定是否过期,以及已送检的混凝土外掺剂,特别是膨胀剂的效果是否稳定;要经常进行效果验证性试验。这些检测仪器和材料只要有一个存在问题,都可能造成较大的工程质量问题。

3.重视检测试验程序的有效性

3.1加强检测数据管理

现场工作人员,如未见承包人、试验工程师签认的原材料,不得同意用于任何工程部位。现场工作人员在各分项、单位工程开工前,首先检查的就是原材料质量保证书、项目部试验报告,特别是试验工程师签发的检测报告是否具备;现场工作人员未见项目部试验员到场,未见试验工程师签发的《混凝土浇筑申请清单》和《混凝土配料通知单》,不得同意混凝土拌和施工;现场工作人员、各专业监理工程师未见试验工程师签发的混凝土、钢筋、路基土石方密实度检测报告,不得进行《中间质量检验认可报告单》的签认;各现场工作人员、专业监理工程师未见驻地高监签发的《中间工程质量检验报告单》,不得进行任何工程计量单的审签。通过这一系列的措施,基本可以在监理内部做到层层把关、层层落实、层层监督的内部约束机制。只有做到哪一层出问题就追究哪一层责任,才使“监理签字依据性可靠、资料逻辑性符合”,也才使工程实体质量处于可控状态。

3.2加强台帐管理

工作人员要紧紧围绕原材料质量“动态可控性”这一基本原则,要求承包人材料部门、承包人项目部试验室、试验工程师、现场监理工程师加强协作,共同控制原材料质量关。第一步要求承包人材料部门在原材料进场时,供货部门提交材料检验合格证书(质量保证书)、厂方检验报告,同时做好进场材料台帐,填写《材料检验报告单》,并及时提交承包人项目部试验室,同时复印一份给试验工程师,以便试验工程师按抽检频率做好抽检工作,做好《原材料抽检台帐》;第二步是承包人工地试验室按通知单内容登记《进场材料试验检测台帐》,并按试验检测频率到现场进行取样试验,同时通知试验工程师到现场进行平行取样抽检,试验工程师提出试验报告送项目部材料部门、工程部和现场监理工程师(口头通知,原件留监理实验室)。为防止承包人项目部材料部门拖延不报,或随意累计上报或漏报,监理要求承包人材料部门实行“零通知制度”,即每天必须以书面形式向承包人工地试验室和监理试验工程师通知当日进场材料。没有进料的也要通知。

3.3加强督促检查

督促检查的内容主要有:材料部门、项目部试验室、试验工程师进场材料台帐是否一致;进场材料台帐与试验报告、试验原始记录是否一致;材料部门进场材料台帐是否与材料数量结算原始凭据一致;各批次、规格、产地、品名、材料合格证、质保书、厂家检测报告是否齐全;试验检测项目和频率是否满足规范要求,进而检查监理试验抽检频率是否满足规定要求等等,使原材料质量完全处于动态可控状态。

3.4转变思想观念

试验检测监理工程师应正确认识试验检测在工程质量监控中的双重角色:一是试验检测监理工程师对工程实体及原材料质量进行科学的检查鉴定,其出具的检测数据具有法律赋予的权威性,是对所有参建的工程技术管理人员工作成果的检验,从这一意义上讲,试验检测监理工程师具有监督角色;二是试验检测是工程质量监控最直接、最有效的工具和手段,从这一意义上讲,试验工程师又具有“工具”的特性,现场监理工程师随时都可以通知、要求试验工程师到施工现场进行工程实体、原材料验证性检测试验,这就是“工具”的角色。因此,驻地高监要求各试验工程师,包括项目部试验人员要认识到这两种角色,也只有使试验工程师认识到自己的“工具性角色”,才能搞好其与专业监理工程师之间的协调关系;也只有使试验工程师认识到自己的“监控性”角色,才能提高自身对工程质量进行监控的主动性,并达到充分发挥自身在工程质量控制中的权威性。

3.5兼顾原则性和灵活性

例如路基压实度要求是95%,检测出的单点压实度全部达到95%以上,但按照《公路工程质量检验评定标准》进行数据统计评定,代表值低于压实度标准值的,压实度评定为0分,主要原因也可能是单点试验数据离差性较大,如果监理要求该路段作返工处理,未免过于教条与原则。正确灵活的处理方法应该是检查一下标准试验是否具有代表性,填筑土方土质的不均匀性是否较大,确定是否需要补做标准试验,以便重新计算单点压实度值,再重新采用数理统计方法评定该路段的压实度或者干脆增加评定组数进行评定。再如,施工规范要求桥涵的基础、墩台等无筋或少筋结构物的混凝土设计坍落度采用1cm~3cm,但如果不考虑实际施工方案、实际地理位置、施工环境的限制,教条地一律照搬照套,势必影响工程的正常开展,比如受地理条件的限制,混凝土只能采用泵送,或采用灌车运送,显然1cm~3cm坍落度不能满足施工要求。诸如此类的问题在工程监理过程中经常遇到。作为一名工作人员,要加强自身的业务知识学习,注重积累工程问题的处理经验,提高自己掌握规范的应变能力。

【参考文献】

[1]张蒙林,付春玲,王淑清.老集公路试验检测质量管理[J].内蒙古公路与运输,2006,(01).

[2]赵月平.浅析公路工程试验检测工作[J].黑龙江交通科技,2005,(03).

[3]李朝惠,吴克文.公路试验检测管理工作探讨[J].交通科技,2003,(03).

[4]朱锦华.道路工程试验检测浅谈[J].上海公路,2002,(02).

[5]王振铎,王伟.提高试验检测准确性的措施[J].工程质量,1999,(03).

测试工程师试用期工作篇5

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).

测试工程师试用期工作篇6

Research on case teaching in software testing course for higher vocational colleges

Zhang Xiaolan, Guo Jiandong

(Guangdong College of Industry and Commerce, Guangzhou, Guangdong 510510, China)

Abstract: Case teaching can not only fully mobilize the students' enthusiasm, but also improve their theoretical level and practical ability. Combined with teaching experience in software testing, the problems of the case teaching in software testing course are analyzed. In order to improve the teaching effect in software testing course, the case design method in theory teaching and practice teaching is proposed. The construction of teaching case library is given. The basis and premise of the implementation of case teaching are introduced.

Key words: software testing; case teaching; practice teaching; case library

0 引言

51testing公司的《2013年中国软件测试从业人员调查报告》显示[1],2013年中国软件企业软件测试人员与开发人员比例基本保持在1:3,相比之前的1:7比例虽有所下降,但仍与国外软件企业1:1的比例相差甚远,这表明国内软件测试人才市场需求仍会增长,其职业发展的潜力依然很大。正因为如此,很多高校相继开设软件测试专业或课程。在教学过程中,主讲教师一般讲解软件测试理论和介绍软件测试方法,但却缺乏较好的测试案例供学生测试,以验证所学的理论,故教学效果不佳。例如利用等价类划分法、边界值法设计测试用例,学生虽然能按要求做练习,能设计出测试用例,但是很多学生还是会疑惑设计出来的测试用例有何用、怎么用,学生缺乏实践环节的经验,当面对实际软件项目测试工作时,仍然无从下手。

目前,很多高职院校对“软件测试”这门课程进行了改革,并且取得了一定的成效。广东工贸职业技术学院(以下简称“我院”)计算机系从2009年开始开设软件测试课程,通过近五年的教学经验积累和总结,提出从构建软件测试课程的案例入手探讨该课程的案例教学方法。

1 软件测试案例教学所面临的问题

1.1 教材及教学资料缺乏

当前软件测试方面的教材很少,适应高职院校学生的教材更少。绝大部分教材只是阐述空洞的理论,附加简单而又陈旧的工具介绍,而这些理念和工具很多已经被业界淘汰或是被取代[2]。根据《2013年中国软件测试从业人员调查报告》显示,业界现在普遍采用的功能测试软件是QTP,而绝大部分教材中还停留在介绍Mercury Interactive公司的WinRunner工具,同时对于业界中性能测试龙头软件LoadRunner,很多教材并未涉及。绝大多数教材上所提到的自动化测试工具不多,而且讲解的也不是很详细,需要教师进行大量的补充。

1.2 案例缺乏

大多数软件测试教材都是理论内容过多,实践内容不足,甚至只有最后一章有测试案例。大多数高校软件测试课程的定位都是以讲解理论知识为主,实验教学只占很小一部分。高职院校定位于培养技能型人才,要求学生有较强的实际动手能力,这势必需要进行大量的测试实践,而实践需要大量的测试案例。同时,理论教学也需要运用典型案例,加深学生理解所学知识,培养其分析问题与解决问题的能力。

2 理论教学案例设计

教材及教学资料的缺乏势必需要软件测试主讲教师有针对性地扩充理论教学案例。

2.1 扩充教材中的教学案例

在软件测试的众多教材中,讲述软件测试方法的经典案例有三角形问题、日期问题、闰年问题等,但这些案例通常都是文字表述,缺乏具体的程序供学生测试。因此,首先要扩充教材中的案例,采用面向测试的软件设计方法将这些案例做成一个个小的被测系统,设一些缺陷,让学生沿着“测试―理论―进一步测试”的主线来学习。首先对这些案例系统进行测试体验,再系统学习理论,最后利用设计出的测试用例进一步测试,这不仅有利于加深学生对软件测试抽象理论的理解,也让学生更加深知在编程过程怎样避免缺陷,做到规范化编程,提高编程能力。

2.2 引导学生编写软件开发文档作为教学案例

在软件测试的理论教学中,经常会提到几个概念,如:黑盒测试是基于用户需求的测试,集成测试的测试依据是系统概要设计说明书,单元测试的测试依据是系统详细设计说明书等。学生通常会觉得很困惑:用户的需求到底是怎样的,系统概要设计说明书、详细设计说明书中分别包括什么内容,有何区别,对这些文档始终没有直观的认识。事实上,在企业的开发与测试工作中,文档都是很重要的一部分内容。软件开发企业在软件开发过程中会产生一系列的文档,如需求分析报告、详细设计报告、概要设计报告等等,但很少对外公布这些文档。就算能通过校企合作或项目合作的方式获得企业项目文档,缺乏项目业务背景的学生也很难弄清项目中的数据流程、工作流程等。所以通过与软件工程课程教师的沟通协调后,要求学生在软件工程课程设计中,按小组自选熟悉的项目系统,如:“学生成绩管理信息系统”、“图书管理系统”、“宿舍管理系统”等等,按照软件工程的原理编写相应需求说明书、概要设计说明书、详细设计说明书等,只有具备以上资料,才可真实地模拟实际工作模式。在软件测试课程中,延续使用这些案例系统,将对学生掌握软件测试的流程很有帮助。

3 实践教学案例设计

3.1 实践教学目标及工具选用

为了培养面向市场的合格测试人才,在教学过程中,除了理论知识外,还要求教师加强学生测试技能的培养。测试技能的培养是需要通过大量的实践练习来获得的[3]。

通过实践教学环节,加深学生对软件测试理论知识的理解,使学生能掌握软件测试的技术和方法,熟练主流自动化测试工具的使用,提高实际动手能力。51testing公司的《2013年第七届中国软件测试从业人员调查报告》中对软件测试从业人员常用的单元测试工具、功能测试工具、性能测试工具进行统计调查分析,得出在功能自动化测试工具中QTP使用最广泛,如图1所示。在性能测试工具中LoadRunner仍然稳居第一,LoadRunner在性能测试工具中的大哥地位无可动摇,Jmeter测试工具在今年来有小幅上升趋势,如图2所示。在单元测试工具中,软件测试从业人员最常用的单元测试工具是Junit,如图3所示。

图1 2013年调查中常用的功能自动化测试工具分布

图2 2013年调查中常用的性能测试工具分布

图3 2013年调查中常用的单元测试工具分布

注:以上图表数据均来自51testing公司的《2013年中国软件测试从业人员调查报告》

在我院软件技术专业的软件测试课程实践教学中选用的单元测试工具是基于Java开发软件的测试选择Eclipse+Junit;基于C++开发软件的测试选择了CppUnit;基于.NET开发软件的测试选择Nunit。另外,性能测试选择了LoadRunner试用版本,功能测试选用QTP,实践教学环节工具基本与当前主流工具平台相符。

3.2 实践教学案例来源

在软件测试的实践教学中,我们从以下几个方面来扩充教学案例。

⑴ 课程设计成果

我院计算机系软件技术专业在程序设计方面,前期开设了Java和.NET程序设计两个方向。在Java程序语言设计,C#程序语言设计、数据库设计课程结束后,通常会安排两周的课程实训,要求学生在教师的指导下完成课程设计作品。将程序语言设计作品用作单元测试的案例,学生间交叉进行测试,互相充当对方的测试员,这样不仅有利于将程序开发与软件测试结合起来,综合解决软件开发中的问题,而且交叉测试会极大地调动学生学习测试兴趣和积极性,课堂气氛活跃。

⑵ 毕业设计成果

在大三第二个学期,我院会安排12周的毕业综合实践周,由指导老师跟学生共同确定毕业设计题目,学生独立完成毕业设计。通过对以往选题汇总发现,绝大部分同学都是选择Windows程序开发和网站开发两个方面。从毕业设计作品中可选择一部分优秀的作品作为实践教学的案例。考虑到现有的网站如网易、搜狐前已经做足了测试,很难再发现其中的缺陷,所以在Web网站测试实践中,我们将学生的网站作品在机房的局域网内,学生在学生机进行测试,在这个过程中真正体会Web网站测试、Cookies测试、安全测试、目录测试等方面,找到测试成就感与自信。

⑶ 科研项目成果

我院一直鼓励教师多参与科研项目,教师参与开发的项目也可以用于实践教学案例。只有任课教师对所选的项目非常熟悉,甚至是亲自参与开发,才能对项目开发整个流程、可能遇到的问题有充分的认识与准备,为学生提供有力的帮助和准确及时的指导,为项目教学的顺利开展提供前提条件,使项目教学的整个实施过程都能在任课教师的良好掌控之下[4]。

⑷ 校企合作项目

目前我院已与部分企业签订了校企合作协议,在软件测试课程的综合性生产实习中,引入企业的实际项目作为案例。邀请校外实习基地企业的行业专家将实际工作项目带入实训室,学生3~5人为一组,按行业实际给他们分配角色,在该过程中强化学生的综合设计和运用能力,让学生掌握在实际项目应用中各种测试方法的使用,熟悉测试项目管理,感受大型测试项目工作流程。

4 案例教学的实施前提

4.1 跟前导课程的衔接

软件测试与软件开发有非常紧密的联系。要想成为一名优秀的测试人员,就必须会编写程序,至少精通一门程序开发语言才能胜任单元测试、集成测试、性能测试的工作,软件开发课程学习的好坏直接影响了软件测试能力。在软件测试单元测试、集成测试教学实践中,案例主要来源于程序设计语言课程的设计作品,这要求该课程主讲教师对学生严格要求,要求学生按小组保质保量完成小组作业,这些小组作品是软件测试课程中交叉测试的基础和前提。

同时,软件测试要用到一系列的文档,如需求分析说明书、概要设计和详细设计说明书、用户手册和安装使用说明等,这些也是软件工程课程设计上要学生完成的内容,课程设计对这些内容的要求严格与否,会对软件测试课程带来很大影响。通过这几年的教学发现,大多数学生对这些文档不甚了解,而且高职院校的学生普遍重技术轻理论,不愿意花时间去写文档。

4.2 教师自身素质的提高

为了顺利实施案例教学,主讲教师也需要不断提高自身素质。软件测试工具较多,范围广,不易把握重点,大部分测试工具如:LoadRunner、WinRunner、JUnit、Jmeter等都是英文版[5],参考资料少,这就要求教师通过主动学习、走进企业来提高自身素养。高职院校提倡“双师型”专业教师队伍建设,要求教师既要具备理论教学的素质,也应具备实践教学的素质,学校也可以派遣教师到软件测试培训机构进行培训,提高教师水平。只有这样,教师才能自如地将企业实际的测试流程、方法、技术带入案例教学实践中。

5 结束语

兴趣是最好的老师,在理论教学和实践教学中引入案例教学、建立测试案例库,使理论和实践过程更具直观性、生动性、说服力、吸引力,能有效调动学生的积极性和兴奋点,有助于学生掌握软件测试的基本理论和方法,加深对软件测试测试自动化工具的理解。同时随着教学的推进,教师可针对当前的测试工具,设计新的教学案例,扩充至教学案例库中,不断提高案例的针对性、实效性、鲜活性。

参考文献:

[1] 2013年第七届中国软件测试从业人员调查报告.http://

,2013.

[2] 钟久隆,路桂明.高职院校《软件测试》课程教学改革探索与实践[J].

教育教学论坛,2012.2:130-131

[3] 丁智国,吕振洪.软件测试课程实验教学探索[J].计算机教育,2012.3:

102-105

[4] 龚宇辉.基于项目驱动的软件测试人才培养模式[J].华章,2013.20:

测试工程师试用期工作篇7

软件测试作为软件质量保障的重要手段,其存在于软件开发生命周期的每一个过程。在整个软件项目的开发过程中,测试人员必须对所开发的软件进行不断测试,以保证软件的正常运行。统计数据表明:软件项目中超过一半的预算投入到软件测试中,所以软件测试代价高昂。缺陷发现的越晚,修正缺陷的代价也越高,给企业造成的损失也越大。

随着软件规模的增加,测试工作量的增大,需要投入大量的人力,原本的手工测试逐渐暴露出诸多缺陷,例如,覆盖率量化困难、重复测试效率低下、不一致性和可靠性低、依赖人力资源等。软件自动化测试技术正是在这种情况下产生的。其根本目标是使所有的测试行为包括测试用例的设计、驱动、结果检查、缺陷定位和移除等都尽可能实现自动化。事实证明,正确、合理的实施自动化测试,能够对软件生命周期的各个阶段进行快速、全面的测试,提高软件测试效率,保证软件的质量,节约软件的开发成本,缩短软件的开发测试周期。但实际上,并非所有的自动化测试技术都可以达到测试活动的预期目标,诸多软件开发机构在实施软件自动化测试的过程中通常存在无法正确找准测试自动化的切入点、程序开发过程和测试自动化过程相互独立、软件测试脚本的质量低劣、测试自动化过程对测试用例的依赖程度过高等方面的负担造成工期延误和成本浪费,甚至最终被完全放弃等问题。

自动化测试技术要想有效地解决测试质量与效率、降低测试自动化的投入、提高其产出等问题间的矛盾,必须形成一套系统的自动化测试体系,在质量保障方面有所作为。因此,深入研究软件自动化测试技术和方法,保障软件质量,已经成为国内外软件行业和相关机构的研究热点。

1 自动化测试的设计原则

软件自动化测试是相对于手工测试而存在的,自动化测试可以被理解为使用一个商业通用测试自动化工具编写一个软件来发现其他软件的缺陷。开发测试脚本以执行键盘、鼠标动作和后台进程并验证应用程序响应和行为。一个良好的自动化测试体系在设计时,需满足以下条件:可维护性 - 使测试更新跟上软件升级的步伐;高效性-实现效率最大化;可靠性 - 使测试结果准确而且可重现;兼容性-允许测试用例为不同的测试目标而以不同的方式组合;可用性-测试人员或用户容易掌握定制或更改测试用例的方法;健壮性-可以处理意外情况而不退出或终止;可移植性 - 测试脚本可以在不同环境中运行测试。

2 自动化测试框架的选取

自动化测试框架是一组自动化测试的规范、测试脚本的基础代码,以及测试思想、惯例的集合。自动化测试框架的好坏对自动化测试的成功有直接影响。目前业界公认的自动化测试框架,主要有四种:数据驱动框架、测试脚本模块化框架、测试库架构框架和关键词驱动框架。

1)数据驱动框架

测试驱动引擎从数据文件读取输入数据,通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例,数据驱动脚本将测试脚本(执行步骤)和数据分离,将测试输入数据存储在独立的数据文件中,而不是直接存储在脚本中[1]。在脚本中引入变量,执行时通过变量来读取数据文件中的数据。通过数据驱动脚本,同一个脚本可以测试不同的输入数据,提高了脚本的重用率和可维护性。其缺点是初始建立的开销较大,由被测试应用程序的变化所导致的工作量在所有架构中是最多的,因此维护成本是相当高的。

2)测试脚本模块化框架

测试脚本模块化框架的测试脚本中包含了各功能点的控件识别和业务逻辑操作,其中包含调用外部测试数据。框架结构如图1所示。图中箭头方向代表的是调用关系。负责自动化测试脚本维护的开发工程师必须了解自动化编程和业务逻辑。负责为花测试数据的工作由测试工程师完成。它的优点是控件和业务逻辑一旦发生变化,底层的测试脚本就要进行修改和维护(这比没有任何抽象封装的自动化测试程序稍好一点)。缺点是几乎所有大的变更导致的工作量都要交给自动化测试开发工程师来完成;控件识别和业务逻辑本身属于不同的领域,

没有很好进行抽象封装。

3)测试库构架框架

测试工程师试用期工作篇8

随机事件:由于随机与周期中断的合并作用控制着系统,开发人员会发现对实时操作进行仿真比较困难。

编码技术混合:DSP软件集合了C/C++控制代码和手动优化的汇编语言代码,汇编语言代码能够处理数据值,并“紧缩”循环。为了减轻基于DSP系统的测试任务,工程师必须制定连贯的测试策略将其作为全部设计的一部分。从草拟第一幅结构图起,工程师就应思考:“我们如何测试定义好的模块或单元,以及如何包括测试需要的“hook”(见注)?

从模块开始

工程师可以轻松地识别单个信号处理模块――执行特殊信号处理功能的代码――因此这些模块提供了一个良好的出发点。可以在目标嵌入式系统之外分别测试单个模块。工程师可以给一个模块编写C/C++“外套”,这样就可以从标准的I/O设备读取输出向量、调用模块内的功能并将结果写进文件,如图1。

非实时仿真器可以执行一个模块,而单个硬件可以独立于较大目标系统来执行模块。在这类情况下,测试时,将已知向量加到模块,该模块为后面的调试产生数据并报告错误。性能数据,即量度,包括用于处理向量的处理器周期及“进出”模块所需的处理器周期数。量度还可以反映内存的使用量。起码,可靠的测试要用一致性的向量来执行信号处理功能。该向量可以来自国际标准化实体(可以考虑手机和MPEG标准)。或者,工程师可以采用模拟或设计软件来生成测试向量。

为弄清楚处理问题,测试应该包括可导致饱和或翻转状态的输入向量。当大的数值超过寄存器的容纳能力时,产生饱和状态。当寄存器内的数值从1111…11112增大到0000…00002,发生翻转并设置错误标记。

校验控制代码

一般地,信号处理模块或外部事件的输出影响一个系统的关键性的控制软件。这就意味着测试控制代码比测试信号处理模块要涉及更多的操作技巧。

当工程师校验信号处理模块操作正确以后,就可以进行控制代码的测试――也称为集成测试。当控制代码管理系统时,硬件将有效的输入向量输入到系统,系统处理该向量并产生输出向量,该输出向量与公认是正确的向量进行对比。集成测试通常在一个平台仿真器上或应用的硬件内开始,二者均不是实时运行。在确信系统满足设计规范后,工程师将应用系统移植到实时硬件上进行附加测试。

根据系统是否依赖于时实操作系统(RTOS),控制代码测试和校验的技术有所不同。某些RTOS包含有“测试hook(见注)”,工程师可以利用它来确定已经运行了什么线程,何时运行的线程,线程执行的时间等等。此外,RTOS生成的执行指令可以提供数据来帮助工程师校验基于DSP的系统操作的正确性。

有时工程师可以采用一个实时的“遥测数据”通道来进一步了解DSP芯片状态或系统状况。这种类型的通道可以存在干硬件或软件内。保存处理器状态和程序流程变化的片上跟踪缓冲器为软件开发中的调试提供了有价值的信息。

基于软件的系统在开发过程中同样可以良好地工作并且有助于测试实时系统。在系统测试过程中,一种软件遥测系统的环形缓冲区不断用通过以下步骤刷新自身:

・控制代码的监视点数据,

・性能度量数据(MIPS和内存使用数据),

・中间信号处理向量

例如,监视点让开发者知道处理器已经开始执行一个特定程序。环形缓冲区的大小取决于开发者选择记录信息的多少和他们从基于DSP的系统内提取信息的速度。工程师获取了缓冲区的内容,用一个短程序就可以将其内容译成可读的格式。

测试工程师试用期工作篇9

一、高职软件技术专业培养目标

根据我国职业教育指导思想,坚持以服务为宗旨,以就业为导向,提高高等职业教育质量,加快培养高素质劳动者和技能型的专门人才。高职软件技术专业以培养能够进行软件代码编写、界面设计、软件测试及软件维护的软件开发工程师、软件测试工程和软件维护工程师。软件开发工程师要能够根据软件产品的设计说明书,通过编码实现产品功能,使之能够在指定平台运行;软件测试工程师是根据产品的设计目标,对开发的产品进行测试,发现问题,纠正问题;而软件维护工程师是在产品投入运行后,发现产品问题或预防产品问题及修正产品问题,保障软件产品的正常运行。

二、软件技术专业工厂模式设计

什么是工厂模式?从宏观来讲工厂模式是指产品从研发、生产、检测和投入市场的一系列过程,从微观来讲是指产品在工厂中的生产和质检过程,在这个过程中设置了不同的工作岗位,每个工作岗位都有详细的岗位职责和操作规程。高职软件技术专业培养目标是培养能够从事软件产品开发和测试的技能型人才;软件产品有分析、设计、实现、测试和运维等五个阶段的生命周期,其中软件的实现和测试是高职软件技术专业重点培养技术指标,也是工厂模式中重点应用环节,如何根据工厂模式设计高职软件技术专业的教学呢?图1进行了详细图解:

图1:高职软件技术专业工厂模式教学设计

在图1中,软件产品分产品分析、产品设计、开发生产、产品测试和产品运维等五个不同的阶段,且形成了顺序不可颠倒的流水线工厂模式,且都有对应的岗位;在分析阶段设有产品分析师或项目经理岗位;产品设计阶段设有软件设计师或项目经理岗位;开发生产阶段设置有软件工程师、美工设计师、数据库工程师等岗位;产品测试阶段设有测试工程师岗位;产品运维阶段设有维护工程师岗位。在这五个阶段中,始终设有QA质量监督员岗位来全程监控软件产品的质量。每个岗位必须制定详细的技术标准和工作岗位要求。高职软件技术专业的人才培养目标重点放在了第3和第4阶段,主要是培养学生的软件的开发能力和测试能力,其中第3阶段由界面设计、功能开发、数据库开发和产品集成等四个阶段组成,每个阶段设有对应的工作岗位。图1清楚的展示了软件产品生产的整个工厂模式的流水线结构,在培养软件技术人才时,按照流水线上的每个工作岗位要求和技术标准进行,就可以实现工厂模式在高职软件技术人才培养中的应用。

三、分析与设计阶段工厂模式应用

高职软件技术专业的目标是能够培养出进行软件产品开发的软件工程师、测试工程师及运维工程师。在分析和设计阶段,对于高职的软件技术专业的学生难度太大,学生没有建立对软件整体认识的概念和软件产品开发经验,且这两个阶段是软件产品的起始阶段和重要阶段,后期的开发及测试工作都围绕这两个阶段,这些工作都需要很丰富的经验才能完成。在这两个阶段应该建立以具有丰富的软件经验教师为主,学生参与的教学模式。教师的主要职责是通过各种不同的表现手段让学生理解软件产品的分析与设计成果,并且将设计的成果通过报告的形式展示,形成唯一的可以操作的说明书。教学可以灵活且适合学生的教学方法,例如项目教学法、案例教学教学法等;建议采用的项目案例真实,规模适中。

四、开发阶段工厂模式应用

开发阶段是在产品的设计完成后,学生根据产品的设计说明书进行产品的开发,实现设计说明书中的所有功能。这个阶段是培养技能型的软件工程师,形成以学生为主,教师为辅的教学模式,让学生充分动手得到全面的锻炼。在工厂模式中该阶段分为了界面设计、功能开发、数据库开发和产品集成等,其中界面设计、功能开发及数据库开发可以并行工作;然后将这三个阶段的工作结果进行产品集成。在这四个阶段设有对应的四个岗位,每个岗位都应设置详细的技术标准和岗位操作规程;学生在学习的过程中可按照这四个岗位进行轮岗学习及实践,使学生掌握每个岗位技术要点以便形成对应的工作能力。开发阶段是培养软件开发工程师的重要环节,程序的编码能力、界面设计、数据库开发能力及模块之间控制,甚至是团队协作精神的培养在本阶段都有体现。

五、产品测试阶段工厂模式应用

产品测试阶段用来检测开发的软件产品是否符合客户对软件产品定义的需求,也是用来检测软件产品中存在的错误,处于流水线工厂模式的第四阶段;该阶段主要培养软件测试工程师。产品的测试通过运用不同的技术标准如:白盒测试、黑盒测试及自动化测试工具对已经开发的模块及集成的软件产品进行功能测试、性能测试、安全测试、负载测试等。产品的测试工作必须围绕该岗位的技术标准及岗位操作规程进行,通过以学生为主,教师为辅的教学模式,将每次测试的结果形成测试报告,以便发现软件问题及学生对测试技术掌握情况。

六、运维阶段工厂模式应用

运维阶段是在工厂模式中最后一个阶段,这个阶段已经离开工厂生产环节,进入客户实际使用过程中,该阶段非常重要,是检测软件产品好坏和保证产品正常运行的重要环节;产品上线运行后,产品维护工程师能够根据产品的运行状况发现问题及客户反映的问题与客户进行有效沟通,对一般性问题进行处理,对较大难度问题需要及时与相关部门和相关人员进行沟通,找到解决方案,保障系统的正常运行。

高职软件技术专业的工厂模式教学改革,关键是如何将培养软件产品开发教学过程转化为工厂模式,设置流水线工厂模式中各个岗位技术指标和岗位职责,通过项目教学、案例教学或其他的教学方法让学生掌握每个岗位的技术指标和岗位操作规范。

【参考文献】

测试工程师试用期工作篇10

0引言

 

如今,软件产品被广泛应用于各个领域,如航空、机械、电子产品等,软件产品质量成为软件开发中重点关注的方向。在一些对于安全性要求较高的领域,对软件产品的质量要求更高。例如,在2011年温州发生的7.23动车追尾事故,导致212人伤亡;1996年阿里亚娜5型火箭发射39秒后爆炸,直接经济损失3.7亿美元;2002年首都机场电脑系统出现故障,导致6000多人滞留机场等。软件中存在的缺陷是造成这些严重后果的根源。因此,软件测试的重要性不言而喻。

 

传统的软件开发流程越来越无法满足当下软件需求的频繁变动,如传统的瀑布模型,测试人员在一定的控制点之前不能测试,所以在此之前无法找到缺陷。等到所有开发完成,即过了该控制点后再进行测试,缺陷数量会急剧增加,同时任何缺陷的修复都需要对一连串代码进行变动,修复时间难以确定,软件迟迟不能,损失将难以估量。

 

敏捷软件开发是基于一种更接近人类活动现实情况的方法论,采用以人为本、迭代、增量的开发过程,逐步满足软件不断变更的需求[1]。敏捷主要提倡个人为团队所作的贡献,注重各个职位的权利下发,发挥个人的主观能动性,保证随时都有可供交付的软件产品。敏捷开发更容易在项目早期控制缺陷数目。软件测试是保证软件质量与可靠性的重要手段,敏捷开发能充分发挥软件测试的重要作用。

 

1敏捷开发思想

 

敏捷开发是以用户的需求进化为核心,采用逐步迭代、循序渐进的方式进行软件开发。在敏捷开发模式中,软件项目在开发前,先将整体项目切分成多个子项目,迭代过程中根据需要可以对子项目进行拆分或同时进行多个子项目,每一个子项目都要经过测试,保证项目能运行成功。换言之,就是把一个大的软件项目分成许多小项目,每个项目独立完成,但相互之间又有联系,在该过程中软件始终处于可用状态。

 

敏捷开发本身更多的是一种概念,它是一种循序渐进的迭代开发方式,强调团队成员间的沟通。2001年,敏捷开发创始人了敏捷宣言:个体和交互胜过流程和工具,可用的软件胜过完备的文档,客户协作胜过合同谈判,响应变化胜过遵循计划[2]。也即,虽然后半部分的条目也具有价值,但是更看重前半部分的条目。他们希望这将成为成功的软件开发的基础。敏捷开发的方法很多,主要包括快速应用开发(RAD)[3]、极限编程(XP)[4]、动态系统开发方法(DSDM)[5]与Scrum[6]。本文构建的测试模型借鉴敏捷开发过程中的迭代思想,以渐进的方式完成测试工作,不仅可使测试工作具有更好的灵活性,同时也能更好地适用于现有的敏捷开发过程。

 

软件是一种非常特殊的产品,开发出的软件通常会存在一些缺陷,而有些缺陷会造成非常严重的损失。软件测试则成为保障软件质量的一种重要手段[7]。根据不同标准有多种测试方式,如集成测试、单元测试、系统测试、验收测试和回归测试。传统的V测试模型和W测试模型成为指导人们进行测试的方法,而不同于这两种测试模型的H模型,则强调测试的独立性。另外目前很多开发团队已经开始使用敏捷开发方式,敏捷开发方式非常注重客户的交互以及团队中的沟通,同时开发过程中会有许多迭代过程。本文提出的测试模型借鉴敏捷开发中的迭代思想,测试流程是一个渐进的过程。然而,即使有成功的敏捷开发方法,开发人员和测试人员依然要寻求最适合的敏捷方法,并将相关技术融入到自己的敏捷方法中。

 

2敏捷开发中的软件测试

 

2.1敏捷测试

 

敏捷测试没有已经确定的唯一定义,原有的测试定义“通过在规定条件下对程序进行操作,发现错误,衡量软件质量”仍然适用,核心思想可以理解为“遵循敏捷开发的宣言,接纳敏捷核心价值观,基于敏捷开发的软件测试”。敏捷开发宣言中提到敏捷开发的4个核心价值观:简明(Simplicity)、沟通(Communication)、反馈(Feedback)、勇气/决断(Courage)。符合敏捷核心价值观的测试实践活动都可以称为敏捷测试,敏捷不仅是一种过程,更多的是一种理念[8]。

 

2.2敏捷测试方法

 

图1为敏捷开发测试流程,此流程是一个结合了Scrum和XP方法,并加上一些基于计划性流程原则后的产物。虚线箭头两端是开发过程中与软件测试相关的部分,敏捷开发的测试人员全程参与完整的迭代开发。

 

(1)需求分析:测试工程师可以根据测试经验以及需求的测试难度对需求列表提出问题或意见,以期团队能共同提供建议或方案,在之后的实际测试过程中有助于提高测试效率。

 

(2)迭代计划:包括对需求的详细分析以及任务表等,软件工程师和测试工程师对需求进行讨论。

 

(3)迭代启动会议:项目经理、产品经理、软件工程师、测试工程师对此代计划进行讨论、完善。

 

(4)测试计划:测试工程师根据需求以及测试经验完成详细的测试计划书,团队对测试计划进行研讨并确认验收测试。

 

(5)测试驱动开发:测试工程师相当于软件的第一批用户,测试过程中要重视反馈,这也是敏捷开发的原则之一。

 

(6)验收测试:测试工程师对此次迭代的所有功能进行演示,测试产品功能是否合格。如果产品合格,则此次验收通过,可以进入下一环;如果产品不合格,则此次验收失败,重新返回开发阶段,找出失败的原因及bug并解决,并确认下一次验收测试。

 

(7)提交与验证:由测试工程师为产品负责人与参与项目的人进行演示,包括此次迭代的主要功能、产生的未解决bug,然后由产品负责人核准迭代成功。

 

(8)迭代后的研讨:对此次迭代过程中产生的问题进行讨论,对于亮点可以进行表扬,错误要分析原因。

 

从流程图和测试人员参与项目的简单描述中,可以总结出敏捷测试的方法主要有两种:与传统软件测试相似的测试和测试驱动开发(TDD,Test-DrivenDevelopment)。

 

图2展示的是测试驱动开发流程,开发人员在编写产品代码之前,要先编写单元测试代码,在进行单元测试后才能进行产品代码的编写,以保证产品代码能完全符合要求。产品代码编写完成后进行单元测试和集成测试,测试代码和产品代码都要进行代码审查,保证代码的简洁、统一,方便以后维护。在敏捷测试中,测试驱动开发的重要目的不仅仅是测试软件,同时在开发过程中帮助客户和程序员确定需求。测试驱动开发应该运用于每一个迭代中,逐步开发完成所有软件功能。

 

传统软件测试的种类非常多,在敏捷测试中应当根据当前迭代的需求进行测试[9]。某车削软件有这样一个需求,能支持直径40mm的刀具路径生成。该需求一定配备了相应的刀具路径生成方法,然后只需确定刀路生成中的一些参数,然后设计数量足够的不同表面形态的圆面即可。由于TestPart数量过多,可能会用到自动化测试,也有可能会用到一些特殊的TestPart,如圆面面型变化大,甚至不是圆面等。迭代最后一定有整体的性能测试,在整个项目进行过程中,传统的软件测试方法同样适用于敏捷开发。

 

2.3敏捷测试特点

 

在瀑布开发模式中,要求流程规范、文档齐全,测试进行时再根据软件需求总结、测试所有功能点,直到软件中没有明显bug。在传统的软件测试开始时,软件的缺陷会达到顶点,同时如果有需求变化,则需要重新编写文档,可能必须将之前的工作推翻重来,费时费力。而在敏捷测试中,一切都发生了改变。

 

敏捷开发模式中测试不是一个单独阶段,它和编码一样是软件开发的重要组成部分。敏捷开发使用一个“完整团队”的方法来保证软件产品质量。敏捷团队中的测试人员从客户需求中提炼要求,然后与开发团队合作,把这些要求变成可执行的规范,用于指导代码编写。随着测试和编码的逐渐进行与交互,将建立一些产品特性,直到提供足够的产品价值。

 

敏捷测试包括以下几个主要特点:①周期性的迭代开发方式。不同于传统测试的一次性集成或功能测试,敏捷测试在迭代进行过程中要通过及时响应客户反馈来修正软件测试策略,以此修正软件的质量指标;②每日立会,密切沟通。传统测试提供了大量文档描述产品需求,并通过文档进行测试。敏捷测试则需要团队每天进行交流,测试人员与客户持续沟通,以保证产品质量符合客户预期,并与开发人员沟通来确定需求认识的统一;③测试方法多样,贯穿整个项目开发过程。敏捷测试包括测试人员对软件的自动化测试、集成测试、功能测试等,还包括开发人员对代码的单元测试、代码评审等工作,从最底层和基础的测试来保证软件整体质量;④确保客户需求圆满实现。客户需求是敏捷开发中最核心的内容,敏捷测试同样需围绕客户需求实现。

 

2.4敏捷测试优势

 

目前大多数软件项目的共同特点是用户需求变化快、风险高,同时还能快速抢占市场,这刚好是敏捷开发能够解决的。

 

(1)良好的持续沟通可减少缺陷产生,降低风险。在敏捷开发模式下,测试人员的沟通尤为重要。一个迭代从开始到结束,测试人员都需要参与。迭代开始时,所有人都要对该阶段软件的成型有统一认识,满足用户需求的同时还要符合一次迭代的时间要求;迭代进行中,测试对开发人员的反馈非常重要,软件开发初期,测试工具十分缺乏,对测试工作的进行造成很大阻碍,这时需要和开发人员持续沟通,必要时可共同开发一些辅助测试工具,在此期间要把握好迭代进行的时间;迭代后期,也可以作为bug反馈期,测试人员不但要站在用户角度考虑需求,同时能和开发人员站在技术角度讨论问题,达到沟通的目的。

 

(2)合理的测试用例。敏捷最直接的特点就是快速,如果涉及的用例粒度太细,很难开展敏捷测试。一个合理的测试用例不仅能包含所有可能产生缺陷的地方,同时还能快速地响应需求变化。

 

(3)更多人参与测试。敏捷测试中的测试人员不再是一个独立的测试个体,研发人员、产品负责人、用户都可以参与测试。研发人员的测试可以减少编程中的bug,产品负责人的测试可以更好、更全面地把握产品现状,用户的测试则可以提供来自真正用户的反馈,以更好地促进软件开发。

 

3敏捷开发中的软件测试实例

 

本章结合一个具体的软件项目,详细介绍项目中的敏捷测试。

 

3.1项目介绍

 

针对3轴超精密加工车床,提供针对光学自由曲面进行加工的刀路轨迹计算的CAM(ComputerAidedManufacturing,计算机辅助制造)软件。该软件的目标是比UGNX中的相同功能有更快的计算速度和更高的精度。

 

3.2需求分析和项目规划阶段

 

项目经理和产品经理根据客户给定的需求进行分类,包括框架、加工方式、加工质量、刀具选择、仿真等需求,并对项目可能产生的需求进行判断和规划,形成项目计划书。项目计划书包括项目背景、、需求以及预期完成时间。项目计划书完成之后即可开始进行第一个迭代,并以第一个迭代为基础不断进行下去,直到完成所有需求。由于整体项目过于庞大,这里只对第一个迭代进行介绍。

 

项目实例:第一个迭代中有2个需求,同时根据工作量分配任务天数以及每个需求的参与人员,如表1所示。

 

3.3迭代进行阶段

 

迭代开始时,项目经理制定迭代的具体开发任务和测试任务。在迭代启动会议中,每个人都要对此次迭代任务有统一认识,并且能够承载相应的任务量,在需求确定完毕后进行任务分配。

 

.

 

开发人员进行编码时,测试人员的工作重点包括:编写测试计划、测试用例、验收测试以及提交和验证。测试计划和测试用例的编写同时完成,且在迭代初期完成。验收测试一般是在迭代后期进行集成测试,迭代过程中也可以协助开发人员进行单独的功能测试。

 

3.3.1编写测试计划和测试用例

 

测试计划需要具体的操作步骤以及相对完善的测试用例来涵盖需求,因此需要测试人员有比较丰富的测试经验。

 

项目实例如下:

 

表2和表3中的TestParts需要填写测试工件名称。测试计划编写完成后要经过开发人员和项目经理确认,保证开发人员认同并能够达到计划的目标。敏捷开发是不断迭代的过程,对于一些比较简单的功能,尽量设计简洁的测试用例。如果TestParts比较多,可以采用自动化测试,而对于一些比较复杂的功能,可以先采用手动测试,在功能更加完善后再考虑自动化测试。

 

3.3.2验收测试

 

验收测试要严格按照迭代前期写好的测试计划进行,在开发人员开发完此次迭代所有功能后,测试人员对所有功能进行集成测试、功能测试、自动化测试等,完成所有测试工作后形成测试报告。报告内容包括此次迭代基本功能完成情况、缺陷产生情况以及测试过程中的一些详细数据。

 

3.3.3提交和验证

 

团队全体成员参加验收会议,由测试工程师对迭代成果进行演示,产品经理和项目经理进行验收,项目需求全部完成则此次迭代成功,然后再对此次迭代中的不足之处进行讨论和改进,或者提出创新之处。如果项目需求未达标,或产生了过多缺陷,则此次迭代不予通过,全员讨论延后验收或将缺陷完善延后到下一个迭代。

 

项目实例:针对需求R1、R2的基本功能测试达到了计划的标准,框架的视图操作和显示功能以及CAD模型输入功能均正常运行且无缺陷。虽然框架本身存在一些缺陷,仍能满足迭代的基本需求。经过讨论此次迭代成功,产生的bug在下一个迭代进行完善。

 

3.4迭代后研讨和下一次迭代讨论

 

迭代完成后要对迭代过程进行回顾,测试人员需要对bug进行总结,包括测试过程中产生的问题,以及需要改进的地方,然后对下一次迭代的需求进行初步讨论,决定下一个周期的工作内容。

 

4结语

 

测试工程师试用期工作篇11

首先,在很多高校软件工程相关专业中,没有开设专门的软件测试技术课程,软件测试技术只是作为软件工程的一部分被提及,还有一些学校只是把软件测试技术作为选修课,课时较少,则侧重理论讲解和测试方法介绍,忽视了极为重要的实践环节[1]。而软件测试课程的实践性很强,如果没有实验实训环节支持,只是枯燥地讲解测试理论和方法,会使学生产生抵触和厌学情绪,影响教学效果。同时,测试工具和测试对象都是看不见、摸不着的软件产品,实践课程的组织和实施有较大的难度。由于缺少基础理论知识和系统训练,很多高校毕业生虽然想从事测试工作,却离软件公司对测试人才的要求差距较大,从而被拒之门外。

其次,缺乏讲授软件测试课程的教师。高校软件工程的主讲教师能很好的讲解软件测试理论和测试方法,但缺乏较好的软件测试案例和软件测试经验,而这正是讲授好软件测试课程的关键所在,也是很多老师不愿意上该课程的原因。

第三,学生对软件测试的认识也直接影响他们对软件测试技术的掌握。一些不规范的软件公司往往让新进人员和编程能力较差的人员从事软件测试,这让很多学生片面地认为不会编程序的人才从事软件测试,从而不重视软件测试技术的学习和训练[2]。

在这种情况下,为培养应用型、技能型软件测试人才,我校计算机与信息学院自2005年就在软件工程本科专业中开设了软件测试技术以及相关实践课程,并将其作为该专业的主干课程来建设,在课程的建设方面做了一定的探索,积累了一些经验。

1突出培养目标,完善课程内容新体系

作为一般本科院校,我们的培养目标是为社会输送应用型高级人才。针对软件测试技术课程,教学目标是通过对软件测试技术的理论学习和系统训练,使学生了解软件测试在软件开发过程中的重要作用和地位,理解软件测试的基本概念和基本理论,掌握软件测试技术和方法,能运用软件测试技术解决实际问题,并了解软件测试职业特点及软件测试人员素质要求。按照这一培养目标,我们结合实际,在教学内容和教学资源建设等方面进行了探索。

1.1合理安排教学内容,适应应用型人才培养目标

软件测试技术课程内容应体现传授知识与发展能力相统一,重视能力发展,其结构要与学生认知结构相统一,应以软件测试基本理论为基础,引入案例教学,辅以讨论、报告会等方式,突出实践教学环节。

我们把教学内容分为课堂教学、实验教学和课程设计三大部分,在教学过程中采用案例教学,并增加配套实验和课程设计学时。其中课堂教学在软件工程概论课程结束之后开始,安排在第5学期进行,包括软件测试基本概念、各种测试技术和方法、测试用例的设计、软件测试项目的组织和管理等,共32学时;实验教学同步安排,主要是一些基础实验,包括白盒测试、黑盒测试等,通过学习实践,让学生掌握软件测试最基本的一些方法,共16学时;课程设计安排在第6学期后半学期集中进行,学生自由组合为小组,分角色进行,课程设计强调学生的综合设计和运用能力,主要是让学生掌握各种测试方法在大型项目中的应用,熟悉测试项目中的管理,感受大型测试项目的工作流程,共32学时。

这样安排的课程内容体系,理论与实践教学的比例达到1∶1.5,加强了实用性,使教学内容以应用为重点,循序渐进,深入浅出,课程结构更加合理。

1.2编写多种教学辅助资料,完善配套教学资源

软件测试技术不断发展,课程讲授的内容应该与时俱进,我们不能只局限于教材内容,应在讲解基本原理、基本概念和基本方法的同时,注意增加一些前沿技术的介绍。同时,为配合课堂教学,加强课后指导和实践环节,我们编写了《软件测试技术实验指导》和《软件测试技术课程设计指导书》等内部资料。通过这些资料,巩固、深化课堂教学,启发学生积极思考,提高动手能力,达到举一反三的目的。

此外,为了增大课堂信息量、提高教学水平和效果,我们精心制作了全新的多媒体课件,在授课时充分结合现代教育手段和传统板书,做到重点突出,直观易懂,使课时利用率大大提高;同时还向学生提供大量相关电子文档资料、参考文献和参考网站地址等,使学生可以进行主动性学习。另外,为了便于教师和学生检验学习效果,我们还建立考核系统和题库,搜集了丰富的各种类型题目,并进行了汇总和整理。

2强化实践教学环节,提高学生的动手能力

软件测试技术是一门实践性很强的课程,有效的实践教学是促进知识理解,培养创造力极为重要的一个环节。在实践教学中,我们重点做到“两有、两严、一宽”。“两有”即:有指导,在教师的指导下,学生首先对上机内容进行分析,然后做出合理设计;有目标,对每一部分内容,都有培养学习能力的具体目标。“两严”即:严格要求学生自己动手设计方案并调试,杜绝个别同学拷贝的现象;严格验收和检查,要求学生编写规范化文档,并结合演示,随机抽取提问等手段,使学生在思考―实现―再思考中真正得到提高。“一宽”即为学生提供宽松的学习气氛,鼓励学生发表自己的见解,充分调动学生的主观能动性。

2.1以提高应用能力为出发点,由浅入深、循序渐进地设计实验内容

软件测试作为一门实践性很强的课程,内容众多,包括多种软件测试方法和测试工具的使用。为了保证教学效果,我们按照由浅入深、循序渐进的原则安排了基础性、综合性和设计性3级实验的方案。

其中,基础性实验是较简单操作性实验,主要包括白盒测试和黑盒测试,共8学时,通过学习,让学生掌握软件测试的一些基本方法,加深对理论的理解。综合性实验是对各知识点的综合应用,使学生理解和掌握软件测试技术和各种具体的测试方法在项目中的应用,感受软件测试项目的工作流程和实施细节,共8学时。基础性实验和综合性实验穿插与理论课同步进行,与课堂教学相辅相成,启发学生深入思考,勇于创新,达到理论联系实际的教学效果。最后32学时的设计性实验是本课程最高层次的应用性设计实验,需要学生自主设计、自主管理,分组进行,安排在暑假前的两周集中进行,目的是使学生体会软件测试的规律,熟悉软件测试项目中人员、产品、测试用例及缺陷的管理,锻炼学生的综合能力。

通过3级实验的安排,让学生感受到理论与实践相结合以培养实践能力的重要性,彻底改变重理论、轻实践的传统教学模式。教学实践表明,学生通过3级实验,更牢固地掌握了理论和技术,有效提高了工程设计能力。

2.2建设实践教学案例库,扎实执行实践训练

为了保障软件测试课程的教学水平,提高教学效果,我们采用了案例教学法。以可操作的软件测试案例为中心,让学生能在教学和实践的过程中体会实际的测试过程。为了保证案例的有效性和可操作性,以便在课堂教学中取得应有效果,我们收集建设了实践教学案例库。这些案例有的是从软件企业中收集,有的是从学生毕业设计和上机作业中收集,还有的是从教材及网上收集[3],另外也有教师自己设计开发的。有了这些教学案例,大大方便了学生的实践训练。

2.3搭建实验平台,实施开放式实验教学

为了引导学生重视所学知识与行业发展、市场需求的结合,以便在今后的就业中更具有竞争力,通过比较和论证,我们最后选择了大多数企业测试部门最常用的一些测试工具,包括WinRunner、LoadRunner、JUnit、Rational工具、Bugzilla等,对于大多数被测软件来说,这些测试工具完全能够支撑整个软件测试过程。

在搭建实验平台的同时,全面实施开放式实验教学,通过软件工程实验室,学生能全天候进行实践,老师能随时指导学生做设计,以及回答学生的提问,使学生的实验时间更加充分和自由。

3提高教学效果,加强师资建设和培养

要培养合格的应用型学生,首先应培养合格的教师。为了提高教学效果,我院经常选送任课老师到正规软件公司的软件测试部门实习,学习企业的软件测试管理和开发过程,并在企业许可的情况下,收集测试案例,丰富实践教学。另外还派遣任课教师到优秀的软件测试培训机构进行培训,以及攻读博士学位等,在教学中结合项目实践,将第一线的技术、信息带进课堂,通过培训和项目实践,进一步丰富了实践经验,促进了教学手段、方法的改进。此外,我院还经常不定期地邀请企业的业务骨干和行业专家为师生开设专题讲座,传授最新业务知识,开展技能培训等。

4引导学生正确认识软件测试技术和软件测试职业

软件测试人员不仅要掌握软件测试技术,还要具备软件系统分析、软件系统设计和软件编程等方面的能力。由于软件测试人员的工作是找出软件中错误,并经常同系统设计者和编程人员交流,因此严谨的工作习惯、良好的沟通能力和团队合作精神也是软件测试人员所必需的。而学生对软件测试技术的重要性和就业前景的了解,是激发和促使他们主动学习的重要推动力。为此,在教学过程中要予以适时介绍,同时邀请经验丰富的工程师来校报告,使学生清楚地了解职业要求和广阔的发展空间,正确认识软件测试技术和软件测试职业。

5结语

软件测试技术是软件工程专业的重要课程,通过对课程教学改革的实施,使学生对课本知识的理解更加深入,主动思考问题能力和实践应用能力也得到提高,为培养高技能应用型人才打下良好的基础。同时,教师们也普遍反映软件测试技术的教学质量和教学效果得到极大的提高。在这个过程中,我们摸索和积累了一些经验,以期对其他专业的教学也具有一定的参考价值。

参考文献:

[1] 李亚. “软件测试”教学探索与实践[J]. 计算机教育,2008(6):31-32.

[2] 胡宏银. 软件测试课程教学方法探讨与实践[J]. 计算机教育,2007(12):11-13.

[3] 钟元生. 软件测试实践教学特色的构建实践[J]. 电化教育研究,2006(10):62-65.

Reform on the Course Construction of Software Testing

WANG Shuai, ZHU Bin, LI Li-ping

测试工程师试用期工作篇12

文献标识码: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.

测试工程师试用期工作篇13

1 总监办工地中心试验室的职责

总监办工地中心试验室是对所辖标段进行数据控制和检验测定的中心,其规模应与所辖工程相匹配,对各个工程项目的材料、配合比和强度等进行有效的控制。试验人员应通过交通质监总站组织的公路水运工程试验检测业务考试,取得上岗资格证书。总监办工地中心试验室应建立健全各种规章制度,实行明确的责任分工。同时应对承包人工地试验室的设备功能、人员资格、操作方法、资料管理等工作进行有效的监督、检查和管理。按合同要求检查和督促承包人工地试验室的建立、仪器设备的维护, 试验人员及设备的配备。检查和督促承包人定期标定仪器设备;检查各对试验标准及规程的执行情况, 并提供技术指导,组织有关试验人员的业务学习交流;在各分部分项工程开工前,承包人先完成标准试验(包括各种标准击实试验、集料的级配试验、混合料的配合比试验、结构物的强度试验等),经驻地试验工程师全过程旁站审查后报总监办工地中心试验室,中心试验室对承包人的标准试验进行平行对比试验,以肯定、否定或调整承包人标准试验的参数与指标;凡涉及决定质量标准的一切试验成果必须经总监办工地中心试验室批准的试验数据才能成为各项质量控制标准。

2 试验室人员、设备的配备及管理

为加强施工现场质量的控制,由政府投资、交通行业主管部门负责建设管理的工程项目,均设有总监办工地中心试验室,主要为监理工作中的试验检测任务服务,同时对承包人工地试验室进行检查指导。总监办工地中心试验室可以由取得公路水运工程试验检测等级的监理单位自建,也可以委托取得公路水运工程试验检测等级和计量认证资格的第三方试验检测机构设立。

总监办工地中心试验室必须根据授权试验检测项目需要建设试验检测用房,主要包括力学室、水泥室、混凝土室、集料室、土工室、化学室、沥青室、沥青混合料室、现场检测室、样品室等,各室面积均不得小于20平方米。试验室的用房满足通风、采光条件良好,供电、排水必须到位,基础稳固、操作空间充足。沥青、化学室必须配置通风装置,注意用电安全,规范危险品管理、废渣废液处理,以保证试验人员的身体健康。

试验检测设备是试验室的硬件,是开展试验工作的物质基础。设备的使用状况及准确度、精度直接影响试验工作的质量, 所以应重视设备运转的可信度。设备管理必须完成以下几点工作:①建立帐、卡、物的管理制度。设备进行统一台帐登记;卡记录设备性能、随机配件、精度等; 帐、卡、物必须相符;②建立岗位责任制。各分室设备分别由专人管理和使用,对设备的保养、维修、使用及试验室的安全负责,正常使用后必须进行简单养护并定期进行保养;③建立设备检定/校准制度,确保试验数据准确无误。使用中的试验设备必须进行定期或不定期的计量检定/校准,设备检定/校准必须委托具有相应检定、校准参数资格的计量检定机构承担。总监办工地中心试验室应对设备校准报告进行审核,确认试验检测设备能否满足要求;④建立使用维修登记制度。每个人员使用的设备必须登记使用日期、试验内容、设备状况、故障情况等。只有执行严谨的制度才能将工作开展得井井有条。

总监办工地中心试验室主任由母体试验检测机构授权,主持全面工作,另外根据工作需要设副主任1~2人,明确职责与分工,协助主任完成试验检测任务及管理工作。根据不同试验检测内容,配备试验检测工程师及试验员或配合工人。试验检测报告签字人必须是持证的试验检测人员,报告由授权负责人签发。

总监办工地中心试验室要不断完善质量管理体系,建立完整的试验检测人员档案,做到试验检测台帐、仪器设备使用记录、试验检测原始记录、试验检测报告相互对应。

试验检测工作分为室内及施工现场的试验、检测工作两部分,有效的管理必须将二者协调统一起来, 就像协调整个总监办各部门的工作一样,必须达到二者的统一。目前,部分公路工程项目存在室内外管理脱节的现象,有相当一部分人把试验工作完全看作是为了试验而试验,根本不是为指导施工、控制施工质量而进行的试验。为了保证工程质量,必须重视加强试验检测这项工作。

3.1 室内试验工作管理

3.1.1 样品管理

样品管理是试验工作的关键环节,样品的采集必须根据不同材料的相关要求进行,并按相应的试验规程进行试验。样品采集后必须认真填写取样地点、里程桩号、拟作用途、取样日期、取样人等。采样人与试验人员分开,按盲样管理的原则进行。对可以保存的样品一式两份,一份试验,另一份留样,供试验结果有争议时仲裁试验用。

3.1.2严格执行试验规程及技术标准

试验规程及技术标准是试验工作的要求及方法,每个岗位责任人必须熟悉每个试验的操作步骤、试验条件、影响因素、注意事项,并能熟练地操作试验设备,能分析试验过程中出现的各种异常情况,并作出正确的判断,采取必要的处理措施,确保试验结果准确无误。同时也必须跟踪试验检测规范的更新,及时作出调整,保证所用的试验规程及技术标准都是现行有效的。

3.2 室外检测工作的管理

室外试验检测工作的内容比较多而且烦琐,如原材料的抽取、路基压实度的检测、混凝土试件的抽取等。这里就路基、路面、桥涵施工过程中最常见的试验检测内容作简要分析。总监办工地中心试验室是总监办的一个部门,用于完成整个总监办的试验检测工作管理, 同时必须督促、检查、指导承包人工地试验室的试验检测工作,所以总监办工地中心试验室的试验检测工作也需要现场试验监理工程师的配合。

3.2.1 路基施工质量的试验控制

路基施工过程中试验检测控制主要指标就是压实度检测,它必须首先以填料的最大干密度为标准,现场求取干密度来计算压实度,然而控制的最大难点就是填料干密度的使用,因为每个项目由于考虑经济因素,均采用挖填相互利用。而每处的挖方由于地质条件限制会产生填料性质变化较大,如果不能正确的确定、使用最大干密度,则所谓的压实度根本毫无意义。所以, 路基压实度的控制必须从填料的使用控制入手,这就需要提前做好大量的准备工作。首先项目开工前,必须对全线所有挖方及填方情况进行详细的调查,要求各路基标将各自标段的填挖情况汇总,进行详细统计并确定每一处挖、填方具体的数量,针对施工调配计划严密掌控所有填料的动态使用情况,做到随时调查随时更新。然后将每一种填料按规定进行全套土工试验,留存样品。

3.2.2 桥涵施工质量试验检测控制

首先要协助业主对承包人选用的水泥、钢筋的品牌作详细的市场、品牌信誉等情况调查。其次总监办工地中心试验室要完成监督承包人进场材料的品牌,对厂家合格证、质检报告的审验,督促承包人对原材料的试验并进行必要的抽检工作。但是在原材料质量有所保证的情况下要重视现场对材料的存放、加工、使用方面的控制。水泥必须达到防潮、堆高、存放期限的要求;钢筋加工无非是弯曲与焊接,主要注意冷弯速度不能过快,冷弯速度过快会使钢筋弯曲处产生裂纹等损伤情况从而降低强度、耐久性。另外最重要的就是焊接,必须要求焊工持证上岗,并按设计严格执行焊接形式。

3.2.3 路面试验检测管理

目前国内路面主要有沥青、水泥混凝土。路面施工周期相对短,工作量相对集中,路面试验检测工作内容基本一致,所以试验检测工作必须根据施工计划、进度情况合理安排。无外乎提前进行材料调查试验,确定材料规格进行备料,根据确定的材料状况进行配合比的设计,开展试验段施工,对试验段进行试验检测,积累分析施工数据作好总结、开始大规模施工的过程。总监办工地中心试验室的试验检测工作也必须随着施工情况而合理安排。总监办工地中心试验室必须主动配合、指导承包人工地试验室对周边材料状况进行详细的调查,根据设计指标、供应情况、施工计划进度、经济等因素选择确定合理的材料来源,同时必须依据设计或规范的要求进行材料指标的检验,确定材料合格更要合理。

4结语

总监办工地中心试验室的工作是在总监办的领导下对所辖全路段工程范围内的试验监理工作进行统筹管理,按监理办法及合同、规范规定的抽检项目、抽样频率、时间和方法,完成驻地试验监理工程师送、抽检的具体工作内容;配合驻地试验监理工程师, 完成各合同段施工前原材料及各种混合料组成及配合比的复核试验,以及对重点环节及可疑点的检测试验结果进行检验和复检,并对有关工程质量事故进行调查分析;审核,批复驻地试验监理工程师及承包人报送的各种试验,检测报表和有关技术资料,并按规定对所有资料进行分类整理, 汇总和归档。

公路工程项目总监办工地中心试验室的试验检测管理工作最重要的两个方面如下:

1试验检测工作必须是闭环控制的,无论试验检测过程中出现任何小的异常或不合格数据,中心试验室必须发挥吹毛求疵、谨小慎微的态度一查到底,对工程实体采取相应的有效手段进行校验和复核,直至证明该部位或结构实体能满足设计或规范要求。否则必须坚决强制进行返工处理,坚决避免不合格材料或有质量问题工程部位的存在。

2必须采用动态控制手段。因为施工现场日新月异,每天都有一定的进度,尤其是工期紧张的项目,作为试验检测管理的中心试验室必须采取主动,每天都要结合室内工作的侧重点合理安排施工现场的检测工作,一方面能有效地为承包人赢得宝贵的时间,另一方面能更好地对现场进行试验检测控制。

参考文献:

在线咨询
了解我们
获奖信息
挂牌上市
版权说明
在线咨询
杂志之家服务支持
发表咨询:400-888-7501
订阅咨询:400-888-7502
期刊咨询服务
服务流程
网站特色
常见问题
工作日 8:00-24:00
7x16小时支持
经营许可
出版物经营许可证
企业营业执照
银行开户许可证
增值电信业务经营许可证
其它
公文范文
期刊知识
期刊咨询
杂志订阅
支付方式
手机阅读