公务员期刊网 精选范文 软件测试报告范文

软件测试报告精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的软件测试报告主题范文,仅供参考,欢迎阅读并收藏。

软件测试报告

第1篇:软件测试报告范文

杭州守业软件股份无限母司正在原止业率后通过ISO9001认证,产品通功卫死部的评审,并后先枯获国度火把规划名目、邦c96e7ab94124006电话业务605cf1ba73b88d17f沉面旧产品项纲、浙江费严重下旧技术工业化名目、浙江费科技提高两等罚等少项嘉奖,也非外邦硬件止业协会推举的优良软件产品。

跟着医院疑作化的不时深刻和发铺,医院对HIS解统的施行效力也须要不续进行完美和进步。为使医院的HIS系统可以更佳的知足医院在开展的没有同时代,不同己数范围下的业务需要,自而为用户供给更具真际参考价值的零体系决计划参考架构,并片面晋升病院HRP系统(包括相当的软硬件系统)的施行效力,杭州创业软件,惠普,Microsoft,Intel四野母司联袂,自实践业务需供动身,采纳业界一淌技术,以创业医院疑作系统(BSHRP)替切进面,自IT基本架构的各个层里入行了相当的沉构战移植,对于系统顶用户最常常使用的若做模块入行性能测试,并获得了良佳的性能结果

测试目的

IBM9117-570服务器性能通过在IBM9117-570服务器运行HRP270压力测试,查望当服务器能否能知足咱们解统的性能请求。

没有同的分区同时运行,查瞅性能情况在平等的软件配置环境下,察看并记载HRP27x在危腾服务器取Intel最旧至弱dual-core芯片之间的运行表示,以及两者之间的差别,并通过详细的数据和图形展现。

测试束缚前提

因为蒙隐无测试工具和控制技术的的制约,在oracle的环境下只能测试查问统计操作,无奈入行业务的增添和增除操作,人们采纳了如下办法:

测试的产品采用杭州创业医院信息系统(BSHRP),绿植租赁,VERSION2.6x。

测试采取的数据替实践应用的出产数据,可以体隐用户真际应用时的情形。

测试业务类型包含住院发药统计、病区医嘱本、历史结算查询、各类医嘱卡片、医技科室工作质统计同5个模块。

每次测试后,皆要严厉高地作必要的测试数据筹备战数据逻辑检讨,使每一次的测试结果主观天反应体系性能。

测试环境

数据库软件仄台

数据库服务器:采纳IBM9117-570,配置如下:

机器型号CPU外亡磁盘网卡光纤

交心卡操作系统IBM9117-5702块

2198MHzprocessor芯片2GB///ALXUNIX

硬件仄台

种型称号操作解统ALXUNIX数据库软件ORACLE10g利用软件杭州守业病院疑作体系(BSHRP)VERSION2.6x压力测试软件LoadRunner8.0基本数据医院院纲后运行系统中的实践数据,经由数据荡涤先做替测试数据。

HRP26x测试模块浑双

序号模块称号备注(能否核口模块)1病区药房系统核口系统2住院结算系统中心系统3病区护理系统中心系统4医技系统中心系统

压力测试成果

独自运转

压力等级配置

号业务种型运转数量并发*主数1病区医嘱原12并发*302住院发药统计6并发*203历史解算查问5并发*204医技科室农做情形统计12并发*305各类医嘱卡片18并收*30

测试方式

通功两个末端异时测试,通功二台PCserver模仿5.1.1外压力配置请求所压的测试解因,查望效劳器的机能情形。

压力测试成果

两个分区独自运行

压力等级配放

号业务种型运止数量并发*主数1病区医嘱原4并发*302住院发药统计2并收*203历史解算查问5并收*204医技科室农做情况统计4并发*305各类医嘱卡片6并发*30

测试方式

IBM9117-570支撑静态分红两个独坐的效劳器,并能够静态调配资流如外亡,CPU、硬盘等,有需拔插。咱们把分败两个平等的分区,便4.1中的硬件配置,测试其稳固性。人们尾一个分区一个分区测试。采取一个PCserver对于两个分区皆模仿5.2.1的压力配置上,失没两个合区的机能数据.

压力测试结因

一分区两分区(独自)每次测试结果

两个分区异时运行

压力等级配置

号业务类型运行数量并发*次数1病区医嘱本4并发*302住院发药统计2并发*203历史结算查询5并发*204医技科室工作情况统计4并发*305各种医嘱卡片6并发*30

测试方式

IBM9117-570支撑静态分败两个独坐的效劳器,并能够静态调配资流如外亡,CPU、软盘等,有需拔插,进口轴承。咱们把分红两个平等的分区,便4.1外的软件配放,测试其稳固性。人们两个分区异时测试。采取二个PCserver对于两个合区共时模仿5.3.1的压力配放上,失没二个合区的机能数据.

压力测试成果

一分区(同时)两分区(共时)分结:

第2篇:软件测试报告范文

测试不是挑毛病

然而,对测试领域先行者Glenford Myers先生“测试的目的是证伪”这一概念理解也不能过于片面。在很多软件工程学、软件测试方面的书籍中都提到一个概念:“测试的目的是寻找错误,并且是尽最大可能找出最多的错误”。这很容易让人们认为测试人员就是“挑毛病”的,而由此带来诸多问题。

我们可以假想在一个软件开发公司内,软件测试人员专注于“挑毛病”,开发人员和公司管理层每天会得到这样“简洁”的测试报告:“在今天的测试过程中,系统出现10次宕机现象”。

从“挑毛病”的角度看,测试人员已经很好的完成了自己的工作,但其工作成果对开发人员和公司管理层几乎没有任何帮助。开发人员面对这样的测试报告是无法对软件进行任何修改的;而公司管理层也会疑惑软件质量到底如何,系统能否如期。

长此以往,必然会造成开发人员和测试人员之间无法调和的矛盾;而公司管理层也会认为,测试团队只是“带来坏消息的人”,对公司产品没有提供任何帮助,不如取消为好。

这样的例子看似比较极端,业内普遍认为类似的问题仅出现在一个初创测试团队的公司内,但实际的情况远没有这样乐观,这类现象甚至还蔓延到近年来蓬勃兴起的部分第三方测试机构之中。

一个软件开发公司的管理者,拿到一份刚由某第三方测试机构完成的测试报告,报告结论是该公司开发的软件无法完成预定的需求,在500个用户并发交易的情况下会发生大量交易失败。应该说这样的报告确实挑出了软件的“毛病”,但报告中并未提及造成交易失败的原因,是硬件资源不足、支撑软件参数设置错误还是应用开发问题。这样的报告会使得委托测试单位置疑自己投资进行第三方测试的是否有实际帮助。

造成这些问题的原因归根结底就是对“测试的目的是证伪”这一概念的片面理解。那么,一次成功的测试是如何对问题进行阐述的呢?质量工程学中软件失效的机理给出了很好的答案。

软件错误是人为错误

质量工程学中对于软件失效是这样分析的:由于软件内部逻辑复杂,运行环境动态变化,且不同的软件差异可能很大,因而软件失效机理可能有不同的表现形式。

譬如有的失效过程比较简单,易于追踪分析,而有的失效过程可能非常复杂,难于甚至不可能加以详尽描述和分析,尤其是运行于高度复杂实时环境中的大型软件。

但总的说来,软件失效机理可描述为:软件错误?软件缺陷?软件故障?软件失效。如图1所示,是软件错误发生的过程。

软件错误软件错误是指在软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。可见软件错误是一种人为过程,相对于软件本身,是一种外部行为。

软件缺陷软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,如少一逗点、多一语句等。其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。

软件故障软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。譬如软件处于执行一个多余循环过程时,我们说软件出现故障。此时若无适当措施(容错)加以及时处理,便产生软件失效。显然,软件故障是一种动态行为。

