APP下载

基于ALM的软件测试实践教学改革与探索

2019-10-21苏晶

科学与信息化 2019年30期
关键词:软件测试实践教学

摘 要 近年来,软件行业的蓬勃发展,使得软件质量日益受到关注,而软件测试是软件质量保证的基础。在深入分析了目前高校软件测试课程在实践教学方式上所存在的问题后,本文详细阐述了基于ALM的教学改革方案,该方案的初步构建和实施,对于提高学生参与实践教学的积极性,培养工程实践能力具有重要意义。

关键词 软件测试;实践教学;ALM

前言

近年来,软件行业蓬勃发展,使得保证产品质量,提高用户满意度成为业界共同关注的首要任务,一方面推动了软件测试行业地快速发展,市场对高素质、专业化软件测试人才的需求量急剧增加;另一方面,为了提高企业自身的竞争力,对软件分析、设计和开发人员的质量管理和质量保证意识提出了更高的要求。作为人才培养基地的高校,在培养具备工程实践能力的测试人才方面任重而道远。

1教学改革的目的和意义

软件测试课程传统教学模式存在诸多问题,其中最为突出的是实践教学环节与社会对质量保证人才的需求存在脱节现象[1]。

本课程的实践性极强,且理论体系环环相扣。而传统的实践教学通常只是通过零散、关联度极低的验证型实验内容,用于巩固课堂上所学的知识。在这种情况下,学生往往对于实践环节重视程度不够或不感兴趣,参与度和积极性大打折扣,提交的成果物普遍存在抄袭现象。继而使得学生无法深入理解软件质量特性和质量保障的任务,以及软件测试在提高软件产品质量过程中所发挥的作用,最终导致学生无法将所学知识融会贯通,用于解决实际问题。

2ALM的引入

为了确保学生对所学知识的全面认识和理解,实验内容应与课堂教授知识体系一致。依据软件测试知识体系,本课程的教学内容主要分为软件测试方法、软件测试阶段和软件测试质量特性三部分[2]。课程知识点繁多且较为零散,不利于学生的学习和掌握。为了将知识点有效衔接起来,本课程借鉴惠普应用程序生命周期管理(Application LifeCycle Management,简称ALM)的基本思想,教学及实践内容以软件测试过程管理为主线开展,完成对测试方法、阶段和质量特性的全方位覆盖。同时将软件测试新技术、行业发展现状、ALM、UFT、LoadRunner等业界常见自动化工具的使用融入课堂教学与实践中。

ALM软件测试生命周期管理主要包括以下4个阶段[3]:

指定需求:对接收的开发需求进行分析,得出测试需求;

测试计划:根据测试需求创建测试计划,分析测试要点并设计测试用例;

执行测试:在测试运行平台上创建测试集或者调用测试计划中的测试用例执行;

跟蹤缺陷:报告在手工或自动化执行测试的过程中发现的软件缺陷,并跟踪管理整个缺陷的修复过程。

通过将惠普的ALM思想引入到软件测试课程的实践教学中,不仅能将软件测试所涉及的知识体系贯穿融合起来,而且能将教学环节与工程实践有机结合起来,因此能够达到完善实验教学方式、增强学生软件工程全局意识的目的。

3教学改革方案

3.1 实验项目的设计

实践教学环节围绕着软件测试过程展开,主要包括六个环环相扣、衔接紧密的实验项目,学习并体验ALM软件测试应用程序生命周期的管理思想。

(1)实验1 指定发布和需求

实验内容:配置ALM服务器环境,在站点管理中创建项目及用户;在ALM管理模块中创建发布和周期,完成对测试项目的启动;分析开发需求,建立需求跟踪矩阵,将测试需求导入至ALM需求模块中,并建立需求与发布间的关联关系。

任务类型:小组任务

输入:软件需求规格说明书

输出:测试需求报告

(2)实验2 设计测试用例

实验内容:根据测试需求分析测试要点及测试点;设计能够覆盖测试点的测试用例,并将其导入至ALM测试计划模块中;建立测试用例与需求间的关联关系。

任务类型:小组任务(30%)+个人任务(70%)

输入:测试需求报告

输出:测试计划报告、测试用例报告

(3)实验3 执行测试用例

实验内容:将测试用例生成测试运行集,手动执行测试用例,记录实际运行结果,报告软件缺陷,并建立缺陷与测试用例和测试需求间的关联关系。

