软件测试报告范文
时间:2023-05-06 18:20:04
导语:如何才能写好一篇软件测试报告,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
1)linux系统:RedHatLinux9.0
我采用的安装方法是从网上下载三个.iso文件,从DOS环境下安装。
2)u盘驱动(因为我的系统不能识别u盘):
①创建一个目录,放在/mnt
cd/mnt
/dev/sda1/mnt/usb/vfatusers,dmask=000,fmake=0111,iochaarset=cp93600
③插入u盘后,在终端输入mount/dev/sda1
④用完u盘后,先在终端输入umount/mnt/usb,在拔u盘
3)apache软件:index.htm
LoadModulephp4_modulemodules/libphp4.so
AddTypeapplication/x-httpd-php.php.phtml.php4.inc
AddTypeapplication/x-httpd-php-source/phps
6)以上安装全部结束,编写程序进行测试:
<?echo“hello,wanglu”?>保存此文件于/usr/local/apache/htdocs/1.php
运行apache
在浏览器输入localhost/1.php,显示hello,wanglu.
测试成功!
2.动态页面程序
<html>
<head>
<title>访客计数器</title>
</head>
<body>
<metahttp-equiv="Content-Type"content="txt/htmlcharset=gb2312">
<?php
$counterFile="/tmp/counter.txt";
functiondisplayCounter($counterFile){
$fp=fopen($counterFile,"rw");
$num=fgets($fp,5);
$num+=1;
echo"您是第".$num."浏览此页的先生(女士)";
exec("rm-rf$counterFile");//删除文件
exec("echo$num>$counterFile");//把新值记录在文件中
}
if(!file_exists($counterFile)){
exec("echo0>$counterFile");//初始化
}
displayCounter($counterFile);
echo"当前时间:";
echodate(''''Y-m-dH:i:s'''',time());
echo"\n";
include"resume.htm";
?>
</body>
</html>
3.总结
感谢贵公司给予我这次学习linux和php的机会。通过一个礼拜的自学,我从一个对linux,php一无所知的小小菜鸟变成对linux,php有一定了解的小菜鸟。在完成贵公司的测试题目中,我遇到了很多问题。解决渠道主要采用了上网查阅资料,翻阅书籍和同学探讨等三个渠道。我所遇到的问题如下:
1)在安装redhatlinux时,在手动分区中,由于在建根分区(/)时,我选了“强行分为主分区“这个选项,致使安装未通过。
2)所有软件均从网上下载,并想通过u盘拷到linux。可我安装的系统不能识别u盘。通过上网,搜索到相关信息。
3)当我以非root进入系统,运行/usr/local/apache/bin/apachectlstart出现Adressalreadyinuse,cannotbingtoaddress0.0.0.0:80
4)我最先下载的是php5,在安装php5中遇到“error:libxml2version2.5.10orgreaterrequired”,我又从网上下载了libxml2-2.5.11.tar.gz。在成功安装libxml后,又安装了php5,可在hpptd.conf中填入LoadModulephp5-modulemodules/libphp5.so后。以执行/usr/local/apache/bin/apacheectlstart就出错。可在安装php4时却不出现此种情况。
5)由于我校采取校园网方式允许我们连入internet,在我成功配置网络连接后,可以进入我校身份印证主页。当点击连接时,出现“erroroccurswhilegettingsomenecessaryinformationandyouannotaccesstheinternet”.
6)在编写php测试文档时,浏览器把中文显示乱码。解决方法。
在httpd.conf中加入AddDefaultCharsetGB2312或AddDefaultCharsetOff
篇2
【关键词】快速测试;软件质量;测试策略
0 概述
(1)软件测试现状
随着软件的快速发展,软件产品质量面临着前所未有的挑战,提高测试的效率、降低测试的成本,对软件产品提高质量和应对日趋激烈的市场竞争有着重要意义,而软件质量的提升主要靠软件测试来实现。
统计表明,在典型的软件开发项目中,软件测试的工作量往往占到总工作量的40%以上,而在总成本中,测试成本要占30%~50%。尽管目前大部分公司已经非常重视软件测试,但软件质量提升的实际效果不尽人意,一部分原因是软件测试方面的投入不足,更大一部分原因是软件开发人员、甚至软件测试人员的测试意识不足,测试时间不足,导致无法展开快速、有效的软件测试。
(2)软件测试面临的问题
首先,国内软件相对起步较晚,现在在软件开发上投入了大量的人力物力,相对而言在软件测试方面]有引起足够的重视,更没有进行成熟的软件测试研究,软件测试环境等测试资源国内暂时没有形成完善的氛围。
其次,软件测试人员较少,难以投入足够的人力展开大规模的、规范的软件测试,甚至在大部分公司软件测试人员地位收入要低于软件研发人员,软件测试远远没有引起重视。
第三,软件时间紧凑,开发时间紧张,测试时间就会被大大缩短。测试的效果会大打折扣。
软件日益复杂,软件错误日益增多,软件测试手段不成熟,测试人员不足,测试时间紧张等种种原因导致目前国内测试水平较差,软件测试没有完全展开。针对现状思考,综合考虑测试时间和测试效果兼顾,制定程序静态扫描的单元测试与探索性测试的系统测试相结合,先进行程序静态扫描的单元测试,通过后再进行探索性测试的系统测试的快速测试策略。
1 快速软件测试策略
软件测试是为了更快、更早的将软件产品中存在的缺陷找出来,并敦促软件开发人员尽快解决软件缺陷,向客户提供高质量的产品。确定有效的软件测试策略可快速找出软件中的缺陷。
1.1 单元测试
单元测试是检查软件单元是否正确实现了详细设计中的各项功能、性能要求,发现软件单元内可能存在的各种缺陷。
1.1.1 测试策略
针对单元测试目的,结合实际开发现状,拟采用静态测试工具对源代码进行程序静态扫描。
程序静态分析是:在不运行代码的前提下,通过词法分析、语法分析、控制流等白盒测试技术对软件源代码进行扫描,验证源代码是否满足规范性、安全性的一种代码分析技术。
1.1.2 常用静态分析技术
1.1.3 程序静态扫描的优缺点
程序的静态分析与动态分析是相对应的两种代码分析技术,主要实现方式是通过对程序代码的自动扫描发现隐含的程序缺陷,主要具有以下两条优点:
a)不执行程序,对源程序不会产生任何破坏。程序静态扫描不运行源代码,只是通过静态扫描对源代码进行语法、结构等方面的分析;
b)执行速度快、效率高。成熟的程序静态分析工具每秒可完成上万行代码的扫描,具有执行速度快、效率高的特点。
程序静态扫描的缺点也比较明显:误报率比较高,目前国际最好的程序静态分析工具误报率在5-10%之间,还是比较高的一个状态。
在软件程序实现的过程中使用程序静态分析工具对程序进行扫描,有助于快速发现代码缺陷,提高代码的质量,是一种在节省人力物力的前提下快速的提升源代码质量的有效手段。
1.2 系统测试
系统测试的目的是:在真实或者仿真环境下检验软件程序是否满足“软件研制任务书”和“软件需求规格说明”规定的功能、性能等要求。
1.2.1测试策略
针对系统测试目的,结合人员紧张、开发时间短的实际开发现状,拟采用使用探索性测试的测试策略对软件程序进行功能、性能的合格性验证。
探索性测试首先假设软件存在某缺陷,然后对提出的假设进行逐步验证。在进行探索性测试的过程中,学习知识、测试设计和测试执行是在同一时间交叉进行的。探索性测试的核心是依据测试的实际情况,即时设计测试用例并在软件程序上进行验证,测试结束后将测试的结果整理形成“软件测试报告”。
1.2.2探索性测试常用方法
探索性测试是对传统测试技术的补充,它的关注点更多是有目的性地验证程序是否存在某个缺陷。所以,探索性测试适用于所有的系统测试,但作为一种新兴的软件测试理论,它有着自己独特的测试方法和管理方式。一般使用如下两种方法来进行测试:
(1)结对测试法
结对测试的一般测试形式是两名测试人员共同对一套软件程序或者一台机器展开测试。它要求必须有一名测试组长来负责统筹测试全程,进行合理的测试安排。测试组长制定合理的软件测试计划,依据计划,测试成员两两组队,分工合作。在测试过程中,两位测试人员各有分工,一位进行测试操作,另一位主要负责提出建议、记录测试发现的缺陷、提出测试过程中对程序的探索性问题等。
结对测试要求测试人员都能清晰地进行交流,因为当一名测试人员将自己的探索性想法与其他测试人员进行沟通时,极有可能会触发其他测试人员的灵感,这种发散性的交流方式会碰撞出更多的思维火花,设计出更加准确、完整、符合实际测试情况的的软件测试用例,这比传统测试中要求测试人员按照固定的测试计划进行软件测试更有效率。除了以上优点,结对测试还有以下优点:
a)轻松的测试环境:轻松的测试环境将避免测试过程中测试人员产生的的枯燥和无聊情绪,明显提高软件测试效率;
b)良好的连续性:结对测试中,两位测试人员分工明确,一名软件测试人员专注于执行测试,另一名软件测试人员负责记录及文档整理,分工明确将大大增加测试的连续性,使测试具有更好的可持续性;
c)降低外界干扰:两人组成一个小的团队,其他无关人士前来打扰测试的机会将会大大降低,排除外界干扰 ,提高工作效率;
d)清晰的报告测试结果:结对测试中一人专注负责记录和整理测试结果,这将使测试报告的数据清晰完整;
e)有利于培养新的测试人员:结对测试,两两结对,有经验的测试前辈趁此机会将探索性测试中规律性的经验传授给新的测试人员,新的测试人员一边学习一边实践,帮助新人快速成长,提升测试技能。
(2)会话测试法
探索性测试的创始人James Bach提出过另一种有效的测试方法:会话测试法。这种测试方法的优点是既不影响探索性测试灵活性和探索性的特点,又能避免探索性测试人员松散不服从统一管理。目前是探索性测试所有方法中比较公认的一个有效的测试方法。
会话测试法中的会话主要包括两部分:一部分是明确的测试主题,另一部分是可以被检查的测试过程。“测试主题”指的是测试中想要发现的软件缺陷或计划完成被测试的功能。“可以被检查”是指阶段性的软件测试报告,该软件测试报告来表征会话测试期间的工作成果。
持续时间1.5小时的会话测试为最优会话测试,但这不是绝对的时间限制,一般而言小于45分钟的会话测试称之为短会话测试,大于2个小时的会话测试称之为长会话。一般情况,每天可以使用会话测试法对软件程序进行三轮测试。
会话测试中没有固定的模式对测试步骤及测试用例进行规定和限制,依据测试人员和测试主题来进行灵活选择和执行,例如测试人员可能会从某项功能开展测试,也有可能从频繁出现的缺陷打开测试入口。
1.2.3 探索性测试的优缺点
探索性测试最大的特点是具有强大的缺陷发现能力,作为一种高效率的测试方法,主要具有以下优点:
a)测试方式灵活、富有创造性和主观能动性。它比传统的测试方法更加灵活,例如探索性测试对测试文档的要求没有传统测试那么严格,但是它能够发现正常测试用例执行以外的缺陷,更有效地发现隐性缺陷,发现很多正常途径无法发现的缺陷也能够激发测试人员的创造性和主观能动性。
b)测试时间短,执行效率高。测试学习、测试设计和测试执行交叉进行,只对测试缺陷进行详细的记录,会大大缩短测试时间,为项目的整体开发节省大量时间。据统计,有经验的测试人员在使用探索性测试方法进行测试时,执行测试的时间能占到测试总时间的80%,而测试设计只占总测试的20%。
探索性测试的缺点也是显而易见的:对软件测试工作没有一个整体的规划,不利于测试的规范化、标准化;重复性测试的几率比传统测试要大很多,很难确定哪些测试已经执行过。
在测试时间短、测试资源不充足的情况下,使用探索性的测试策略展开系统测试,可以有效快速地发现软件缺陷,提高软件质量。
2 结论
软件质量是软件的生命,由于软件缺陷而造成经济损失、导致严重后果的事例屡见不鲜,软件测试作为软件质量保证的重要手段一直都是软件工程研究和应用的热点。在有限的人力物力情况下,如何展开有效的软件测试,显著提升软件质量更是每个软件研发人员的关注重点。
程序静态扫描提升源代码质量、探索性测试保证软件功能的合格性,二者有效地结合,在极短的时间内,节省开发人员精力的前提下,可以有效地_到软件测试的目的,是一种有效的测试策略。
【参考文献】
[1]张晓明,黄琳译.软件测试的艺术,机械工业出版社.
[2]朱少民编.软件测试方法和技术,清华大学出版社,2005.
[3]汪颖译.人月神话,清华大学出版社.
[4]吕灵,鲍臣礼.测试之美,机械工业出版社.
篇3
测试人员的职责就是通过测试报告向项目的主要涉众传达产品的信息,即他是作为一个重要的信息源,为质量体系的运作提供到位的服务。
软件测试员是指根据测试计划和测试方案进行软件测试;能够针对软件需求开发测试模型,制定测试方案,安排测试计划,并对测试项目进行管理的专业人员。其职业等级可分为四级、三级和二级等不同的级别。
(来源:文章屋网 )
篇4
关键词:软件测试;项目实训;实践教学;人才培养
作者简介:吴梦麟(1982-),男,江苏南京人,南京工业大学电子信息与工程学院,讲师。
中图分类号:G642.44 文献标识码:A 文章编号:1007-0079(2013)14-0126-02
近年来,随着中国内需市场的增长和国内外外包企业的合作加深,我国的软件外包行业得到了迅速发展。软件测试作为软件外包的主营业务之一,是加快软件企业与国际接轨,实现产品国际化的重要手段。随着软件开发流程的系统化和规范化,我国软件企业对软件测试的需求逐步增大,因此高校计算机专业中的软件测试人才具有良好的就业前景。
由于软件测试工作的特殊性,需要从业者不仅掌握一定的软件技术,同时也要对软件测试的方法和流程具备相当的经验。通过高校教育培养出来的计算机专业应届毕业生,虽然能够掌握基本的软件开发技术和软件测试理论,但是缺乏实际的测试经验和相应的行业背景知识,离企业的需求尚有一定的差距。目前高校计算机专业中软件测试教学仍以理论为主,实践动手能力和项目背景经验的培养相对不足,这些矛盾导致学生就业时很难适应企业的用人要求,企业也必须对招入的应届毕业生进行培训,花费相当的人力和物力。
项目实训是解决高校和企业之间供需矛盾的有效手段。在日常教学计划中引入项目实训,以实际测试任务为驱动,按照企业规范进行流程管理,让学生掌握测试过程中各阶段的技能,理论联系实践地接受企业化的锻炼。通过实训课程,使学生不但能够学习到实际测试经验,而且能够增强团队意识,进一步缩小毕业生与职业测试工程师之间的差距。
一、软件测试项目实施
1.测试项目简介
本文所述的软件测试实训项目是基于校企共建模式,由南京工业大学(以下简称“我校”)软件外包实验室提供软件测试的场所和专用的硬件设备,从合作的软件公司引入相应的测试平台、管理流程和测试报告文档的测试项目。
本项目的内容是针对前期开发的教师管理系统进行测试。该系统是教学部门的业务管理支撑系统,测试主要围绕教师信息的查询和更新操作的管理。通过对这些功能模块的测试,增强系统的易用性、稳定性、可配置性,消除信息孤岛,进一步提高数据信息的应用水平。
在测试环境搭建过程中,服务器的软硬件配置要与该系统的实际运行环境保持一致。对于测试计划、测试方案和测试用例等文档的修改、更新操作,则采用svn版本管理工具来进行控制。学生可以通过svn服务器平台,按照进度提交每日的测试用例文档,并填写日志记录测试进度和每天的测试工作。
2.实训计划和人员管理
软件测试实训安排在我校外包实验室中进行,采用与企业相同的管理模式集中训练,由相关教师和企业工程师来指导测试流程。测试团队的成员来自于我校电子与信息工程学院计算机专业的大三、大四学生,以及对软件测试感兴趣的相近专业的学生。这些学生具备基本的软件编程能力,并且对测试的基本理论有一定的了解。根据学生自身水平和对项目的熟悉程度,可以将其划分为不同角色,其中包括开发人员和测试人员。开发人员由原来参与系统开发的部分学生担任。测试人员可以分成不同的小组测试不同的模块,每个小组设置一个测试组长,负责测试项目管理,其余组员则负责执行测试用例,各小组都有一名教师作为指导教师,控制模块的测试进度。整个测试实训项目安排在假期进行,用时半个月,每天工作8小时。每天早晨由测试组长安排当天的测试任务,并对前一天的测试结果进行总结。在每个时间节点,由指导教师和小组成员对相关测试文档进行评审。
3.测试项目进程
本项目的实际流程图如图1所示,在项目初始阶段,担任开发人员角色的学生叙述产品需求和业务流程,为编写测试计划做准备。该测试项目主要分为5个阶段:测试计划制定、测试方案编写、测试用例设计、多轮系统测试和测试系统报告提交。每个阶段都力求达到规范化、细致化的测试目标,同时每个阶段都要经过教师和各个组员之间的评审,如果评审通过,可以开始下一阶段的工作;如果不通过,则需要完善后继续评审直到通过。
(1)测试计划制定。在了解了教师管理系统的需求以后,结合学生的基本情况、系统模块数量和测试的周期来制定测试计划。测试计划要涵盖测试的范围和环境、测试人员的管理和测试进度安排。考虑到参与实训项目的学生缺乏相关经验,因此测试计划要重点突出每个测试小组所对应的系统模块,以及测试流程中每个阶段所对应的完成日期。该测试计划由各组组长和指导教师制定,最后需各小组评审后通过。
(2)测试方案编写。测试方案是按照系统需求说明书详细的分析测试的模块,指导后续的测试用例的编写工作,重点在于对模块具体功能的理解和测试对象的分析。在这一阶段,首先由担任开发人员角色的学生来介绍系统模块的基本功能,并以文档的形式向对应测试组成员提交;然后由指导教师以具体测试点为例,介绍详细的测试用例写法;最后,由各组组长将测试任务分配给组员,各组员在理解的基础上开始测试用例的设计。测试方案完成以后由各组组长汇总,并在组内进行评审。
(3)测试用例设计。测试用例的编写是针对各功能模块测试而设计的一组测试输入、执行条件以及预期结果,也是本实训项目的重点内容。在对模块的特性和功能了解的基础上,设计系统的测试点,设计时应考虑角色权限、验证点和测试描述。在设计验证点的过程中,鼓励学生展开讨论,力求做到无疏漏;同时在测试描述时,可以将等价类划分、边界值、错误推测等常用方法与书本理论相结合,通过具体的实例加深学生对所学知识的理解。最终的测试用例以Excel表格形式列出,其中包括编号、重要级别、操作步骤、预期输出和实际测试结果等条目。
(4)多轮系统测试。按照测试用例的具体内容,可以进行多轮的系统测试。根据测试结果,扮演开发人员角色的学生对缺陷进行修改。通过这一过程,不但使学生认识到开发过程中存在的问题,而且积累了开发经验,为今后规范化的编程打下了基础。
(5)测试报告提交。通过半个月的实训,学生经历了规范化的测试流程,测试报告的编写是对测试内容的概括和总结。报告的内容主要有以下三个方面:通过对测试结果的分析,得到对软件质量的评价;总结本次的测试过程,为制定以后的测试计划提供参考;评估本次测试计划和测试执行是否符合规范。通过本次实训,学生普遍体会到从理论知识到实践的过程,明确了规范化的软件测试方法,同时对软件编写中隐含的错误和缺陷也有了一定的认识,为今后的软件开发打下一定的基础。
二、软件测试实训存在的问题和解决办法
本次软件测试实训基本达到了预期的效果,学生不但学到了规范化的测试流程,提高了职业软件素养,而且通过互动和交流,发现了教学中存在的一些需要解决的问题。首先,本次软件测试实训是针对上一次实训开发的系统,离企业的实际系统测试尚有一些差距;其次,参与的学生缺乏实际经验,对软件测试认识不足,导致测试方案和测试用例编写不够规范、完善;另外,相应的管理需要加强,在实训过程中存在迟到、早退以及缺席的现象,从而影响了测试进度。
针对以上问题,在今后的实训过程中,测试项目要尽量切合企业的实际需求,同时在测试方案和测试用例的评审中,要加强教师和学生的沟通,强调测试流程的规范性,可以多鼓励高水平的学生带低水平的学生。另外,可以采取企业现行管理方式对实训进行管理,如引入考勤制度、评审制度等。
三、结语
软件测试是我国软件产业高速发展中需求缺口较大的一个行业,培养具有相关经验和符合企业需求的软件测试人才是目前高校计算机专业需要解决的核心问题之一。本文通过研究软件测试实训项目,探索了软件测试专业人才的培训方式以及在此过程中遇到的问题,对研究校企联合的人才培养模式具有重要意义。
参考文献:
[1]徐瑾.中国软件外包业研究综述与展望[J].经济学动态,2010,(11):75-78.
篇5
一、工程咨询的特点
工程咨询业是智力服务性行业,运用多种学科知识和经验、现代科学技术管理方法,遵循独立、科学、公正的原则,为政府部门和投资者对经济建设和工程项目的投资决策与实施提供咨询服务,以提高宏观和微观的经济效益。工程咨询具有以下特点:工程咨询业务范围弹性很大,可以是宏观的、整体的、全过程的咨询,也可以是某个问题、某项内容、某项工作的咨询;每一项工程咨询任务都是一次性的、单独的任务、只有类似,没有重复;工程咨询是高度智能化的服务,需要多学科知识、技术、经验、方法和信息的集成及创新;工程咨询牵涉面广;许多工程咨询成果具有预测性、前瞻性;工程咨询提供智力服务,咨询成果属非物质产品。
二、软件测试的目的
软件测试是为了发现错误而执行程序的过程;测试是为了证明程序有错,而不是证明程序无错误;一个好的测试是在于它能发现至今未发现的错误;一个成功的测试是发现了至今为止未发现的错误的测试。
软件测试的目的不仅仅是为了发现程序中存在的错误,它还是软件质量保证至关重要的一个环节。软件测试不同于程序员在代码编写完成后简单的使用、调试,软件测试需要遵循一定的原则,软件测试的原则大致包括以下内容:确定预期输出是测试必不可少的一部分,程序员应避免测试自己编写的程序,程序设计机构不应测试自己的程序,彻底检查每一个测试结果,对非法的和非预期的情况也要象对合法的预期输入一样编写测试用例,检查程序是否做了要它做的事仅仅是成功的一半,另一半是程序是否做了不要它做的事,除了真正没有用的程序外,一定不要扔掉测试用例,一段程序中存在错误的概率与在这段程序中已发现的错误成比例,在规划测试时,不要设想程序中不会查出错误,所有的测试都应当追溯到用户需求,应该在测试工作真正开始前就开始计划测试,测试应该从“小规模”开始逐步转到“大规模”,测试发现错误中80%的错误属于20%的程序模块,穷举测试是不可能的,但充分覆盖程序逻辑是可能的,测试是一件非常复杂,具有创造性的和需要高度智慧的挑战性任务。
三、软件测试几点看法
软件测试作为软件上线的最后关口,应得到高度重视。但由于思想意识和历史原因,出现重开发轻测试的现象,软件测试成为制约软件成功上线运行的瓶颈。由于对软件测试的重要性理解不够,很多人认为程序能够运行基本上就已经成功,没有必要进行专门的测试,这些都是错误的观点。
软件测试分为:单元测试(模块测试),集成测试。在进行所有的测试前,一定先要认真阅读各种相关文档,同时制定测试计划,同时进行测试用例设计,在设计测试用例时,要对待测软件进行分析,设计合理的模型,制定测试用例。在测试进行过程中,要根据实际情况修改或增加测试用例。
在测试完成后,要根据测试结果填写《软件测试问题跟踪单》,在整个软件测试完成后,要分析测试结果并编写测试报告。在测试报告中要说明本次测试的结果,如各个等级的BUG的数目,在各个模块中的分布情况及评语。在整个项目完成后,将测试工作所产生的所有文档交文档管理员归档。
软件测试是为了拟制缺陷。作为衡量和评价的手段,测试是质量控制的核心环节,除发现问题外,测试还有预防的潜力。
篇6
1、负责应用上线前的内部测试,android应用程序的测试;
2、构建测试环境,设计测试脚本和用例,执行测试脚本和测试用例,寻找Bug;
3、分析问题所在并进行准确定位和验证,按照标准格式填写并提交Bug报告;
4、跟踪并验证Bug,并确认问题得以解决;
5、按照标准格式填写并提交测试报告,完成软件开发的集成测试工作。
任职要求:
1、掌握软件软件测试理论,有清晰的测试逻辑,良好的沟通能力
2、熟练编写测试用例及缺陷报告
3、了解安卓系统常用工具及命令,了解常用自动化测试工具
4、有过专业的测试培训经历者优先考虑
篇[二]:软件测试实习生的心得实习是我们工商管理类专业知识结构中不可缺少的组成部分,并作为一个独立的项目列入专业教学计划中的。其目的在于通过实习使学生获得各专业的感性知识,理论联系实际,扩大知识面;使得学生较为全面地了解企业经营管理,学习企业成功的管理经验;培养学生将理论联系实际,深入接触工商管理实际工作,运用工商管理专业知识分析和解决现实中的工商管理问题;加深对社会和工作的认识,端正工作态度,学习工作方法,锻炼管理技能,为今后顺利踏上工作岗位打下基础;并且尝试探讨工商管理管理前沿问题,初定毕业论文选题兴趣。
篇[三]:软件测试实习生的心得通过实习提高自己的对社会的认知能力,同时理论联系实际,让自己迅速适应社会,跟上IT前进的快速步伐,软件测试实习报告。通过理论与实际的结合、学校与社会的沟通,进一步提高学生的思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便培养自己成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。
篇[四]:软件测试实习生的心得根据所学课程的理论知识,结合企业的运营实际,掌握软件开发的一般过程,软件的生命周期和作为一个开发人员应该具备的基本能力,并撰写实习报告。使学生进一步巩固所学理论知识,同时提高观察问题、分析问题、解决问题的能力。
篇[五]:软件测试实习生心得写在前面:找工作真不容易,来北京呆了一个多月,都没找到一个合适的工作
大三的时候,一次计算机等级考试,由于考c,数据库,都没过,就报了个四级软件测试工程师。抱着试试看的态度学了一个月做了几套题,就拿下了一个四级证书。当时想的是,这都行,水分有点大吧。
本来想找一份网站开发的工作,技术不够硬,一直在北京飘着飘着啊。通过一个学姐,得到了一个软件测试面试的机会。于是半只脚踏入了软件测试的大门,因为我现在刚开始写测试用例,还没有真正的融入到团队中去。
实习生,直接领导给我安排了一个实习计划,严格按照实习计划执行。首先就是看公司软件的手册,要了解产品,知道软件的基本操作流程,不会了就问带我的师傅。就这样学了一个礼拜,不同于用一款软件,在用的过程中要去思考,这个功能为什么有,这个功能要实现什么。忘了说了,现在产品做的是功能测试,比较简单,所以分到了这个组里。一周之后带我的师傅检查了一下我的学习成果,具体操作、实现软件的一些功能,然后就几个主要的功能点以及一些需要特别注意的关键词,给我做了详细的讲解。
然后给我了两个功能界面,让我写一些测试用例,开始感觉没什么可写的,这两个功能实现起来很容易的。第一天试着写了几个,然后拿给师傅看,因为不知道从哪方面入手,虽然看了一些以前的测试用例,但是亲手写还是第一次,所以有些拿不准。
篇7
【关键词】计算机软件;测试;方法与分析
面对激烈的市场竞争,很多软件开发商为了能占领一席之地,对软件进行各种升级更新、测试与维护,最终的目的是把自己的软禁推向市场,从而更好的为社会服务,也获取最大的经济效益。没有经过测试的软件,很大程度上面临质量不佳、运行风险,对企业造成负面影响,影响企业地位和信誉。特别是一些关键的核心软件,如医疗卫生系统软件、订票系统软件、银行结算软件等,如果没有进行严格的事前检测,造成的后果将不堪设想,所以,计算机软件的测试则是一个很重要的环节,必须引起重视,对软件进行测试评估,保证软件的运行质量。
1.计算机软件测试的方法分析
软件测试作为计算机工程的一个重要环节,是提高软件质量的保障,软件的测试需要很强的逻辑性。关于计算机软件测试的方法分类,目前主要有四种:即静态测试、动态测试、黑盒测试、白盒测试。
1.1静态测试
所谓静态测试指的是不执行计算机程序代码来寻找程序代码中的问题与错误,这一过程需要人工手动进行,或者借助其他工具完成。
1.2动态测试
所谓动态测试指的是在计算机的实际运行中,测试软件的程序,对程序的真实情况、发生动态进行分析和处理的过程。
1.3黑盒测试
黑盒测试指的是根据软件产品的功能,通过检测的方式对每一部分的功能进行检测,从而检测软件是否正常使用,黑盒测试的理念是把测试系统看成一个黑盒,通过外界输入的方式,在输出检测结果,从而得出结论的过程。黑盒测试的主要优点在于:简单容易操作,不需要很复杂的内部代码,测试与计算机软件的内部没有很大关系,从用户的角度出发,很容易解决问题的发生,功能的实现等。而且黑盒测试在自动化测试中也很方便。黑盒测试起着重要的不可替代的作用。随着软件开发平台及软件设计思想的进步和发展, 对黑盒测试提出了更明确的要求。人们发现, 必须遵循一定的测试理论, 依赖优秀的测试工具, 才能进行科学、完善的测试。
1.4白盒测试
白盒测试也被称作结构测试或者逻辑测试, 可以查阅被测代码内容的测试工作。但是需要知道程序的内部设计结构、具体代码, 并根据基础程序来设计测试。白盒测试的优势在于测试用例在代码上什么地方被忽略。帮助软件测试人员增大代码覆盖率, 提高代码质量, 发现代码隐藏问题。
2.计算机软件测试的手段分析
2.1 web网站测试手段
随着网络系统的普及,基于internet的浏览器、服务器结构的大型应用软件越来越多,一套软件应用系统是否可以承受大量数据,向多个用户同时间访问,并且用户不会感觉反应慢、系统失灵、登陆不上等状况。如果采用模似实际情况,找若干台电脑和同样数目的操作人员在同一时刻进行操作,后拿秒表记录下反应时间,这样的手工作坊式的测试方法不切实际,还无法捕捉程序内部放入变化情况,所以就需要压力测试工具。测试的基本方略是自动负载测试,即通过在一台或几台机上模拟成百或上千的虚似用户,同时执行业务,对应用程序进行系统测试的过程。工具还可以同时记录每一事务处理的时间,中间服务的峰值数据,数据库的状态。主要测试包括交易处理性能指标、资源监控。其中交易处理性能指标包括交易结果,每分钟交易数、交易响应时间, 最小服务的响应时间,平均服务的响应时间, 最大服务的响应时间等。压力测试的过程, 即逐渐增加负载,直到系统瓶颈或不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程,最后由测试工具自动生成测试报告与测试结论。
2.2测试工具选择
目前市场上的性能测试工具种类很多,可简单划分为以下几种:负载压力测试工具、资源监控工具、故障定位工具。负载性能测试工具的原理通常是通过录制,回放脚本,模拟多用户同时间访问被测试系统,制造负载,产生并记录各种性能指标,生成分析结果,从而完成测试的任务。
主流负载测试工具的主要内容是偏写测试脚本,脚本中一般包括用户常用的功能,然后运行脚本, 得出报告。
3.计算机软件测试的过程分析
3.1测试的计划
测试计划就是定义一个测试项目的过程, 确定各测试阶段的目的和策略, 以便能够正确地度量和控制测试。这个过程将输出测试计划文档,明确要完成的测试过程的每一个阶段提供清楚的目标。
3.2测试的项目设计
测试设计是在软件开发设计阶段进行的测试工作,需要被测方提供较规范的软件需求规格说明、 概要设计、详细设计。测试设计是测试过程中最重要的阶段。在这个过程中将定义测试用例, 测试用例的设计对整个测试工作的成败起了决定性的作用。测试项的设计步骤分为以下几步:首先是 测试项的设计分析式样,使用各种技法、矩阵、错误的推测设计测试项。其中具体的技法会在后面做详细介绍。
其次是结果确认的讨论。测试项组合/ 重复的删除。从测试项中删除将没有依存关系的内容组合起来进行测试的项目。,删除根据多种测试技法做成的测试项中的重复项目。再次是测试项目的review有没有无效的测试项, 有没有重复的测试项, 测试项是否有遗漏,结果确认方法是否妥当。
3.3测试的准备
测试准备阶段是在测试实施之前,构造测试计划中说明的执行测试所需的要素,这些要素通常包括驱动程序、测试数据集、实际执行测试所需的软件; 同时为每个测试过程选择适当的测试用例; 准备测试环境和测试工具。
3.4测试的实施
按照测试计划, 使用测试用例对待测项目进行逐一的、详细的测试。将获得的运行结果与其他结果进行比较、分析和评估, 判断软件是通过了每项测试还是失败, 确定开发过程中将要进行的下一步工序; 同时记录、跟踪和管理软件缺陷。在每个测试执行之后, 对发现的错误都要进行相应的修改。当软件修改以后, 必须运行原有的全部测试用例重新测试, 并验证测试结果, 这样可确保修改后软件的正确性和质量。应定期进行回归测试, 看该错误是否会重新出现。回归测试是确认已测试的问题已不再存在的一项工作, 每进行完一个阶段应检查执行结果与测试计划或测试设计文件中是否存在差异。若存在差异就应针对差异进行适度的调整, 可能是修改测试设计文件的内容及测试计划的进度、安排等各种情况。
3.5测试的报告
将测试执行阶段得到的测试结果进行测试分析和汇总,测试观点是否有遗漏,结果确认方法是否妥当,依次评定测试用例、测试项、软件总体质量等级。如果必要, 还应该组织专家评议, 最终得到测试报告。测试分析报告的结构可以参考计算机软件产品开发文件编制指南。
3.6测试包整理
开发结束后, 整理测试包以便于下期开发时用来进行降级测试。软件测试是通过使用各种方法, 黑盒或白盒方法发现错误,分析错误,找到错误的分布特征和规律,从而帮助项目管理人员、开发人员发现当前所采用的软件开发过程中缺陷, 以便改进。同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。完整的软件测试不仅可以给软件进行一个正确的评价,而且是提高软件重要的方法之一。
【参考文献】
[1]马瑞芳,王会燃.计算机软件测试方法的研究[J].小型微型计算机系统,2003,(12).
[2]刘竹林.我国计算机软件测试现状分析[J].华南金融电脑,2004,(09).
[3]吕雄津.浅谈计算机软件测试技术与保护技术[J].计算机光盘软件与应用,2012,(09).
[4]刘皓,李长命.软件测试简述与展望[J].江苏现代计量,2008,(01).
篇8
【 关键词 】 成本估算;COCOMO模型;软件测试;DO-178B
Estimate the Cost of Software Testing Based on COCOMO Model
Dong Xi 1 Li Lei 2 Zhang Peng 1
(1. The 723 Institute of CSIC, JiangsuYangzhou 225001;
2.China Aeronautical Radio Electronics Research Institute Shanghai 200233)
【 Abstract 】 This paper introduces the software industry's most extensive, most famous Software cost estimation model COCOMO. And according to the characteristics of software testing cost is difficult to estimate, applied The COCOMO estimation model to the cost estimation of software testing in order to improve the software cost estimation efficiency and success rate.
【 Keywords 】 cost estimate; cocomo model; software testing; do-178B
1 引言
在当今软件过程活动中,软件研发机构将研制力量的40%以上投入到软件测试之中已经越来越普遍。特殊情况下,对于性命攸关的软件,如战斗机飞行控制软件、核反应堆监测软件、神舟飞船上各型软件等,其测试成本(包括人力、经费、材料等)甚至高达所有其他软件工程阶段成本总和的3~5倍。因此,如何合理分配开发与测试的经费、人员等成为一个软件项目成功很关键的因素。而项目成本往往在项目前期,也就是项目成本预算中就已经确立,所以,有效的软件测试成本评估也显得极为关键。
2 软件测试成本估算现状
软件测试是软件生命周期内的一个重要阶段,也是保证软件质量的重要手段之一。随着市场对软件质量要求的不断提高,软件测试不断受到重视。如何较好地制定软件测试计划,合理分配软件测试过程中的人力、物力资源,对软件测试的成本如何进行较为精确估计等都值得关注。
目前,对软件开发成本估算的研究与应用已经比较广泛,形成了以功能点分析法、专家判定-delphi方法等为代表的估算方法和模型。相比较而言,软件测试规模的估算研究和应用相对较少。尤其在软件测试的成本估计方面往往还凭测试专家的经验来定,这样极易导致软件测试由于预算的不足导致的测试活动的不充分、测试质量低下。
3 COCOMO模型简述
著名软件工程专家、经济学家Barry Boehm在其著作《软件工程经济学》中提出了软件估算模型层次结构,称为构造式成本模型COCOMO(Constructive Cost Model),至今该模型已经成为软件界最通用的估算模型。
3.1 三种类型的软件
COCOMO是针对Boebm划分的三种类型软件进行估算的。
1) 固有型(Organic Mode)项目:规模较小、较为简单的项目,开发人员对项目有较好的理解和较为丰富的工作经验,如飞机的极限告警灯信号软件。
2) 嵌入型(Embedded Mode)项目:这类项目的开发工作紧密地与系统中的硬件、软件和运行限制联系在一起,如飞机的飞行控制软件。
3) 半独立型(Semi-detached Mode)项目:项目的性质介于上述两种类型之间,其规模与复杂性均属于中等,如考勤信息管理系统、OA事务处理系统等。
3.2 COCOMO的三级模型
1)基本COCOMO模型。该模型为静态、单变量,以估算出的源代码行数计算开发工作量和开发期。
开发工作量为:E = a (KLOC)b
式中:E为工作量,单位为人月;KLOC为交付的千代码行数;a,b为模型系数,如表1所示。
2)中级COCOMO模型。该模型除考虑源代码行数外,还考虑调节因子(Effort Adjustment Factor,EAF),用其体现产品、软件、人员和项目等因素。
开发工作量:
E = c(KLOC)d×EAF
式中,c、d是模型系数,如表2所示;EAF是调节因子,它包含了4类15中属性,其值从0.7~1.66,如表3所示。
3)高级COCOMO模型。高级COCOMO模型除了保留中级模型的因素外,还涉及软件工程过程不同开发阶段的影响,以及系统层、子系统层和模块层的差别。由于篇幅关系,不详细介绍。
4 软件测试成本估算设计与实现
4.1 软件安全性等级划分
根据RTCA的DO-178B标准,软件的安全评估及风险分析需要描述当其失效时对机身、机组人员、乘客产生的后果,以此确定软件DAL(Design Assurance Level)水平。
灾难性的:失效将会导致航空器损毁,阻止继续安全飞行和着陆。
危险的/严重的:失效严重影响航空器的安全性和性能,降低机组人员克服不利操纵状态的能力,造成乘客的严重伤害。
较重的:失效是明显的,但是比危险的/严重的失效等级影响小,给机组带来明显的工作量增加。
较轻的:不会严重降低航空器安全性及有关机组的活动在他们的能力内能很好完成的失效状态。
无影响:不影响航空器的工作性能或不增加机组工作量的失效状态。
按照软件失效条件把机载软件分为A-E五级,安全关键程度从A至E逐级降低。
DO-178B尽管是航空标准,但已经在整个军工领域已经得到推广和应用。本文在软件测试成本估计工作时候,首先也参照DO-178B标准,划分软件安全性等级。
4.2 软件测试各阶段划分
随着GJB5000A模型的逐步成熟,国内相当一部分软件研制单位开始有意识地接受并采用GJB5000A作为其软件生产过程的制度体系和标准。软件测试作为软件生命周期中一个重要活动组成部分,必然要按照GJB5000A标准,严格控制软件测试过程活动。
通常软件测试过程按四个步骤进行,即单元测试、集成测试、系统测试、验收测试,每个测试过程根据需要有三类输入。1) 软件配置:包括软件需求规格说明、软件设计说明、源代码等。2) 测试配置:包括测试计划、测试说明、测试用例、测试程序等。3) 测试工具:为了提高软件测试效率,有时测试工作需要测试工具的支持。
同时,测试过程也有相应的输出。1) 测试结果数据:包括测试本身的错误、测试发现的程序错误、文档错误等。2) 测试结果报告:通常包括测试报告、软件质量分析文档等。
4.3 软件测试调节因子
可根据DO-178B标准中软件安全性等级,结合软件测试过程各个阶段,设计出相应的软件测试成本估算调节因子(Software Test Effort Adjustment Factor,STEAF),如表5所示。
由于软件测试工作量与软件开发工作量大致为1.1:1.0的关系,因此,软件测试工作量有由如下公式计算得出:
TE = E×1.10×■STEAFi
式中:TE为软件测试工作量,单位为人月。E为软件开发工作量,单位为人月。STEAF为软件测试成本估算调节因子。
4.4 软件测试成本估计实现
例如,某一地面远程通信嵌入型软件,源程序1万行,采用中级COCOMO模型估算。可以得出开发工作量:
E = 2.8×101.2×1.4 = 62.13(人月) (数据取自表3-2,表3-3)
假设该软件为B级软件,则根据公式,测试工作量为:
TE = E×1.10×1.10×1.30×1.40×1.35 = 184.71 (人月)(数据取自表4-2)
5 结束语
本文简单介绍了COCOMO模型知识与软件测试成本估算的基本概念,并初步探讨了如何将软件开发成本估计的成熟模型和思想用来指导软件测试成本估算工作,对实现软件测试成本估算有着重要意义。同时,该实现方法只是一种初探,软件测试过程调节因子可能在各个单位有本地化影响,在今后的大量软件测试工程实践中,各个软件测试活动主体可以根据实际结果,进行数理统计,对软件测试过程调节因子进行相应的修订。
参考文献
[1] 宋巍.软件功能测试成本估算模型研究及其应用[D].上海:上海交通大学,2009.
[2] 柳纯录.信息系统项目管理师教程[M].北京:清华大学出版社,2012,12.
[3] 郑人杰,马素霞,殷人昆.软件工程概论[M].北京:机械工业出版社,2009,11.
[4] 杜海凤.基于COCOMO模型的软件定价方法研究[D].北京:北京交通大学,2012.
[5] DO-178B, Software Considerations in Airborne Systems and Equipment Certification, RTCA,1992.
[6] 康玻等.软件测试方法与应用[J].九江学院学报(自然科学版),2004.
篇9
【关键词】软件测试;综合性实验;项目驱动法
Software Testing Technology Comprehensive Design Experiment
AO Li TIAN An-hong LI Jing-li XU Qiu-li
(School of Department of Computer Science and Engineering, Qujing Normal College, Qujing Yunnan 655011,China)
【Abstract】Software testing is a practical course, pay attention to students' practice ability, and the demand of the software testing industry is very big, test course in colleges and universities there is a heavy theory and the phenomenon of light practice, to solve these problems, carry out the comprehensive design experiment, this can provide the value for software testing curriculum reform in colleges and universities.
【Key words】Software testing; Comprehensive experiment; Project driven method
随着软件行业的飞速发展,国内外出现很多新鲜的软件企业,增加了大学生的就业机遇,然而软件的规模在日益扩大,它的复杂性也在逐渐增强,如果软件出现缺陷,修复的代价就很大。软件测试是保证软件产品质量的最有效的方法[1],然而在国内软件行业对软件测试的认识普遍较晚,并且存在一种现象“重开发、轻测试”[2],导致中国软件行业发展的怠慢。很过高校也多都先后开设了软件测试的课程,但很多老师都不具备实际的软件测试经验,本文研究开展基于软件测试的综合性设计实验,探讨提高教学效果。
1 课程性质
《软件测试技术》是计算机科学与工程学院中软件工程专业的一门重要的专业必修课,是为我国软件产业培养急需的软件质量保证和测试专业人才服务。该门课程在很多高校重视理论教学,轻视实践教学[3],以及课时太少,无法掌握软件测试的核心内容。
开发《软件测试技术》综合性实验对学生意义重大,通过本课程的学习,使学生能掌握软件测试技术和基本操作技能,进一步加深对所学基本理论的理解,对实验所用的测试工具能够正确和熟练地使用,并能撰写规范的测试文档,达到能够根据软件需要进行软件的测试设计、实施和管理的目标。
2 综合性实验方案
综合性实验主要是使学生掌握黑盒测试技术,白盒测试技术;了解单元测试,集成测试,系统测试的方法;掌握测试用例的撰写与管理;熟悉自动化功能测试工具QTP和性能测试工具LoadRunner的基本使用方法,具备软件测试人员的工程应用能力。本实验要做以下工作:
第一,确定测试系统。测试工程实践需要着重解决的问题是项目的设计,既要考虑满足教学的条件与要求,又要实现与实际测试工作的对接,并体现测试过程的特征。对于测试工程实践,根据软件企业测试工作实际,选择基于网络的应用系统软件,该项目的测试环境易于搭建,测试项目比较容易从企业或实际中获得,教学活动也比较容易组织和实施,测试实践的内容也比较丰富,自动化测试工具的运用较多,操作过程与结果分析也易见,以实际测试工程项目作为进行实训的载体,通过项目的协同完成,培养职业综合能力。
第二,测试过程。在学生有一定软件测试理论知识的基础后,布置实验要求,学生按实验需求,设计测试计划与策略,撰写测试用例,逐项展开黑盒测试、白盒测试、自动化功能与性能测试。
第三,学生分组。把全班学生按5-6人进行分组,并选定一名组长。
第四,分配任务。每个小组根据成员能力水平和任务难度,给每个成员分配一定的任务,并按测试计划完成相应的实验任务要求。
3 项目实施方法
本实验可以考虑以下方法:
第一,案例教学。教师针对重要的测试技术,有针对性地设计了教学案例,并注重案例的趣味性、实用性和易学习性,使学生可以轻松地将测试理论运用到生产实践中。
第二,项目驱动。在软件测试课程最后,可以通过一个综合案例的运用,让学生掌握所学的知识。如采取web网站系统的测试为例。教师可以模拟企业实际开发的场景,把班级的同学分为几个不同角色,如开发人员、需求分析人员、测试用例编程人员、黑盒测试人员、白盒测试人员、用例管理人员、自动化功能测试人员、自动化性能测试人员等。让学生熟悉企业在实际项目中的开发流程,增强学生的兴趣与动力。
首先,教师把web系统的测试功能给同学们讲解清楚,并提供相应的规格需求说明书,然后,学生按照老师的要求,自个进行自己的工作,最后,提交测试报告。通过这样的一个环节,能够让学生综合所学的知识,如测试用例的设计,需要考虑黑盒测试和白盒测试,不同测试方法的重点不同,可以从功能入手,也可以从界面和性能入手,此时就可以锻炼学生自主分析的能力。综合实践环节的最后,还需同学们提交测试缺陷报告,这次过程中,需要把各个同学的测试内容整合起来,存在相互合作沟通的问题。通过一个实际完整的测试方案项目的执行,学生更容易掌握所学知识,为今后工作奠定了基础。
4 结论
软件测试课程是软件工程专业的核心重要课程,通过开展综合性设计实验,学生的实践能力得到了明显地提高。
【参考文献】
[1]程静,孙占锋.软件人才创新教育培养模式的研究与实践[J].教育与职业,2009(29):111-112.
篇10
【关键词】软件测试;工作过程;课程设计
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).
[3]蔡建平.开源软件测试实践教学方案设计[J].计算机教育,2011(3).