软件失效软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果。

因此,软件错误是一种人为错误。

逆流而上解决问题

我们了解了软件失效的机理后,就可以逆流而上,沿着软件失效嗳砑故障嗳砑缺陷嗳砑错误的方向对问题进行阐述和分析?首先,测试人员会说明软件出现了问题,在此对软件失效现象进行了描述;

其次,测试人员会详细阐明是在哪个测试用例的作用下(包括输入数值、处理过程和预期输出结果),软件产生了何种异常输出,问题的类型、严重程度、修改的紧急程度如何,这样就明晰了软件故障的情况;

第三,测试人员会根据测试经验和实际情况,帮助开发人员进行故障定位,找到软件缺陷所在;

第四,测试人员在对问题情况进行统计的基础上,会指出共性问题并分析其产生的原因,发现软件错误。

在这样对问题进行充分分析的基础上,对问题提出修改意见,这样一份问题报告会是一份对开发人员和管理层有意义的报告。

我们可以按照这样的分析方法,对前面企业内部和第三方的两个测试失败的情况进行修正。

软件失效现象:发生宕机/不能承担500个用户的并发交易;软件故障情况:在使用非法数据输入的情况下发生宕机/在进行用户交纳月通话费的情况下交易失败;软件缺陷:软件中缺少合法性校验/服务器CPU占用率达到98%;软件错误:详细设计环节缺少合法性校验内容,且文档评审工作不到位/概要设计环节未进行关键技术验证与仿真;修改建议:增加合法性校验,加强文档评审工作/重新选择服务器(重点是CPU),加强对关键技术的验证与仿真工作。

对于所有问题,都应该对软件的失效现象和故障情况做清晰的表述。除了严重程度会影响外,人员差异也对问题分析的程度有着较大影响。不同的测试人员需要承担不同的职责。

软件测试需三方协调

通过上面的分析可以看到,软件测试的目的决不仅仅是“寻找错误”,今天的软件测试需要在三个方面和开发协调工作,其相互作用如图2所示。

测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。这一工作靠对软件失效现象记录、软件故障表示、软件缺陷的分析完成。

通过分析错误产生的原因还可以帮助发现当前开发工作所采用的软件过程的缺陷,以便进行软件过程改进;同时通过对测试结果的分析整理,还可以修正软件开发规则,并为软件可靠性分析提供依据。这一工作靠对软件错误的分析完成。

第3篇:软件测试报告范文

关键词:软件测试;认知误区;嵌入式;单元测试流程

1 软件测试简述

软件测试是在软件投入商用前,对软件需求分析报告、设计规格说明书和编码的最终复查,是软件质量保证的关键方法,软件测试并不等于程序测试。它贯穿于软件定义和开发的整个过程,因此,软件需求分析、软件概要设计、软件详细设计和程序编码等各阶段所得到的文档,包括需求规格说明书、概要设计说明书、详细设计说明书,以及源代码都是软件测试的测试对象。随着软件规模的不断扩大,以及软件设计复杂程度不断的提高,软件开发中出现失误或缺陷的概率越来越大。随着市场对软件质量重要性的认知程序的提高,因此软件测试在软件项目实施过程中的重要性尤为突出。软件测试将会成为一个具有很大发展前景的行业,市场将需要更多具有丰富测试技术和先进管理经验的测试技术员和项目经理。

2 软件开发项目测试的误区

软件测试从1990年左右进入中国,目前国内大的测评中心、大型企业已经完全掌握了软件测试的测试策略和测试方法。小企业普遍存在测试人员不懂什么是单元测试,怎样进行单元测试,很少能看懂代码的细节。而开发人员很少能够提供完整的详细设计报告、需求报告。导致单元测试,以拼凑测试报告为目的。

认知误区一:软件测试是软件开发的最后一道步骤,工程师们一般认为,软件实际项目要经过下面六个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件。因而,认为软件测试只是编码后的一个孤立的阶段,这就是不了解软件测试流程的认知偏差。软件测试是一个系列的活动过程,是一个开放的体系,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。从而,软件测试应当贯穿于软件项目的整个生命周期,并不是软件开发后最后一道步骤。认知误区二:软件商用后如果发现质量问题,就武断认为是软件测试人员的工作失误。这种认识很狭隘,很是打击软件测试人员的工作积极性。软件测试只能确认软件存在错误,不能保证软件没有错误。因为从根本上讲,软件测试不可能发现全部错误,软件后的错误可能来自软件项目中的各个过程。认知误区三:软件测试对测试人员技术要求不高,任何人都可以做。很多工程师认为软件测试就是安装并运行程序,按按键盘的重复性工作。随着软件测试技术的不断改进和完善,新测试方法、新流程、新工具都在不断被开发出来。这就需要软件测试工程师掌握和学习很多专业测试新理念和新技能。认知误区四:只有编写程序的高手才是软件专家,而软件测试没有前途。由于我国软件行业整体研发能力比较低,软件开发过程不规范。不少软件项目的开发都还停留在“累加堆叠“阶段。项目开发依靠个别程序员决定,他们一人负责总体设计和代码编写,给人的印象是程序员是真正的牛人,完成了所有的软件项目开发工作。但在微软等世界知名软件企业里,软件测试人员的待遇和数量与一般程序员没有多少差异,优秀测试人员的待遇甚至比普通程序员要高的多。

3 嵌入式软件单元测试流程

单元测试是指对软件中的最小可测试单元进行检查和验证。单元是规格说明书中的最小单元,包括函数、子程序、程序。单元测试关注独立的函数功能,是测试过程中最低级别的测试活动。需要开发一个或多个测试用例执行单元测试。把代码问题缩小范围在开发阶段锁定Bug是单元测试的主旨要求,以下将介绍一种容易操作的嵌入式单元测试实战流程。

第一阶段,制定测试记录表,记录测试过程,和测试情况。测试记录表包含:源文件名,子函数名,用例标号,用例名称,用例个数,用例通过个数,语句覆盖率,分支覆盖率,MC/DC覆盖率,测试结果,问题描述,测试人员,测试时间。针对第一阶段的测试结果,此时需要大家分析出问题的代码,各抒己见,总结问题,给出解决方法。

第二阶段,解决部分测试用例failed问题,找出阻止生成用例的共性。常见问题汇总:局部变量未初始化,调用函数未声明,局部变量直接赋值,结构体嵌套、结构体指针、声明问题、声明位置问题,函数指针,大循环、死循环,绝对地址,指针变量,C语言程序中带有goto语句。解决办法:局部变量声明后,需要赋初值再使用。调用函数未声明,该问题发生在隔离测试阶段,属于代码书写不规范问题。解决方法:自定义的函数都需要在头文件中做统一声明。局部变量直接赋初值:该问题发生在测试用例无法生成阶段,属于代码书写不规范问题。解决方法,结构体局部变量,指针变量需要先声明后赋初值。结构体嵌套、结构体指针、声明问题、声明位置问题:该问题也属于代码书写不规范问题。解决方法:根据MISRA代码书写规范,结构体需要放在头文件中统一声明。大循环、死循环:单元测试需要有程序结束的出口。解决方法:把大循环改为小循环,注释掉死循环(if(1)、for(; ;),while(1))。绝对地址:单元测试不连接真实的硬件设备。遇到寄存器等绝对地址时,需要对寄存器做变量处理。指针变量:需要声明一个同类的数组,然后把数组的首地址,赋给指针变量。函数指针:需要虚构一个函数实体,取函数地地址赋给函数指针,完成映射。C语言程序中带有goto语句:需要改变程序结构,增加判断语句,去除所有的goto语句,以便确保C语言程序的稳定性。