任务类型:个人任务

输入:测试用例报告

输出:测试执行报告、缺陷跟踪报告

(4)实验4 单元测试

实验内容:编写驱动模块和桩模块,搭建单元测试环境,手动执行程序并记录结果;使用框架工具JUnit编写测试脚本并执行,自动生成测试结果报告;分析比较手工和自动化单元测试的优缺点。

任务类型:小组任务

输入:测试用例报告

输出:单元测试脚本、测试结果报告

(5)实验5 系统功能测试

实验内容:通过功能测试工具UFT录制测试脚本,通过检查点、参数化及模块化等技术加强脚本,回放并执行脚本,生成测试结果报告。

任务类型:小组任务

输入:测试用例报告

输出:功能测试脚本、测试执行报告、测试结果报告

(6)实验6 系统性能测试

实验内容:通过性能测试工具LoadRunner的虚拟用户生成器录制并加强测试脚本,通过控制器创建负载测试场景,并管理监控负载测试过程,通过分析器创建报告并评估系统性能。

任务类型:小组任务

输入:测试用例报告

输出:性能测试脚本、测试执行报告、测试结果报告

3.2 实验过程的设计

①实验过程模拟公司项目组的工作模式,采用分组分阶段任务的形式展开,通过统一教学案例,考核学生对软件测试过程管理和自动化工具使用的掌握程度。实验内容分为小组任务和个人任务两部分。小组任务要求组员团队合作完成,且工作量尽可能做到平均分配,个人任务要求各组员在案例分析材料的引导下独立完成。②实验课程以软件测试的生命周期管理为主线,将课堂所学知识有效衔接起来。实验项目内容环环相扣、衔接紧密,因此要求阶段成果物必须限时提交,以保证后续过程的顺利开展。③实验课程结束后,任课教师在尽可能短的时间内,对学生提交的阶段成果给予批改和反馈,对于共性问题在课堂中进行有针对性的讲解。④对于任课教师给予的批改和反馈,在规定时限内,可进行修改和完善,并进行二次提交,以加深学生对所学知识的全面理解。

3.3 实验成绩评价方法

实验项目成绩采用百分制评价标准,分为小组任务成绩和个人任务成绩两部分,两者按一定比例综合得到最终实验项目成绩。比率值由任务性质及工作量情况确定。

个人任务成绩和小组任务完成成绩严格按照实验成绩评价标准给出,而每名组员的小组任务成绩=小组任务完成成绩*贡献度比率值。其中比率值由小组组长确定,需真实反映组员在任务完成过程中的贡献度,且需得到组内所有成员的认可。贡献度比率值最高为100%,组员间比率值差额不得小于2%。

4课题实施过程与效果

2015年,随着我校软件测试实验室的建成及投入使用,课题组成员着手对课程实践教学方式进行改革。2017年,改革方案初步应用于计科卓越班的实践教学中,实施效果良好。学生普遍反映通过测试需求分析、测试用例设计、手工及自动化的测试用例执行、缺陷报告跟踪等一系列衔接紧密的过程,对软件测试知识体系的理解更为透彻和全面;通过模拟公司项目组的实践教学内容及方式,有效调动了学生学习的积极性,提高了动手实践能力和文档撰写能力;通过分组分阶段完成各项实践任务,提高了团队合作和交流沟通能力,能够实现将所学知识与工程实践地初步结合。

参考文献

[1] 蔡建平.现代软件测试基础[M].北京:清华大学出版社,2014:208-209.

[2] 佟伟光.软件测试(第2版)[M].北京:清华大学出版社,2015:16-18.

[3] 杨秋辉.软件测试课程实践教学改革研究[J].计算机教育,2016, (2):106-109.

作者简介

苏晶(1981-),女,山东省滨州市人;学历:硕士研究生,讲师,现就职单位:山东理工大学计算机科学与技术学院。

猜你喜欢

软件测试实践教学
软件测试方向人才培养“1+X”融合研究
大数据背景下软件测试技术的发展
关于 Web 应用系统的软件测试的研究
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
研究型学习在传热学实践教学中的应用
思想政治理论课实践教学研究述评
高职院校商务礼仪课程教学改革探索刍议
《数据库高级应用》教学创新方法研究
军用软件测试项目管理系统设计与实现