测试第三阶段:基本圈复杂度高于MISRA阀值要求的函数,先考虑把复杂函数改为几个小函数。改不了的由开发人员写声明以及具体原因,再按照路径分支来设计测试用例。汇总测试结果,提交测试问题报告单,并提交行业标准测试报告。

4 结束语

文章简述了软件测试的基本概念,澄清了软件测试工程实践中的几个误区,依据单元测试实践的具体案例,介绍了一种高效、容易操作的嵌入式单元测试的流程。

参考文献

[1]胡丹,杜新华.基于目标机的嵌入式软件单元测试[J].电子测量技术,2006(2).

[2]赵正海,王宁.跟踪雷达“指示引导”功能软件测试方法研究[J].现代电子技术,2013(36).

[3]于园园.软件测试技术与测试管理研究[J].江苏科技信息,2016(7).

[4]王琨.嵌入式计算机软件测试关键技术探讨[J].科技创新与应用,2016(7).

[5]张金环,田洪涛.浅析设备软件测试与质量保证[J].电子工业专用备,2016,45(1).

作者简介:张军(1988-),男,陕西武功人,工学硕士,助理工程师,主要研究方向:雷达信号处理算法、数字中频收发机和嵌入式软件测试。

第4篇:软件测试报告范文

【关键词】系统测试;信息系统;监理;要点

中图分类号:P208 文献标识码:A 文章编号:

前言

随着我国信息化工程的加速推进,在项目的信息化过程中引入了第三方监理。其主要职能是对软件信息系统进行监理工作。主要负责测试系统,达到项目验收的目的,在监理测试信息系统的过程中,系统测试工作的规范化,标准化,科学化,有利于信息系统测试结果的准确性的提高。本文针对信息系统测试中监理的要点进行分析,指出了监理工作的重点及重要性。

二、信息系统测试的流程和关注点

1.信息系统项目测试的流程

从信息系统监理的角度,信息系统项目中测试的流程基本分两步进行,第一步,承建单位进行的测试;第二步,项目小组(建设单位、监理单位、承建单位)进行的测试。

图1 信息系统项目测试的流程

2.系统测试的关注点

(一) 信息系统的类型

信息系统,从项目建设的角度可以分为纯开发系统和二次开发配置系统。纯开发系统是指根据用户需求,采用某种编程语言(如Java、JSP)和某种开发工具(如eclipse),从零基础开始编写代码实现的系统。二次开发配置系统是指在成品软件(如Oracle DIM、Oracle BIEE、Oracle CRM、Oracle EBS、Oracle iLearning等)的基础上,根据用户需求,进行配置开发实现的系统。

(二)纯开发系统

纯开发系统的质量与开发人员的技术水平、开发风格、对系统需求目标的理解等因素有很密切的关系,导致纯开发系统的测试工作任务繁重,其关注点也很多、很细。从监理的角度,假定系统基本包含用户需求的所有功能点,纯开发系统测试时的关注点,可以概括为:(1)系统界面布局的合理性、美观性;(2)系统每个组件、控件的有效性、合理性;(3)系统流程逻辑的合理性;(4)具体功能的实现方式的最优性;(5)开发代码的可阅读性等。

(三)二次开发配置系统

二次开发配置系统的质量部分取决于所基于的软件产品的质量。进行二次开发配置系统测试时的关注点,可以概括为:(1)系统组件、控件的有效性;(2)系统流程逻辑的合理性等。

与纯开发系统的区别,主要体现在(1)系统界面的整体布局基于成品软件产品,细节部分可以二次干预;(2)系统组件、控件的合理性也基于成品软件产品,不建议二次干预(系统升级后,一切恢复为成品软件原始状态);(3)编写开发代码的工作量比纯开发系统的工作量少。

系统测试中监理要点分析

1.信息系统测试中监理的工作

(一)审核承建单位的单元测试报告、集成测试报告、自测报告(总集成测试报告)及回归测试报告;

(二)审核承建单位提交的系统测试计划、系统测试方案(包含测试用例);

(三)根据测试计划和测试方案,制定系统测试记录表,包括功能测试记录表、性能测试记录表、回归测试记录表,三方讨论确认后执行;

(四)协助业主方、确定性能测试指标,三方签字确认后执行;

(五)根据测试记录表,出具测试结果分析报告(功能测试结果分析报告、性能测试结果分析报告、回归测试结果分析报告),其中,功能测试结果分析报告和性能测试结果分析报告作为回归测试的依据;

(六)汇总测试结果分析报告,出具初验系统测试报告。

2.平台的系统测试

平台经过需求调研分析、概要设计、详细设计、二次开发配置、差异化分析及修正、自测等阶段之后进入项目初验阶段,承建方提交初验申请,批准后,业主方、监理方、承建方组成平台初验的系统测试小组对平台进行系统测试,包括功能测试、性能测试及回归测试。

(一) 功能测试阶段

平台的系统测试的功能测试部分的流程,可以概括为:

(1)监理方根据承建方提交的测试方案,制定《功能测试记录表》包含需求分析说明书中的所有功能点和项目合同文件中的所有功能模块;

(2)按照测试方案(含测试用例),采用手动测试的方式,一边测试一边记录测试情况;

(3)监理方对功能测试记录表进行分析,形成《功能测试结果分析报告》,包含通过测试的功能点及模块、未通过测试的功能点及模块、计划完成功能点及模块数与实际完成功能点及模块数的比较、存在的问题及建议;

(4)承建方根据功能测试结果分析报告,制定《回归测试记录》确定初验阶段回归测试的内容及终验时需跟进的内容,三方讨论通过后执行。

(二)性能测试阶段

平台的系统测试的性能测试部分分别采用人工方式和工具测试两种方式进行。该阶段的流程,可以概括为:

(1)测试小组讨论确定《性能测试指标》,包括对CPU利用率(<=80%)、在CPU利用率允许范围内的最大并发用户数、吞吐量、疲劳强度(12小时)、响应时间、内存页交换率等指标的要求规定;

(2)监理方根据承建方提交的测试方案,制定《性能测试记录表》包含功能性、可靠性、易用性、效率、可维护性、可移植性六个方面;

(3)在功能测试完成时采用人工方式,进行以上六个方面的性能测试,填写性能测试记录表;

(4)监理方汇总性能测试记录表,形成《性能测试结果报告》;

(5)根据性能测试指标,采用工具测试的方式,对平台进行负载压力测试,生成测试报表;

(6)承建方对测试报表进行分析,形成《性能测试分析报告》,提交监理方审核,审核通过后性能测试结束。

(三)回归测试阶段

平台的系统测试的回归测试主要是指对功能测试的回归测试,该阶段的流程,可以概括为:

(1)按照测试方案和《回归测试记录》中确定的内容对平台进行回归测试,并将结果记录在回归测试记录中;

(2)监理方对回归测试记录结果进行分析,形成《回归测试结果分析报告》,包括本次通过测试的内容、还需改进在终验时跟进的内容、在用户培训时需重点跟踪的内容、平台上线后需进行深化的内容;

(3)将回归测试结果分析报告和回归测试记录中约定的需在后期跟进的内容汇总整理形成《工程备忘录》,作为对项目初验的补充。

(四)系统测试报告

平台的系统测试u引经历功能测试、性能测试及回归测试之后基本结束,监理方汇总整个测试过程中产生的文档,形成《系统测试报告》及附件,附件包括《功能测试结果分析报告》、《性能测试指标》、《性能测试结果报告》、《性能测试分析报告》及测试报表、《回归测试结果分析报告》、《工程备忘录》。

四.系统试运行中监理的工作要点

系统试运行是为了检查系统的稳定性、适用性等。一般情况下监理方在这个阶段的主要工作有:

1.审核竣工文档资料的完整性、可读性及一致性;

2.审核软件环境配置与设计方案的符合性;

3.检测验证系统功能性能与合同的符合性;

4.检查人员培训计划落实情况;

5.出具阶段性验收报告;

6.帮助用户制定系统运行管理规章制度;

7.在保修期内定期或不定期对项目进行质量检查、督促承建方按合同要求进行维护。

本阶段,软件开发的工作告一段落,重点在于解决试运行工作中暴露出来的各种问题,和系统交付用户前的各项准备工作。一般情况下, 目前业内第三方软件功能、性能测试均在本阶段进行。

五、结束语

信息系统监测监理工作是一份技术含量高,智力高等优质素质的工作,他是多种科学领域综合交叉的产业,软件工程监理是一门技术含量高,智力、知识密集型的产业,信息系统监测是多种科学技术领域的综合交叉的产业,涉及到国民经济的各个领域,因此,本文着重分析系统监测监理的工作要点,有助于监理们更清晰的把握工作职责,让系统检测工作得到有的放矢的开展。

参考文献:

第5篇:软件测试报告范文

关键词:软件测试;缺陷管理

1  引言

软件企业对软件质量的重视程度越来越高,软件测试在软件研发中的地位越来越重要。软件测试可以发现软件中存在的缺陷,通过改正这些缺陷以提高软件的可靠性。

软件缺陷会存在于软件产品的整个生命周期中,测试是发现缺陷的主要手段,也是它的主要目的。测试活动和开发活动一样,是项目质量保证不可或缺的重要部分。因此,对于测试活动的主要产物:缺陷,我们需要建立一个完善的缺陷管理流程,来对缺陷进行报告、查询、分类、跟踪、处理和验证等。软件测试的主要目的在于发现软件存在的缺陷,为了不影响测试效果,需要及时正确的处理测试中发现的错误,保证软件符合需求设计的目标。在实际的软件测试过程中,建立一套完备的软件缺陷跟踪管理系统是十分必要的,建立这样一个系统,我们首先需要清楚每个不同bug的严重性以及它们的优先级分类,其次是每个bug需要经过的测试管理流程。

2 软件中缺陷出现的原因

2.1 设计修改

在软件开发过程中用户需求的改变导致设计方案的更改,每次改动都为缺陷的出现提供了一次机会。在软件的后期修改维护中由于客户要求、时间限制等原因未审核修改的设计方案或未对缺陷做准确的分析,程序员在修改过程中可能出现只修改问题所在的地方,而没有对问题进行发散思维,而导致新问题的出现。

2.2 测试遗漏

在软件测试过程中测试用例设计的好坏、测试人员水平的高低,测试工具使用的熟练程度,以及对所测试软件的理解深度都影响着测试设计的完善程度。而测试用例设计的不全面,或测试方案的不周密,以及测试人员执行时产生的偏差都可能导致缺陷不能及时发现。

2.3 缺陷的概率特性

部分缺陷的出现具有概率性和偶然性,需要在反常的数量,频率,或者资源的方式下执行才能表现出来。

2.4 缺陷的潜伏性及阶段性

部分缺陷的触发条件不容易满足而呈潜伏状态。在嵌入式系统中多进程多任务中的问题、系统容错性的问题、内存的问题所表现出的潜伏性更加复杂多变,而导致发现缺陷需要很长的周期或特定的测试环境。

2.5 缺陷的周期性和隐蔽性

由于一些缺陷的存在导致软件中部分代码未被执行,而存在于未被执行的代码中的缺陷呈现隐蔽状态。通过周期性的缺陷的修复及再测试才会发现这些隐蔽的缺陷。

3  缺陷管理流程

一般的缺陷管理流程如图1所示。测试人员提交新的Bug入库,错误状态为New。高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen。

软件缺陷流程管理的要点是为了保证错误的准确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态。拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例。

图1  软件缺陷管理流程

4  使用测试工具建立缺陷管理系统

一个缺陷跟踪系统,需要实现几部分的功能:

1)缺陷的上报,当问题被发现后,可以通过系统进行提交、保留,方便跟踪。

2)缺陷录入系统后,项目经理应该可以通过缺陷跟踪系统进行浏览,定期获得最新的缺陷问题报告。

3)项目经理将缺陷问题报告通过缺陷跟踪系统转交给程序员,程序员可以通过缺陷跟踪系统知道自己负责的修正的缺陷问题报告。

4)缺陷问题的修正处理,当程序员修复问题后,可以通过跟踪系统,通知项目经理问题已修复。

5)对于无法根据缺陷报告重现的问题,也可以通过跟踪系统,向项目经理及测试人员要求更多更详细的信息,并将缺陷问题返回至项目经理重新处理。

6)问题暂缓及申诉过程处理,对于缺陷报告提到的问题,如在当前版本无法实现或者缺陷与需求有冲突的时候,可以将问题置为“暂缓处理”或“提出申诉”。

7)对于优先等级较低的缺陷问题,可能不能被及时处理掉,但必须可以被查询。

8)缺陷跟踪系统可以提供跟踪项目的状态报告。

下面以使用软件测试工具TestDirector为例,分四个步骤来说明如何建立一个缺陷管理系统。

4.1 设计缺陷管理流程

通过使用测试工具,在SDLC中未被发现的所有和项目有关的差异及问题都将汇报到管理工具中。TestDirector针对不同的差异,清晰的定义了NEW、OPEN、CLOSED等级别。当工具中开放了一个新的缺陷问题,我们就要陆续开始登录缺陷报告、定义缺陷安全等级、描述缺陷、指派相关人员展开最初的调查、将差异转交给相关的测试主管等工作。

召开缺陷解决会议能确保所有缺陷都能涉及并得到有效解决。这种定期会议由来自开发、项目管理、产品管理、和项目相关的业务团队代表及测试主管共同参加,就缺陷问题展开讨论。测试主管在会议期间对测试工具进行信息更新,会议的中心议题是对缺陷报告进行审核。有了测试工具提升的完备的报告,我们就可以依据其严重程度和状态情况,选择处理的优先权。

缺陷解决会议后,缺陷将被分配给合适的小组主管,以便着手解决。这些小组包括:开发小组、环境支持小组,或是业务团队。通过管理工具对任务进行合理分配,能更为高效地解决缺陷问题。

被修复缺陷如果在环境缺陷中没有代码变更,将马上展开重复测试,并立即关闭。需要代码变更的缺陷修复会涵盖在一个版本打包中,从而展开重复测试,接着将根据测试结果或者关闭缺陷,或者将缺陷重新开放。

4.2 定义缺陷状态

每个缺陷都有一个状态显示,会在整个测试周期中得到随时地更新。每次当缺陷状态有了更新,评论信息就会加入到缺陷的R&D评论栏中。测试工具中的缺陷状态一般会有以下几种:New、Open、Fixed、Ready for Retest、On Hold、Closed、Reopen等。

4.3 用户操作的状态修改

通过对测试工具所允许的状态变更操作,可以为实现便捷的学习曲线和巩固一种优化的工作流程提供帮助。状态变更包括:根据适合的变更控制流程所进行的任何系统变更。在进行修复操作之后,未通过测试或某个测试部分根据需要展开重复测试。在流程中的任何时段,项目经理、系统分析人员、开发人员和测试工作人员可以使用测试工具来恢复保存在存储器中的所有缺陷状态等。

4.3 用户操作的状态修改

通过对测试工具所允许的状态变更操作,可以为实现便捷的学习曲线和巩固一种优化的工作流程提供帮助。状态变更包括:根据适合的变更控制流程所进行的任何系统变更。在进行修复操作之后,未通过测试或某个测试部分根据需要展开重复测试。在流程中的任何时段,项目经理、系统分析人员、开发人员和测试工作人员可以使用测试工具来恢复保存在存储器中的所有缺陷状态等。

5  结束语

对于如何建立和使用缺陷跟踪系统,应该进一步反思,毕竟缺陷跟踪系统只与缺陷有关,与行政无关,但实际情况往往不是如此,缺陷跟踪系统成为了衡量项目参与者工作量的指标,为参与的项目人员造成压力。因此如何建立缺陷跟踪系统还需要在实际中进行进一步完善与讨论。

参考文献:

第6篇:软件测试报告范文

关键词:单元测试 LDRA Testbed 覆盖分析

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2015)09-0000-00

随着计算机软件技术的深入使用,各种软件系统的复杂度不断加深,为了更好,更有效率的完成任务,节省时间和人力资源,这就对测试软件有了更高的要求。LDRA Testbed测试工具的使用给工作带来了很多便利,它是软件验证与确认的质量工具,提供源代码的测试和分析,主要应用于需要软件具有高可靠性,高健壮性,甚至要求尽可能达到零缺陷的领域[1]。

1测试准备

为了提高测试的方便性,在用Testbed之前应该做好准备工作。建立一个包含项目各个模块的文档,对每个模块创建合适的用例,包括边界和特殊情况;并对各种不同的情况设计测试数据,并计算出自己的期望值。如图1。

图1 单元测试数据表

2 Testbed单元测试

2.1 创建测试用例

选择项目程序进行测试,Tbrun进行单元模块测试进行了有效的自动化,创建测试序列,选择单元模块进行白盒测试。Tbrun利用了代码评审和设计评审的结果自动对系统的每一个单元产生测试驱动;用户被提示输入数据(测试准备文档中模块数据)并与产生的结果进行比较,是否期望与实际结构一致(如图2)。 Tbrun保存并维护所有的测试信息,方便在以后任何时候生成相同的驱动进行回归测试。

图2 对比结果图

2.2 覆盖率分析

覆盖率分析有三种常用的覆盖测试,分别是语句覆盖,分支覆盖和MC/DC覆盖。语句覆盖是常用的覆盖方法,也是最弱的逻辑覆盖准则。即使语句覆盖率达到100%,也不能保证被测程序100%的被覆盖,其缺点是不能发现某些程序结构的逻辑错误[2]。

输入了数据产生结果对比后会生成覆盖分析报告,里面包含了结果对比情况和覆盖率情况(如图3),其中含有*的语句表示测试用例并没有包含这些语句,我们需要进行分析测试用例是否包含了这种情况;如果包含,则这些语句是多余的,否则增加此种情况的用例。

图3 覆盖分析报告

3 结语

软件测试工具与人力的结合提高了测试效率,使软件单元设计中的问题提早暴露,保证了项目质量并缩短了项目周期。Testbed是一个比较方便的测试工具,可以节省资源,提高产品质量。不仅在编程阶段可以检测和修改软件的错误与缺点,而且覆盖率的测试提供了测试方案和必要信息。

参考文献

[1]石磊.LDRA Testbed在弹载软件测试中的应用怕[J].软件导刊,2008.

[2]王玮.Testbed中常用覆盖测试方法研究[J].计算机光盘软件与应用,2015,13-14.

第7篇:软件测试报告范文

【关键词】NESTOR;软件工程化;过程管理

0引言

核电设计分析以及运行支持软件是开展核电工程设计以及维护核电厂运行的重要技术手段之一,对核电工程设计科研工作的质量、研发效率以及核电厂的运行安全起到了至关重要的作用。由于核电设计分析以及运行支持软件具有很强的核安全相关性,多年以来,国外核发达国家对核电软件设计研发以及运行管理都是高度重视的,相关软件研发的各个流程环节、软件适用性、可靠性、过程质量管理以及后续的应用均受到核安全监管机构的高度关注。与此同时,在国内,核电相关的安全也受到了核安全监管机构的高度关注。针对核安全相关软件,国家核安全监管机构也制定了相关的软件评价实施办法。根据相关实施办法,核安全相关软件的认证过程不仅重视软件的重要物理现象识别、物理模型建立、验证计算模型的合理性以及不确定性和敏感性等评价,对软件的研发过程、研发体系以及质量保证体系的建立也同样重视。在中核集团龙腾自主创新科研项目的支持下,由中国核动力研究设计院牵头,中国核电工程有限公司、中核武汉核电运行技术股份有限公司参与共同完成了成体系的核电设计与分析软件包NESTOR(NuclearPowerPlantEngineeringSoftwareTechnologyResearchProject))。NESTOR软件包包含了核电设计与分析所需要的相关专业软件,涉及核反应堆物理设计、屏蔽与源项设计、热工水力与安全分析、燃料元件相关设计、系统与设备设计、仪控设计、软件共性技术等相关领域。NESTOR软件项目自2011年立项以来便高度重视软件研发体系建设,并针对“软件开发过程质量保证体系与开发规范”成立单独的课题进行研究。该项目致力于将核电工程设计与软件工程化相结合,贯穿研发全生命周期,覆盖需求管理、模型研究、软件设计、VV流程等各个环节,建立健全核电软件工程化研发体系,并在NESTOR项目中的各个软件开展软件工程化实施流程。长期以来,建立适应核电工程特色的软件工程化研发体系,并将体系融入工程设计、科研及管理工作中,一直是NESTOR项目的重要研究方向之一。

1核电软件工程化体系建立

核电设计分析软件以及运行支持软件具有高可靠性、高安全性、高经济性的特殊要求。在国家核安全导则、GJB5000A、CMMI等软件工程化的总体指导要求下,遵循软件工程化思想,建立一套具有核电工程特点的完善的核电软件工程化研发管理体系,对确保研发团队开发出高质量、满足核电核动力工程需求的软件产品起到重要的保障作用。中国核动力研究设计院经过多年的研究及实践应用,制定了覆盖软件工程化研发中的重要过程域的指导性文件《软件工程化体系文件》。

2NESTOR软件工程化实施过程

软件工程化研发的实施主要覆盖软件开发过程和软件管理过程。针对NESTOR软件,主要分为工程化主机平台类软件以及嵌入式软件。软件的开发过程依据软件的类型以及规模等属性,选择适用的软件生存周期模型,并定义软件开发的阶段及阶段中的活动。软件管理过程主要包括需求管理、项目策划、项目监督与控制、过程和产品质量保证、配置管理、测量与分析等过程,软件项目的管理过程中的活动可根据软件的自身特点进行裁剪。

2.1核电软件的管理过程实施

2.1.1项目初始管理策划

在接受核电软件研制任务后,应落实项目组主要成员,并组织各阶段工作安排。项目负责人根据《软件研制能力等级要求》,组织对项目软件的重要性等级和规模等级进行确定。最终形成《项目软件工程化策划书》,作为开展核电软件工程化研发的输入。

2.1.2研发过程规范制定

NESTOR项目结合自身的特点,建立了一系列的研发过程规范,规范由项目部批准后应用于本项目所承担的所有核电软件研发中。

2.1.3项目监督与控制

核电软件项目的监督与控制是将软件项目的实际执行情况与相关计划要求进行对比分析,如超出偏差范围,则采取必要的纠正措施。如软件需求发生重大变化,则修订计划以满足相关要求,从而确保项目研发工作有序、正常的实施。

2.1.4核电软件项目过程和产品质量保证

开展质量管理的策划工作,主要目的是识别NESTOR项目及其最终交付成果的质量要求及规范标准。通过有计划地、定期地对NESTOR相关软件全生存周期的开发与管理活动进行符合性检查,对各阶段工作产品与活动进行审核来判断研发工作是否按照软件工程化体系的要求实施,从中发现不符合项并实施相应的纠正措施。

2.1.5项目配置管理

配置管理是结合配置管理工具对开发的软件进行版本管理与变更控制,对软件开发过程的各阶段工作产品进行有效保护,维护阶段工作产品和软件产品的完整性和可追溯性的管理过程。NESTOR项目相关软件的配置管理贯穿于软件研发活动的全生命周期以及各个流程环节。NESTOR项目采用专门的软件配置管理工具,对程序源代码、版本、各阶段文档、工况数据及流程进行有效的配置,实现了研发过程的自动化配置和动态管理,增加了软件研发人员对设计流程的能见度。NESTOR项目在配置管理实施中建立了软件开发库、受控库以及产品库,并限定配置项在不同库之间的流转的权限及流程的控制。通过实施配置管理有效地保证了软件的正确性、完整性及可追溯性。

2.1.6测量与分析

测量与分析是NESTOR软件项目各软件设置有专门的测量分析工程师,该人员负责依据既定的测量目标、测量项、数据采集和存储规程、分析规程等相关要求采集和分析测量数据,在合适的控制点/项目结题时采集并汇总相关数据,形成测量分析信息。项目执行的过程中,相关的测量分析信息及时专递到项目组团队成员内以及利益相关方。通过测量与分析活动,有效的监督了项目绩效,并为后续活动做出有根据的管理和技术决策,以便在出现问题时及时采取相应的纠正措施,实现项目监督控制的可视性、及时性

2.1.7项目评审

在软件开发与管理过程中,针对重要节点或者里程碑组织软件项目组内部及外部人员对NESTOR软件产品、研发活动及工作进展情况的符合性、合理性和正确性进行验证。通过评审活动,可以高效率、尽早发现并消除问题,从而保证软件产品的最终质量。

2.1.8记录控制

为满足软件工程化体系要求,NESTOR项目实施工程化研发过程中所产生的记录、以及能够证明体系文件有效运行的记录、作为可追溯性依据的记录均进行了有效的控制。通过核电管理平台,对项目实施中产生的所有过程记录文档进行分发、流转等控制,过程记录包括技术传递单、技术联系单、备忘录、会议纪要、设计评审报告、项目周报、QA核查单、质量保证报告、配置管理报告等。同时,通过档案管理系统,对项目所产生的所有设计文件进行有效的归档及控制。

2.1.9软件的鉴定与应用

研发完成的软件,在未经过专业鉴定前仅可用于学习、科研,不能直接应用于工程设计。软件的鉴定是专业设计人员对入库归档的软件产品进行专业分类及筛选后,由软件鉴定专家委员会对筛选后的软件进行鉴定。鉴定软件的功能、性能、工程适用范围、可靠性等各方面能够满足相关工程使用需求。NESTOR所研发的软件只有通过鉴定才能够归入工程可用软件库。当工程项目产生软件应用需求时,即可从工程软件库中选择合适的软件。

2.2核电软件的开发过程实施

2.2.1核电软件研制策划

NESTOR软件研制策划工作是估计NESTOR软件包中每个软件的规模、开发工作量,并根据估计结果,结合进度要求来制定合理的开发计划,提出必要保障条件的管理过程。本项工作主要由项目软件负责人组织,对所负责软件的根据各项软件的开发和管理工作进行全面的策划,并安排相关角色依据既定的分工制定所需研制软件的各项计划,最终以书面的形式形成《软件开发计划》、《软件配置管理计划》、《软件质量保证计划》、《软件测量分析计划》、《软件验证和确认计划》、《文件清单》以及估计记录等相关文档,文档经过评审后生效执行。相关文档是软件开发过程中各项活动的重要依据文件,并将随着软件研发过程而细化或调整.

2.2.2核电软件需求分析

NESTOR项目结合核电工程软件特点,在需求阶段开展了详细的需求理解、需求确认、需求跟踪等需求分析活动,需求包括功能需求以及非功能的需求。需求分析是软件生存周期中最重要的一步。只有通过需求分析,才能准确地将软件的功能以及非功能的需求从概念描述转换为具体的可测量的规格说明形式。NESTOR项目的各个软件在需求分析阶段都依据软件的相关需求完成对应软件的需求分析活动,并以书面的形式形成《需求说明书》/《需求分析报告》,同时建立并维护需求跟踪矩阵。NESTOR项目在开发的过程中持续跟踪维护需求矩阵,确保了需求与项目策划的一致性,并在必要时进行变更。

2.2.3核电软件设计与实现

软件的设计是在需求的基础上,对软件开展计算部分的设计以及界面设计工作,计算部分包括系统结构设计、数据设计、接口设计、算法以及过程设计,界面部分的设计工作包括界面原型设计以及界面设计,软件设计即是把需求转换成表达的过程。在设计活动完成后,软件的设计工程师需要依据体系文件以及相关规范编制相关的《软件设计说明书》,设计说明书可依据软件规模或者复杂程度拆分成《概要设计说明书》以及分模块的《设计说明书》。在软件的实现阶段,按照对应的编码规范,依据设计结果实现软件编制、编译和调试,编制《软件编码报告》以及《用户手册》。《软件编码报告》主要对软件的数值计算及界面模块的目录结构、模块结构、全局数据、各模块的功能和数据,以及软件的编译运行方式、集成方式进行描述《用户手册》主要对软件的功能、性能、运行环境、安装以及操作说明进行描述,给最终软件使用对象对软件的使用有直观的了解。

2.2.4核电软件测试及验证

软件测试是由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求。测试活动由软件测试工程师负责,在测试的策划阶段形成《软件测试计划》并开展测试设计,包括测试用例说明等相关文档。NESTOR项目的测试计划以及测试说明文档均经过评审,以确保测试工作的有效性。测试工作严格按照计划及测试说明执行,对测试过程发现的缺陷应进行报告、确认、修正和验证,并形成缺陷记录单,通过多轮测试及回归,确保缺陷全部关闭或得到妥善处置。测试完成后编制《软件测试报告》。通过测试的软件,由独立于开发团队的验证工程师,通过确认用例对软件进行验证,确认用例包括基准题、实测数据(试验数据或电厂运行数据)等,通过验证确保软件的功能、性能以及计算精度满足预期。采用第三方验证的方式对所开发软件的正确性进行确认

2.2.5核电软件

VV验证和确认遵循GJB5000A要求以及软件工程化体系执行,从VV的过程、过程中包含的VV活动,再到具体的VV任务,多层次全方位地定义验证和确认流程。N开展VV活动是确保NESTOR软件的质量和可靠性的重要措施,通过VV活动确认各项需求以及设计要求正确实施,识别期望的结果和实际结果之间有无差别,有效地提高软件计算的精度并保证软件的正确性,确保NESTOR软件质量。除了项目团队内的VV团队,NESTOR项目还创新的采用软件研发合作模式,邀请了高校测试组、专业测试公司以及第三方验证团队,针对开发的核电软件根据相关行业内规范开展了第三方独立的测试和验证。通过有效利用外部资源,对软件的功能、性能进行全面的测试验证分析,有效地摒除了内部团队在相关工作中的“程式”思维、思路局限性而带来的漏洞,更多的发现软件运行中的问题,进一步提高所开发核电软件VV的全面性和客观性。

2.2.6核电软件结项

软件研制完成后,项目软件负责人组织对软件的测试验证情况进行分析,根据项目目标要求,组织总结分析工作。就软件的研发工作进行总结,组织编制《软件开发总结报告》,另外,还有软件开发过程中的相关配置管理情况、质量管理情况进行总结,编制《配置管理总结报告》以及《质量保证总结报告》。相关总结文档完成后,组织项目结项评审,软件具备结项条件后,提交验收申请并组织验收,形成验收报告。

3结语

NESTOR软件包通过结合广泛的工程经验,依托科学理论和软件工程化技术的进步,形成了重要的自主创新能力,成功应用于华龙一号工程设计与校核,并正在进一步应用于其他核电工程开发中。部分运行支持软件也已在国内多个核电厂推广应用,发挥了良好的经济效益。通过工程化管理体系的建立以及对软件工程化的过程管理实施,NESTOR软件包的研发工作以及运行管理实现了流程精细化管控以及监督可视化、可控化。确保了NESTOR软件在满足工程需求同时,提升了研发效率、缩短了研发周期,提高了软件的质量,大大减轻了运行管理成本,提升了软件研发精细化管理水平。

【参考文献】

[1]张晓龙.现代软件工程[M].清华大学出版社,2011.

[2]林锐,彭国明.CMMI和集成化软件研发管理[M].北京:电子工业出版社,2008.

[3]姜霄雪,严建平,蒋剑伟.基于CMMI的过程和产品质量保证过程研究与应用[J].广东通信技术,2017,37(04):77-79.

第8篇:软件测试报告范文

关键词:计算机;软件测试

中图分类号:TP311 文献标识码:A 文章编号:1007-9599 (2012) 18-0000-02

1 计算机软件测试的概念

所谓软件测试,主要是以发现程序错误为目的而执行程序的过程,是结合软件开发过程中每一个阶段的规格及软件内部的结构进行认真设计的测试用例。因此,我们可以说,软件测试就是在精心搭建的环境下对程序进行执行,以更好的发现软件中的错误,对其可靠性给出鉴定。

2 软件测试的流程

2.1 设计测试方案。设计测试方案是在软件测试初始阶段进行的,在这个工作中,首先要调研所需要应对的系统框架和业务模型,对测试需求进行收集。其次,根据测试需求制订一个合理的测试计划。具体来说,我们的测试团队要对被测试项目有着提前的了解,而且开发部门也要配合测试部门的工作,提供各种系统规格书、系统总体介绍、网络拓扑结构图、用户使用手册、系统配置说明、应用部署与配置以及关键服务器及等文档。经过与业务部门协商之后,就可以确定下来这次测试的目标,然后对这一目标进行细化,制定出各个阶段的目标,并制定相应的指标要求。

2.2 开发测试场景。这主要是指开发测试脚本,是针对被测系统业务进行模拟、录制、编程、参数化、脚本定制以及调试测的工作,通过测试场景的开发,可以使测试脚本实现对现实场景的真是模拟,而且我们还可以通过改变参数来控制并发数以及思考时间等属性。

2.3 执行测试。这主要是按照预先制订的测试方案,在完成测试环境以及测试场景之后进行的工作。

2.4 测试报告及分析。这一工作主要是在执行完测试之后进行的,主要的任务是对测试过程中所暴露的问题进行收集及分析。而测试报告则主要是对测试过程中监控报告以及报表的汇总,然后对其进行一定整理之后所得到的结论性文档。

2.5 回归测试。开发部门在分析了测试报告之后,会对软件的缺陷进行了修复或者优化,使其具有更高的性能,而对于这种修复之后软件的测试就是回归测试。

3 计算机软件测试的基本方法

3.1 按照阶段进行划分。如果按照阶段对计算机软件测试方法进行划分的话,则可以分为单元测试、集成测试、系统测试、验收测试、回归测试、Alpha测试以及Beta测试。

(1)单元测试。这主要是指对软件的基本组成单位进行测试,比如一个模块。单元测试是动态测试中最基本,也是最重要的部分,它主要的目的是对软件基本单元的正确性进行验证。在单元测试中,由于需要我们了解程序的设计及编码的细节,所以这一工作主要是由程序员进行。另外,单元测试还需要开发测试驱动模块以及桩模块进行辅助。在单元测试中,主要的方法包括控制流测试、排错测试、数据流测试以及分域测试等。

(2)集成测试。集成测试主要进行于软件系统集成过程中,它的作用是对单位之间接口的正确性进行检查。一般来说,根据计划,我们将在模块集成为较大系统的过程中运行该系统,查看各个组成部分是否合拍。在这个过程中,使用的策略有自底向上以及自顶向下这两种。

(3)系统测试。这主要是针对已经集成好的系统进行测试,进而对系统的性能及正确性进行检查。由于这一测试的整体难度比较大,我们要制定合理的计划,并严格按照计划执行测试工作。在系统测试工作中,主要的方法有随机测试、性能测试以及功能测试。

(4)验收测试。这种测试的目的是主要是对软件的购买者展示软件的性能,确保其符合购买者的需求。在这个过程中,测试数据主要来自于系统测试中使用的数据。这是软件在应用之前最后的测试。

(5)回归测试。上文中已经对其概念进行了简要的分析,这里将进一步对其进行分析。回归测试的主要目的是检测所进行的修改是否合理。在这个问题上,修改有着以下内涵:首先是修改达到了预期的目的,其次是修改不能够对软件其他功能的正确性产生影响。

(6)Alpha测试。这是在软件开发即将完成的时候所进行的测试,在测试之后,一般仍然会有一些设计上的变更,在这一测试工作中,测试人员主要是最终用户而不是程序员或者测试员。

(7)Beta测试。这是指在开发及测试在根本完成之后进行的测试,这种测试的工作一般由其他人员或者最终用户来完成,不可以由测试员完成。

3.2 按照按测试方法进行划分。按照测试方法进行划分则可以分为白盒测试以及黑盒测试这两种。

(1)白盒测试。这也被我们称之为逻辑驱动测试或者结构测试,是基于覆盖所有代码、路径、分支以及条件的测试。在白盒测试中,我们是清楚程序内部工作过程的,主要的目的是检测其内部动作是否符合规格说明书的要求,至于软件的功能是否符合要求则不属于这一测试的范畴。常见的白盒测试方法有逻辑驱动以及基路测试等。

在使用白盒测试方法的时候,测试者必须对程序的内部结构进行检查,并通过对其逻辑的检查得到测试数据。在这种测试方法中,存在着以下不足:首先,对于程序是否符合设计规范,或者说程序本身就是错误程序的情况,我们是没有办法检查的。其次,对于程序中因路径遗漏而导致的错误,我们无法检查。最后,某些和数据相关的错误我们没有办法检查。在这一具体的工作中,常使用的工具有Junit Framework,Jtest等。

(2)黑盒测试。顾名思义,黑盒测试和白盒测试是相反的。在黑盒测试中,我们的测试目的不是为了检查内部设计及代码是否正确,而是检查程序能否符合功能性方面的需求,因此,这种测试也被我们称之为数据驱动测试或者功能测试。

在测试的过程中,我们将完全不考虑其内部特性,只是将程序作为一个黑盒子看待,然后在其接口进行测试,具体的工作就是检查程序在接收到输入数据之后能否产生正确的数据输出信息。在黑盒测试方法中,常见的方法等价类划分、因—果图、边值分析以及错误推测等。

由于黑盒测试方法属于穷举输入测试,我们只有将所有的输入都当成测试情况使用之后才能够检查出程序中所有的错误,而实际的测试情况有无穷多个,因此,我们除了要有合法的输入之外,还要有不合法却可能的输入。一般常用的工具有WinRunner,Rational Robot,QuickTestPro等。

4 结语

由上文我们可以看出,软件测试中的环节比较多,而且方法也有很大的差别。因此,做好计算机软件测试工作并不是一件很轻松的事情,需要我们对各种软件测试方法了如指掌。所以,我们还要不断的学习,并加强探索,以一个严谨科学的态度去面对软件测试工作,只有这样才能真正的使软件发挥其应有的作用,进而提升企业的竞争力。

参考文献:

[1]何强.通信软件自动化测试系统的研究与实现[D].中南大学,2009.

第9篇:软件测试报告范文

关键词:QC平台;SAP系统测试;测试管理;质量管理

中图分类号:TP315 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.03.030

0 引言

中国海洋石油总公司(以下简称“中海油”)于2006年成功上线SAP系统,SAP系统已从全面建设向持续的系统运维和深化应用转变。伴随着对SAP系统持续的配置变更、新功能开发及新单位上线,从保证系统的稳定运行角度来讲,对于系统的测试工作凸显出其重要性。因此,中海油希望引入与SAP系统结合紧密的QC测试管理平台来对测试需求、测试计划、测试进程和测试问题进行管理,以达到将测试过程在线管理并形成一套完善的流程管理体系及制度的目的,进而满足现代企业对项目总体进度及质量的要求。

1 SAP测试管理现状

软件测试的目的是以最少的人力、物力和时间尽可能多找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。sap系统拥有庞大的系统功能及复杂的业务逻辑,那么以寻找软件缺陷及错误为目的的测试工作就显得尤为困难。针对SAP系统的不同模块所做的集成测试流程,需要由不同模块的顾问及关键用户来完成,那么对于测试过程中的沟通只能通过文档的形式传送,最终的测试脚本难以准确的以资产形式保留在公共存储空间中,更无法对于脚本进行重用及共享。在测试过程中产生的问题通过邮件及通讯工具进行沟通解决,一是对于问题的解决无法追溯及跟踪;二是沟通问题的效率过低,难以达到测试的目的。目前的测试计划制定是在业务蓝图的基础上,业务蓝图一旦出现变更,测试计划无法实时同步更新。这些问题在测试各个环节的管理和反馈过程中起到了制约作用,无法实现软件测试预期的目标。

而测试管理者关注的是如何最大化的减少手工测试的重复劳动与数据统计的工作量,有途径直观的了解测试人力资源的占用及进度情况,能够将有限的测试资源发挥出最大的价值,能够建立一套高效实用的软件测试管理系统,将管理流程及规范固化到系统平台中来,并对各个过程中的变更管理进行审核及跟踪,同时使软件测试的管理水平和方式上升到一个新的台阶。

2 QC测试管理平台解决方案

Quality Center(简称Qc)是一个基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。此外,通过QualityCenter还可以创建报告和图来监控测试过程。Quality Center是一个强大的测试管理工具,合理的使用Quality Center可以提高测试的工作效率,节省时间,起到事半功倍的效果。

利用HP Quality Center,您可以:1、制定可靠的部署决策。2、管理整个质量流程并使其标准化。3、降低应用程序部署风险。4、提高应用程序质量和可用性。5、通过手动和自动化功能测试管理应用程序变更影响。6、确保战略采购方案中的质量。7、存储重要应用程序质量项目数据。8、针对功能和性能测试面向服务的基础架构服务。9、确保支持所有环境,包括J2EE、.NET、Oracle和SAP。

QC包括测试需求,测试计划,测试执行以及缺陷跟踪4个测试管理核心过程,并且各个模块间紧密关联。QC还同时具备数据分析及报告出具功能,包括:出具数据分析图表,数据比对,提供测试报告,测试过程文档导出等。使用QC进行测试管理可以根据公司对测试项目的过程控制方式和细度的不同,制定有侧重点的测试方案。下面先介绍一下QC的四个主要功能模块:

(1)需求管理

对多种需求类型进行跟踪:按照业务蓝图制定需求和测试方案,列出测试进度及影响,使测试直观化,方便管理人员的整体把握需求转化度。

分析需求变更影响:直观的进度条显示,方便检查测试管理中遇到的问题和冲突,更好的规避风险节约时间。

(2)计划管理

测试资源库:所有的手工测试脚本按照EXCEL的格式方便的导入成QC的执行格式并储存在测试计划中,方便测试脚本调用和更新。

与测试过程关联:测试脚本调用到测试过程管理中进行手工测试,使用集成化脚本存储方式,方便测试人员的脚本管理同时也提高了业务人员对脚本的管理效率。有利用脚本的复用及资源化。

(3)进程管理

测试的执行场所:按照测试集的方式对测试脚本进行手工测试并记录测试结果,可依据测试需求自动导出测试报告,可以使管理层清楚了解测试的进度及结果。

关联缺陷:在测试过程中使用手工记录及截图拍照的方式将遇到的问题及缺陷进行记录并关联到缺陷管理模块。

(4)缺陷管理

测试缺陷提交:使用缺陷建立和模块关联两种方式对缺陷进行管理

缺陷追踪:问题状态实时更新,并可根据测试要求定制问题级别和处理方式。以邮件的方式通知相关人员处理进度。

3 针对SAP系统测试特点的Qc配置研究

SAP作为世界重要的ERP实施软件,其突出的特点就是业务拆分细致而全面。通过与SAP实施方埃森哲公司的接触,我们发现SAP有自己的业务管理模式,如:业务流程管理、模块间问题处理方案、测试通过报告的检查点等。针对SAP对测试结果细致入微的要求,测试管理工具需要在报告出具上具备相应的标准性和权威性,以征得实施方的认可并真正替代手工测试报告。以下为实践中总结的配置方案和研究成果:

(1)测试脚本分类:因部分大型国有企业的SAP业务系统比较复杂,所以我们选择在测试计划中,按照业务模块不同存储业务组件(事务代码),按照公司不同分别存储业务流程脚本。

(2)测试集分类:按测试内容不同进行分类,如:补丁包升级测试集,每日巡检测试集,季度检查测试集,回归测试集,验收测试集等。

(3)缺陷模块按照实施方要求进行详细配置,将QC语言转化为SAP用户语言:

QC与业务操作名称对应表:

4 应用实例

以某石化公司SAP系统上线项目为例,介绍在项目各阶段如何使用QC对SAP上线前的手工测试进行管理。

(1)测试计划与导入

在推广QC使用准备阶段,项目组成员赴石化公司对项目经理和实施商顾问详细讨论QC的推广工作,依照石化公司的情况为项目量身定制了QC的管理规范和方法并对QC进行界面优化和业务变更。根据QC项目组要求以及实施方的实际需求,编工测试脚本导入QC的模板,并将所有集成测试流程按模块导入QC中。

(2)执行与进度查看

在测试执行阶段,关键用户在集成测试执行时,以QC测试组为依托,记录测试执行结果,测试组人员负责监督和管理,并抽检15%测试结果。在测试执行过程中,测试组负责现场答疑并出具日报及周报。

(3)缺陷与问题跟踪

在测试过程中发现缺陷,直接在执行中进行手工记录并结合屏幕快照功能配合问题进行描述。缺陷的修复过程在缺陷管理模块中进行,与缺陷有关的人员可以在缺陷模块直观的看到问题和解决状态,进而各司其职解决问题的各个环节,最终由测试用户进行验证测试并将缺陷状态更改为“关闭”。

(4)测试分析与报告

在集成测试结束后,利用QC的文档生成器导出测试用例和测试执行记录。利用自研的QC缺陷导出工具生成集成测试的数据图表,并利用改进后的测试报告格式自动生成测试报告在项目管理系统中提交审批归档。测试管理者通过查看任何一项测试活动的进度、责任人以及执行情况,来掌握整个测试过程。(图1)

5 结束语

QC测试平台作为中海油应用系统测试平台建设的一部分,引入国际先进的测试理念,并在石油石化央企中率先实现了软件测试专业化和集中化,结合SAP被测系统特点制定出了适合海油的测试管理解决方案,为SAP的测试管理提供了一流的质量规划、测试执行和缺陷管理的方法。

QC在全公司范围内的推广和建设,不仅解决了软件测试管理信息化的问题,还为我们固化了一套规范的测试管理流程,并真正将测试脚本作为资产进行管理和重用,为软件测试管理者提供了全程跟踪和监督的渠道的同时还降低了沟通和测试成本,避免了重复劳动。通过统计数据分析,测试用例复用效率提高了51%,测试执行效率提高了近60%,错误检出率提高了20%。

参考文献

[1]柳纯录,软件评测师教程[MI,北京:清华大学出版社,2005:6-11