范文一:软件测试国内外发展现状
一、软件测试介绍:
软件测试的必要性已经完全为业内决策人士所接收。这是因为软件工业已经发展到了与其他主要工业相当的规模。经过十几年的发展,少数天才们手工作坊的世界已经转化为大工业生产的天下。由于JAVA 的流行,我们更看到了组装生产线的模式。
在工业生产的传统行业里,测试是生产的有机组成环节,各道工序的测试、组装测试、出厂测试及致破坏性试验是生产目的实现的重要保证。
软件测试和硬件测试在实现上没有真正意义上的区别,在虚拟空间上的实现也不是软件测试独有的特征。
软件测试过程的主要部分在于模拟用户对软件产品的使用过程:1、模拟最终用户通过WEB 、GUI 对软件的使用。(具体软件会有很多功能。另外测试还要模拟用户的误操作,好的软件系统应该能够应付误操作。)
2、模拟用户方操作系统,数据库、网络管理专家对软件进行安装、设置、移植(Installation , Configuration and Migration)。
3、模拟用户方软件程序员应用编程界面调用各种功能。(目前相当多的出厂软件产品不是可执行程序,而是API 。)
4、模拟用户对软件使用说明的使用。
软件测试的另一个方面是针对用户在正常使用软件可能遇到的麻烦进行测试、分析(High Avaiablility Test、Performance Test)。
贯穿始终的测试活动则包括软件设计文档评估、测试规划、测试结果报告。
软件测试是软件质量控制(QC ,QA )的具体实现环节。把软件测试有效地组织进软件的生产流程,是软件质量控制规划的主要内容。
质量控制是控制的一种;符合控制系统的一般规律。多重小闭环反馈控制是一种控制精度高并且对控制系统各模块品质要求低的一种控制方案。这种控制模式应用到软件生产上,就形成了对软件生产的分阶段测试。它最大限度的减少了开发者个人因素对软件生产的影响。这正是以北美为基地的大多数主要成规模软件生产商所引用的RUP (Rational Unified Process)。
目前市场上流行大量的测试软件,较为有效的主要应用在Unit Test, Intergration Test, Regression Test 和 Performance Test 等几个方面。
在Unit Test and Intergration Test 方面, 在网络上有免费的“软件测试工具包”可以帮助测试人员结构测试框架, 用于测试JAVA API.使用者要求具备WebLogic ,Websphere , TomCat 或其它WEB 服务器平台软件的知识。
在Regression Test 方面, 市场上有众多的capture-playback 类型的测试软件如Win Runner, Rational Robot , Rational JRobot , etc. 这类工具易学易用。要想使用这类工具实现测试目的,使用者依然需要
对被测软件本身有深入的了解。
在 Performance Test 方面, 市场上有模拟多用户类形的测试工具如LoadRunner ,Side Tester.还有分析memery leak 形的JProbe. 在网络上也有免费的“软件测试工具包”可以帮助测试人员结构测试框架,但主要是针对以Java 实现的应用软件。
二、北美软件测试的用人市场现状:
软件的大工业生产决定了软件测试是生产的必不可少的环节。对於人员配置,一直以来流行一种五比一的标准说法。 从公司内部看任何时候都是远高于这一比例。从近一个时期看,开发与测试工作量的比重甚至达到了二比一。同类型成熟产品之间的竞争最容易取胜的方法是提高质量。
软件的大工业化并不是在消灭个体户和小作坊,只是减少了他们直接与最终用户打交道的机会和必要。如今他们生产和包装软件的目的在於等待大公司的收购。为此,在最后阶段需要进行“最终用户测试”。
三、软件测试对从业人员的技术要求
相对于其他软件工程人员, 软件测试工程师的知识面应该非常宽广,但最重要的品质应该是能够在第一时间内接受新技术。
范文二:【doc】软件测试的进展和国内外现状
软件测试的进展和国内外现状
软件测试的进展和国内外现状
岸炔然
摘耍本文介龆辊件测试技术的发展过程和国内外软件测试工作的现状,说明
我国软件生产和软件测试存在的突出问题,并提出改变这种落后状况的几点措施,
践慢促进我国高质量的软件产品和软件产业的形成.
一
,软件测试发展阶段
软件测试的发展大致可划分为以下几个 阶段t
—
l956年调试时期
1957年一l978年论证时期
1979年,l9s2年破坏性测试时期
1983年一生命周期评估和预防
时期
I.调试时期
数字计算机刚问世时,测试工作的对象 是硬件,测试的题目都是针对硬件的各个部 件,其目的是保证硬件的可靠性.当时虽然 也存在软件问题,但是并投有引起人们的重 视.
早期程序设计的观点是.设计,编写好 一
个程序并随之检查它,这就是人们对软件 工作的全部认识.这一时期,对从事计算机 工作的人来说,程序检查(checkout),调
试(debugging)和测试(testing)这些词 似乎没有什么差别.有一部分人认为,i胃 试的定义是"找出程序中的错误","测 试是调试工作中的一部分.
2.论证时期")
1957年,C.Bakez区分了弱试和
"测试.他认为程序检查应包括二个目 的:(I)证明程序能运行,(2)证明程
序符台技术任务书的要求.前者是调试" 的中心任务,后者是"测试"的中心任务. 论证时期软件测试的主要目标是证明软 件符合它的技术要求任务书,证明软件不存 在错误.测试工作者使用类似结构数学证明 的方法进行论证.但由于对选择最少测试情 况缺乏明确的标准,测试选择的准则往往是 随意选定的.有时候,一个软件似乎已通过 了所需要的测试,但实际上软件仍有错误. 随着计算机应用在数量,费用和复杂性 上不断增长,测试变得越来越重要.用户和 软件公司经理对"更好的测试给于更多的 强调,即要求在软件产品移交前应更有效地 发现程序中的问题.于是,测试工作者逐渐 抛弃了"软件无错误"的假设,而是假定软 件至少包含一个错误.必须设置一个测试组 T'如果软件包含一个错误,则使用T测试 时软件至少有一次失败.这种方法已经以能 发现错误作为选择测试情况的准则. 3.破螺性试时期(1?2]
1979年出版了GlontordJ.Myers着的书
"软件涮试技巧(TheArtofSoftware
Testing),他定义软件测试是"为了发现 错误而执行程序的过程".针对"论证时 期中软件测试是"证明程序中不存在错误 的过程"之观点,Myers认为,人类的活动 具有高度的目的性,建立适当的目标具有重 要的心理作用.如果我们的目的是要证明程 序中投有错误,那我们就会不自觉地朝这个 ?
35?
方向去做I也就是说,我们会倾向于挑选那 些使程序出错可能性较小的测试数据.另一 方面,如果我们的目标是要证明程序中有 错,那就会选择一些易于发现错误的测试数 据.而后一种态度会比前者给程序增添更多 的价值.
针对"论证时期中"软件测试的目的 是要证明程序正确地执行了预期f纷功能, Myers认为,即使程序完成了预期要求,仍 可能含有错误.也就是说,如果程序不按要 求工作,显然有错,但如果程序做了不要它 傲的事情,它也有错.Myers说,如果我们 把程序旃试看成是发现错误的过程,而不是 把它作为证明程序完成预期要求的过程,则 更有可能发现后一类错误.
Myers的瞩点还包括)c|"成功"和"失 败这两个词用法的重新认识.他说,大多
数工程管理人员把投有发现错误的测试称为 "成功的测试,而把查出了新错的称为 败的测试.这种情况往往说明他们使用了 错误的测试定义.Myers认为,查出了新错 误的测试是有价值的测试,因此,应该把这 两个词的习惯用法颠倒过来.
最后,Myers认为,把软件测试看成是设 法从程序中查出错误(假定有错误存在)的破 坏性过程是较为恰当盼.成功的测试是力图 让程序执行失败丽使查错取得进展的过程. 破坏性测试时期对"调试"和,"测试
有新的定义,它与论_证对期的定义不一样, 见衰1(1).
表1."调试和"测试的不同定义
破坏性
测试时期
?36?
襄墨精
4.生命周期评估和馕舫时期(1) 随着软件工程和测试技术的发展,提出 了"生命周期测试(埘cycletestinE) 的概念,即测试不是只影响软件的编程和运 行,而同时影响软件技术任务书和软件设 计.换句话说,不仅在软件项目结束时,而 且在项目开始时就应进行测试工作.测试在 一
个软件项目一开始时即与软件开发工作相 互影响.
l983年美国国家标准局发表了一篇报
告,题目是"计算机软件生命周期的批准, 鉴定和测试指南"(GuidelineforLifecy— eieValidation,VerificationandTesting
ofComputerSoftware).这篇报告描述 了一种方法,即汇集分析,复查和测试等多 种技术提供对软件产品的评估."指南一推 荐三组评估技术.基本评估技术,综合评估 技术和高规范评皓技术.三个技术在内容上 是逐个递增的,即后一种技市包含了前一 种."评估"模式的基本观点认为.投有一 个单独的技术能保证软件正确,无错误,但 是,经过仔细选择的一组技术可以确保对一 个具体项目做到高质量软件的开发和维护. 近年来,随着人们对饔物认识的深化, 出现了"生命周期预防测试"."预防测 试包括下列一系列工作内容:测试计划和 分析(制订测试目的和测试技术要求),测 试设计(选择测试技术,制定测试组的结 构,说明特殊情况和过程的细节),实施 (求取测试数据,制订测试步骤和选用测试 黄持软件),测试执行(一擞或多次进行测 试工作,测定测试结果),维护(保存和修 正测试资料以备其他软件使用). 预防测试"以"预肪"作为测试工作
的要点,把测试计划,测试分析和测试设计 看怍是主要工作.预防测试观点认为,测试 计划,分析和设计可显着改进软件技术任务 书的质量,其理由是.第一,测试人员以一
种与开发人员完全不同的观点使用软件技术 要求和设计任务书,能发现软件设计逻辑上 的毛病和任务书的不正确性,从而帮助开发 人员改进了实际程序的开发.第二,对于测 试情况的描述(包括输入状态和期望的输出 结果)可以看作是软件执行的例子,在测试 说明书中包含的这些实例的集舍,可清楚地 为用户和软件开发人员展现软件技术要求和 设计方案将出现的结果,这样,就能使开发 人员及早判断是否需要更改技术要求和设计 方案.
软件开发人员的目标是生产有效的软 件.测试的早期介^可提早发现错误,显着减 少了环节,减少了软件生产费用,测试的早 期介入使测试人员及早承担了责任,帮助程 序人员一开始就做好工作.这是极为有利的. 由"预防"观点,如果在测试执行期间 发现软件技术任务书或设计上的重大毛病, 这应该认为是整个测试工作的失败. 二,国外软件测试产业现状"
1."预防测试"的闸世为当今软件产
业提供了良好的费用一效率比,它使软件失 误的预计费用降低,减少了软件项目开发的 风险.但是,目前这样的方法尚未得到软件 产业的普遍采用,软件产业的现状估计要比 学术界落后约10年.1987年6月在美国华盛 顿召开了第四次软件测试国际会议.在会上 发了一张有20个问题的表格,请与会者对每 一
项回答;在他们的公司里是普遍采用(回 答"是"),或是仅在某些项目或某些部门 中采用(回答有时"),或是没有采用 (不回答).表2显示了这次调查的统计百 分数.由表中可见,软件产业中最普遍进行 的是记录了测试中查出的错误,最少进行的 是测算测试中达到的程序复盖面(比如,统 计测试中多少条语句未披执行等).但是
,在编程前 有二点似乎应该引起注意.第一
进行测试设计,是提高测试效率的一个关键 因素,但是工业界接受这一概念尚有很大的 距离(正式在编程前开展测试工作的只占 8%).第二,虽然许多代表说,他们的测 试是系统地,有组织地进行(回答"是一和 有时"占9l),但正规地进行体现系统 化工作的公司只占一半或一半以下,参阅表 2第7,l5项.
表2软件产业中测试实阡分析(3) 序号测试工作项
1e保存测试中所查锚误之记录
2选派专人女责测试工作
3要求制订说明目标和方法的
测试计划
是j有时
().()
7316
6513
6l29
测试是系统地和有组织地j
进行l61
由专职测试完成系统测试l62 测试与开发分开进行【60
保存测试内容在软件变化时
再玻使用.51
保存测试内客,x备将来使用j51 测试技术要求和测试设计文l 件化[48
测试过程按照标准手册文
件化l45
保存测试工作日记l42
保存测试花费时间记录lt0 规定雷复查类潞试文件131 由专职测试员完成整体测试l24 剐算井记录测试费用l24
定期进行测试人员培训I22 规定需复查同熹试结果I20 用户大量参加测试工作8
在鳊程之前开展测试工作8
神l要求测定测述已迟到的代码Il 1复盖面15l16
应该指出,国际会议的出席者都是软件 测试先进机构的代表,他们的圊爷一般偏 好",一般软件产业中测试实际还要落后 一
些,实际处于论证和查错阶段. 2.自从六十年代末出现软件工程以 来,软件测试工程作为一个专门的领域得到 ?37?
鲫加勰坫肋曲n神曲
456789n地M坫?埔
了发展.七十年代开始,软件测试职业化水 平明显增长.在一些机构,已对多个测试岗 位定义了工作范围和目标,"测试经理", "主测试员",测试分析员"和"测试技 术员"已成为公认的名称.但是,只在少数 公司内软件测试成为正式职业l在大多数公 司,测试是由其他专业的人员兼职的.测试 工作者仍在争取与软件开发工作者有同等的 地位.可以注意到,在美国等发达国家中, 软件测试的职业尚未出现在主要工资情况调 壹表中.
三,我国的现状和对策r.4,5,6) 1.我国软件产业处于剖建阶段
~1982年全国科学技术奖励大会后,我 国软件产业的组建和发展工作便正式提到日 程上来了.目前我国已有几百个软件和应用 企事业单位,但仅靠软件和应用系统设计等 脑力劳动就托生存,发展,壮大的实在很 少,它们都还必须依靠销售硬件,承包系统 工程.许多事业单位还依赖事业费或部分依 靠事业费.近年来国家开始小置投资于软件 工程,技术标准和产业管理的科技攻关,已 见一些效果,但到投入工程开发生产和实际 使用,并在软件产业界普遍推广应用还有相 当距离.就普遍情况丽言,当前的阅题是. 不是没有成果,丽是缺乏产品,不是没有技
术,而是缺乏优势,不是没有设备,而是缺 乏利用,不是投有人才,而是缺乏凝聚,不 是没有"联台",而是缺乏实体.总之,软 件生产的突出问题是"散,无论从组织 上,技术上,经营上,都存在"散"字. 2.我目的软件藕试仍处于原始的初船 由于种种原因,除个别单位外,我国的 软件生产尚处在原始的"小作坊"型,离软 件工程的要求,即实行工程化管理,用工业 化,自动化的方法生产软件还有很太的距 离软件测试更是属于原始的初期,即程序 员凭自已的经验对程序进行调试.因此,以 普遍情况而言,我国目前尚无真正意义上的 "测试",这将大大影响高质量软件产品的 推出和软件产业的形成.鉴于我国当前软件 测试落后的现状,我们建议是否应采取以下 几点措施,
?大力宣传和推广软件工程.国家应给 .予一定的忧惠措施,促进软件产业的发展, 促进软件工程的推广.
@利用杂志,培li班等形式介绍和推广 软件测试知识,使开发人员认识到测试的重 要性.
?制订软件产品质量保证法规,公布软 件测试要求或准则,提高软件和应用企事业 单位对测试和产品质量保证的认识. ?加强人员的培养,在高等学校开设若 予软件测试工程的谭程.
参考文献
(1]D.Gelp~rinandB.Hetzel"TheOrowthotSoftwareTesting",({Communica—
tionsoftheACM))Vo1.31,?6,June1988.'
(2]G.J.Meyers,TheArtotSoftwareTesting)),JohnWiley&Sons,NewYork,
1979.
(3)M.V.Zelkowhz,R.T.Yeh,R.G.Hamlet,J.D.Gannon,andV.R.Basili"Software
EngineeringPracticesintheU.SandJapan',((Computer)),Vo1.17,?.6,June
1984.
[4]邹鸿钧,"关予发展我国软件产业的几点意见"软件产业,1988年第6期.
(5)何乃贤,国内外软件产韭建设发展情况,软件产业,1988年第6期.
(6)江诵林,对我国软件产业发展战略的一些思考,《软件产业,1988年第lO期
.38?
范文三:软件测试国内外发展现状及趋势研究
摘要:该文对软件测试发展历程、国内外软件测试行业发展现状、软件测试新的方法和领域以及发展趋势等方面进行了深入综述。研究期望为软件测试初学者了解软件测试的发展,为软件管理人员的整体发展规划提供借鉴,为软件测试人员学习使用软件测试工具、及进行软件测试技术研究提供参考。
关键词:软件测试;云测试;冒烟测试
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)26-6020-03
1 概述
软件测试是保证软件质量、提高软件可靠性的重要途径,软件测试的质量与测试人员的技能、经验以及对被测软件的理解密切相关。这就要求测试人员了解国内外被测技术发展历程,掌握目前发展动态,运用新技术,新方法,新工具,以满足不断前进的软件行业的要求,有效提高软件测试的效率和成果,确保软件测试的质量[1]。
软件测试是伴随着软件的产生而产生的。在最初的软件开发过程中,软件规模小而简单,开发过程随意而无序。软件测试的含义也比较狭窄,仅仅等同于调试,往往由开发人员兼任测试工作,目的是为了纠正软件中存在的已知问题。对测试的投入少,测试介入晚,往往是等到代码成形,产品完成后才进行测试。
随着时间的推移,软件测试的内涵在不断丰富,对软件测试的认识在不断深入。要完整理解软件测试,就要从不同角度去审视。软件测试就是对软件产品进行验证和确认的活动过程,其目的就是尽快尽早地发现软件产品在整个开发生命周期中存在的各种缺陷,以评估软件的质量是否达到可发布水平。软件测试是软件质量保证的关键元素,代表了需求规格说明书、设计和编码的最终检查。
本文对软件测试国内外发展现状进行综述,并总结测试技术的发展前沿和趋势,以期为同类研究提供参考。
2 软件测试国内外发展现状综述
2.1国外发展现状
国际上,软件测试(软件质量控制)是一件非常重要的工程工作,测试也作为一个非常独立的职业。在IBM、Microsoft等开发大型系统软件公司,很多重要项目的开发测试人员的比例能够达到 1:2甚至1:4。在软件测试技术方面,自动化测试系统(ATS)正朝着通用化、标准化、网络化和智能化的方向迈进。20世纪90年代中期以来,自动测试系统开发研制的指导思想发生了重大变化,以综合通用的ATS代替某一系列,采用共同的硬件及软件平台实现资源共享的思想受到高度重视。其主要思路是:采用共同的测试策略,从设计过程开始,通过“增值开发”的方式使后一阶段测试设备的研制能利用前一阶段的开发成果;TPS要能够移植,软件模块可以重用;使用商业通用标准、成熟的仪器设备,缩短研发时间,降低开发成本并且易于升级和扩展[2, 3]。
2.2国内发展现状
国内软件测试的现状主要表现在:
一是软件测试的地位还不高,在很多公司还是一种可有可无的东西,大多只停留在软件单元测试、集成测试和功能测试上。
二是软件测试标准化和规范化不够。
三是软件测试从业人员的数量同实际需求有不小差距,国内软件企业中开发人员与测试人员数量一般为5:1,国外一般为 2:1或1:1,而最近有资料显示微软已把此比例调整为1:2。
四是国内缺乏完全商业化的操作机构,一般只是政府部门的下属机构在做一些产品的验收测试工作,实质意义不大,软件测试产业化还有待开发和深掘。
因此,我国的软件测试行业较欧美国家的差距还比较大。通过研究发现,造成这种情况的原因主要有以下几点:
1)国内软件产业本身不强大,软件质量较低;
2)软件管理者与用户对软件质量意识有待加强;
3)软件管理者对软件测试的认识和重视程度不够;
4)软件行业质量监督体系不够好;
5)软件从业人员的素质不够高;
6)软件测试行业处于起步阶段,经济效益短期内不明显。
3 测试技术的发展前沿及趋势
3.1测试新技术、新方法
3.1.1 提高测试效率的云测试
云计算时代的到来为软件服务提供广阔的平台,软件测试就是其中之一。基于云计算的新型的测试方式就是云测试。
目前,基于云的软件测试相关研究领域包括:
1)“测试资源”的服务化,即软件测试本身以统一接口、统一表示方式实现为一种服务,用户通过访问这些服务,实现软件测试,而不用关注“测试”所使用的技术、运行过程、实现方式等等。
2) “测试资源”的虚拟化,参照云计算的虚拟化实现方式,实现测试资源的虚拟化,使测试资源可以随用户的需求提供,动态延展。
3)测试数据的安全性保证,即研究如何在云环境中保护用户敏感数据,提高数据的安全性。
4)集成测试的复杂性问题,即研究异构的云计算软件系统下、多样的软件运行环境中出现的兼容性、交互性、依赖性以及由此引起的软件测试复杂度提高的问题。
3.1.2 减少正式测试负担的冒烟测试
冒烟测试(smoke testing),据说最早源于微软,所谓冒烟测试:就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。
冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。
冒烟测试的对象是每一个新编译的需要正式测试的软件版本。通过冒烟测试,在软件代码正式编译并交付测试之前,先尽量消除其表面的错误,减少后期测试的负担。冒烟测试的执行者是版本编译人员。因此可以说,冒烟测试是预测试[4]。
在实际的软件测试工作中,冒烟测试在软件研发的不同阶段有所不同。大体可以分为三类: 1)形成集成测试版本以前:验证各个单元能够成功执行,并保证测试版本能够顺利集成;
2)形成集成测试版本:以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性;
3)后期预测试缺陷的修正:针对每个缺陷所做的缺陷修正都要先在干净的链接环境中进行冒烟测试,测试通过后才能更新相关软件版本。
3.1.3 嵌入式软件测试
在日常生活总嵌入式系统逐渐成为不可或缺的一部分,如家用智能电视、智能冰箱的应用。随着人们追求的日益提高,软件系统变的越来越复杂、庞大,如何保证嵌入式软件的可靠性正成了嵌入式系统面临的最大问题,软件测试中可能存在的问题包括:
1)用户的环境发生了改变,越来越贴近日常生活用品;
2)用户的使用环境有可能存在不可能性;
3)测试软件的应用,可能会与开发者利益发生冲突;
4)应用者的持续性可能与开发和测试工作发成冲突;
为了解决上述问题,嵌入式软件测试的不同阶段应采用不同的方式:
1)由点及面的单元化测试:减少大规模测试在小目标单元上测试的比例,通过尽可能小的目标单元访问所有目标指定的界面。众所周知主机单元无论是硬件配置与运行速度都会比小单元有优势的多,大测试在主机环境下测试,小单元成为单一的确认,软件测试就会变的简单很多。
2)模块化测试:讲不同的应用功能单元模块化,模块的测试主机环境仲进行。将一个大型软件的开发可以分几个级别的集成块,低级别模块的软件集成在主机平台上完成,高级别的集成在目标环境上进行测试。
3)用户的确认测试:软件测试最终目标是用户,因此讲所有的开发归总到主机平带,通过移植的方式应用到用户身上,使测试变成简单的确认测试,减少用户对开发环境的依赖,会为软件测试提供很大的便利。
3.2 软件测试的发展趋势
3.2.1 转变思想观念
软件质量的不断提高不仅仅取决于软件测试技术水平,某种程度上更取决于对软件测试这一工作的态度和观念。当软件测试被视为软件产品交付前的一项“走过场”工作,或进行测试只为让软件产品的过程“完整化”,那实现软件质量提高以及软件测试水平飞越几乎不可能。只有把提高软件质量视为企业生存之根本,通过过程改进及有效组织管理,形成正确积极的软件测试态度,才能提供软件测试健康发展的土壤。
3.2.2 改进测试流程
软件测试将一改以往与软件开发流程并行的模式,开始将测试贯穿于产品开发的整个流程。传统的测试只是对基本完成的产品查错改错,未来软件测试将转变为全过程测试,将对软件问题提前进行控制和预防,不仅可有效保证软件质量还将大大缩短软件开发周期。
3.2.3 创新测试技术
在软件开发技术日新月异的时代,对软件测试技术提出了新的要求,许多以往的测试方法已经不能满足对某些软件的测试需求了,这就要求软件测试人员在学习软件开发新技术的同时,找到或开发出适合新技术软件产品测试的新方法。
3.2.4 革新管理方式
实现软件质量、进度、成本之间的最佳平衡是软件测试管理的核心目标。这种平衡离不开管理层、软件开发团队、质保人员、测试团队等在软件开发各个环节中通力合作。软件管理其实质就是过程管理、团队管理、人才管理和质量管理。团队的知识结构、创新能力和凝聚力是保证测试流程、测试技术充分实施的基础。采用计划、组织、领导、控制等手段,组建高效团队,制定完善的测试流程,做好测试设计,有效执行测试,加强过程跟踪,从而顺利完成质量保证和测试任务。
4 结束语
通过对软件测试技术国内外的研究,可以使得我国的测试人员了解国内外被测技术发展历程,掌握行业脉搏,与测试行业的国际前沿技术方法接轨,了解软件测试行业的具体情况,结合在我国软件信息化高速发展的需求,对软件测试国内外现状进行总结、归纳为我国软件测试的技术提高及整体发展趋势提供参考。
参考文献:
[1] 软件工程——理论、方法与实践[M].北京:高等教育出版社,2005
[2] 杨芙清,梅宏,吕建,等.浅论软件技术发展[J].电子学报,2002,30(12A):1901-1906.
[3] 宫云战,刘海燕,万琳,等.软件测试性的分析与设计技术研究[C]..2000年全国测试学术会议(CTC’2000).北京:2000:271-274.
[4] Tamres.软件测试入门[M].北京:人民邮电出版社,2004.
[5] Cem Kaner,James Bach,Bert Pettichord.软件测试:经验与教训[M].北京:机械工业出版社,2004.
[6] William E.Perry.软件测试的有效方法[M].北京:机械工业出版社,2004.
[7] Elfriede Dustin.有效软件测试[M].北京:清华大学出版社,2003.
范文四:软件测试国内外发展现状及趋势研究[权威精品]
软件测试国内外发展现状及趋势研究-权威精品
本文档格式为WORD,感谢你的阅读。
最新最全的 学术论文 期刊文献 年终总结 年终报告 工作总结 个人总结 述职报告 实习报告 单位总结
摘要:该文对软件测试发展历程、国内外软件测试行业发展现状、软件测试新的方法和领域以及发展趋势等方面进行了深入综述。研究期望为软件测试初学者了解软件测试的发展,为软件管理人员的整体发展规划提供借鉴,为软件测试人员学习使用软件测试工具、及进行软件测试技术研究提供参考。
关键词:软件测试;云测试;冒烟测试
TP311 A 1009-3044(2013)26-6020-03
1 概述
软件测试是保证软件质量、提高软件可靠性的重要途径,软件测试的质量与测试人员的技能、经验以及对被测软件的理解密切相关。这就要求测试人员了解国内外被测技术发展历程,掌握目前发展动态,运用新技术,新方法,新工具,以满足不断前进的软件行业的要求,有效提高软件测试的效率和成果,确保软件测试的质量[1]。
软件测试是伴随着软件的产生而产生的。在最初的软件开发过程中,软件规模小而简单,开发过程随意而无序。软件测试的含义也比较狭窄,仅仅等同于调试,往往由开发人员兼任测试工作,目的是为了纠正软件中存在的已知问题。对测试的投入少,测试介入晚,往往是等到代码成形,产品完成后才进行测试。
随着时间的推移,软件测试的内涵在不断丰富,对软件测试的认识在不断深入。要完整理解软件测试,就要从不同角
度去审视。软件测试就是对软件产品进行验证和确认的活动过程,其目的就是尽快尽早地发现软件产品在整个开发生命周期中存在的各种缺陷,以评估软件的质量是否达到可发布水平。软件测试是软件质量保证的关键元素,代表了需求规格说明书、设计和编码的最终检查。
本文对软件测试国内外发展现状进行综述,并总结测试技术的发展前沿和趋势,以期为同类研究提供参考。
2 软件测试国内外发展现状综述
2.1国外发展现状
国际上,软件测试(软件质量控制)是一件非常重要的工程工作,测试也作为一个非常独立的职业。在IBM、Microsoft等开发大型系统软件公司,很多重要项目的开发测试人员的比例能够达到 1:2甚至1:4。在软件测试技术方面,自动化测试系统(ATS)正朝着通用化、标准化、网络化和智能化的方向迈进。20世纪90年代中期以来,自动测试系统开发研制的指导思想发生了重大变化,以综合通用的ATS代替某一系列,采用共同的硬件及软件平台实现资源共享的思想受到高度重视。其主要思路是:采用共同的测试策略,从设计过程开始,通过“增值开发”的方式使后一阶段测试设备的研制能利用前一阶段的开发成果;TPS要能够移植,软件模块可以重用;使用商业通用标准、成熟的仪器设备,缩短研发时间,降低开发成本并且易于升级和扩展[2, 3]。
2.2国内发展现状
国内软件测试的现状主要表现在:
一是软件测试的地位还不高,在很多公司还是一种可有可无的东西,大多只停留在软件单元测试、集成测试和功能测试上。
二是软件测试标准化和规范化不够。
三是软件测试从业人员的数量同实际需求有不小差距,国内软件企业中开发人员与测试人员数量一般为5:1,国外
一般为 2:1或1:1,而最近有资料显示微软已把此比例调整为1:2。
四是国内缺乏完全商业化的操作机构,一般只是政府部门的下属机构在做一些产品的验收测试工作,实质意义不大,软件测试产业化还有待开发和深掘。
因此,我国的软件测试行业较欧美国家的差距还比较大。通过研究发现,造成这种情况的原因主要有以下几点:
1)国内软件产业本身不强大,软件质量较低;
2)软件管理者与用户对软件质量意识有待加强;
3)软件管理者对软件测试的认识和重视程度不够;
4)软件行业质量监督体系不够好;
5)软件从业人员的素质不够高;
6)软件测试行业处于起步阶段,经济效益短期内不明显。
3 测试技术的发展前沿及趋势
3.1测试新技术、新方法
3.1.1 提高测试效率的云测试
云计算时代的到来为软件服务提供广阔的平台,软件测试就是其中之一。基于云计算的新型的测试方式就是云测试。
目前,基于云的软件测试相关研究领域包括:
1)“测试资源”的服务化,即软件测试本身以统一接口、统一表示方式实现为一种服务,用户通过访问这些服务,实现软件测试,而不用关注“测试”所使用的技术、运行过程、实现方式等等。
2) “测试资源”的虚拟化,参照云计算的虚拟化实现方式,实现测试资源的虚拟化,使测试资源可以随用户的需求提供,动态延展。
3)测试数据的安全性保证,即研究如何在云环境中保护用户敏感数据,提高数据的安全性。
4)集成测试的复杂性问题,即研究异构的云计算软件系统下、多样的软件运行环境中出现的兼容性、交互性、依赖性以及由此引起的软件测试复杂度提高的问题。
3.1.2 减少正式测试负担的冒烟测试
冒烟测试(smoke testing),据说最早源于微软,所谓冒烟测试:就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。
冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。
冒烟测试的对象是每一个新编译的需要正式测试的软件版本。通过冒烟测试,在软件代码正式编译并交付测试之前,先尽量消除其表面的错误,减少后期测试的负担。冒烟测试的执行者是版本编译人员。因此可以说,冒烟测试是预测试[4]。
在实际的软件测试工作中,冒烟测试在软件研发的不同阶段有所不同。大体可以分为三类: 1)形成集成测试版本以前:验证各个单元能够成功执行,并保证测试版本能够顺利集成;
2)形成集成测试版本:以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性;
3)后期预测试缺陷的修正:针对每个缺陷所做的缺陷修正都要先在干净的链接环境中进行冒烟测试,测试通过后才能更新相关软件版本。
3.1.3 嵌入式软件测试
在日常生活总嵌入式系统逐渐成为不可或缺的一部分,如家用智能电视、智能冰箱的应用。随着人们追求的日益提高,软件系统变的越来越复杂、庞大,如何保证嵌入式软件的可靠性正成了嵌入式系统面临的最大问题,软件测试中可能存在的问题包括:
1)用户的环境发生了改变,越来越贴近日常生活用品;
2)用户的使用环境有可能存在不可能性;
3)测试软件的应用,可能会与开发者利益发生冲突;
4)应用者的持续性可能与开发和测试工作发成冲突;
为了解决上述问题,嵌入式软件测试的不同阶段应采用不同的方式:
1)由点及面的单元化测试:减少大规模测试在小目标单元上测试的比例,通过尽可能小的目标单元访问所有目标指定的界面。众所周知主机单元无论是硬件配置与运行速度都会比小单元有优势的多,大测试在主机环境下测试,小单元成为单一的确认,软件测试就会变的简单很多。
2)模块化测试:讲不同的应用功能单元模块化,模块的测试主机环境仲进行。将一个大型软件的开发可以分几个级别的集成块,低级别模块的软件集成在主机平台上完成,高级别的集成在目标环境上进行测试。
3)用户的确认测试:软件测试最终目标是用户,因此讲所有的开发归总到主机平带,通过移植的方式应用到用户身上,使测试变成简单的确认测试,减少用户对开发环境的依赖,会为软件测试提供很大的便利。
3.2 软件测试的发展趋势
3.2.1 转变思想观念
软件质量的不断提高不仅仅取决于软件测试技术水平,某种程度上更取决于对软件测试这一工作的态度和观念。当软件测试被视为软件产品交付前的一项“走过场”工作,或进行测试只为让软件产品的过程“完整化”,那实现软件质量提高以及软件测试水平飞越几乎不可能。只有把提高软件质量视为企业生存之根本,通过过程改进及有效组织管理,形成正确积极的软件测试态度,才能提供软件测试健康发展的土壤。
3.2.2 改进测试流程
软件测试将一改以往与软件开发流程并行的模式,开始将测试贯穿于产品开发的整个流程。传统的测试只是对基本完成的产品查错改错,未来软件测试将转变为全过程测试,将对软件问题提前进行控制和预防,不仅可有效保证软件质量还将大大缩短软件开发周期。
3.2.3 创新测试技术
在软件开发技术日新月异的时代,对软件测试技术提出了新的要求,许多以往的测试方法已经不能满足对某些软件的测试需求了,这就要求软件测试人员在学习软件开发新技术的同时,找到或开发出适合新技术软件产品测试的新方法。
3.2.4 革新管理方式
实现软件质量、进度、成本之间的最佳平衡是软件测试管理的核心目标。这种平衡离不开管理层、软件开发团队、质保人员、测试团队等在软件开发各个环节中通力合作。软件管理其实质就是过程管理、团队管理、人才管理和质量管理。团队的知识结构、创新能力和凝聚力是保证测试流程、测试技术充分实施的基础。采用计划、组织、领导、控制等手段,组建高效团队,制定完善的测试流程,做好测试设计,有效执行测试,加强过程跟踪,从而顺利完成质量保证和测试任务。
4 结束语
通过对软件测试技术国内外的研究,可以使得我国的测试人员了解国内外被测技术发展历程,掌握行业脉搏,与测试行业的国际前沿技术方法接轨,了解软件测试行业的具体情况,结合在我国软件信息化高速发展的需求,对软件测试国内外现状进行总结、归纳为我国软件测试的技术提高及整体发展趋势提供参考。
参考文献:
[1] 软件工程——理论、方法与实践[M].北京:高等教育出版社,2005
[2] 杨芙清,梅宏,吕建,等.浅论软件技术发展[J].电子学报,2002,30(12A):1901-1906.
[3] 宫云战,刘海燕,万琳,等.软件测试性的分析与设计技术研究[C]..2000年全国测试学术会议(CTC’2000).北京:2000:271-274.
[4] Tamres.软件测试入门[M].北京:人民邮电出版社,2004.
[5] Cem Kaner,James Bach,Bert Pettichord.软件测试:经验与教训[M].北京:机械工业出版社,2004.
[6] William E.Perry.软件测试的有效方法[M].北京:机械工业出版社,2004.
[7] Elfriede Dustin.有效软件测试[M].北京:清华大学出版社,2003.
阅读相关文档:OA 办公自动化系统在杜儿坪矿信息化管理中的应用 网络环境下的虚拟电容成像系统的研究 面向OpenCL模型的DCT并行化 N 皇后问题随机算法性能分析 应用新技术建立重报集团数据中心 信息安全风险评估学习中的问题与对策 ADO.NET 中DataReader对象的探讨研究 Packet Tracer 在网络实训类课程中的应用 高职《平面动画制作技术》课程教学改革研究 轮式机器人图形化编程系统的研究与设计 计算机程序设计课程多媒体教学过程的分析研究 多Agent 的个性化学习路径推荐系统设计 基于动漫专业的网页课程教学环节设计 多目标遗传算法及其在飞机除冰调度中的应用
最新最全【学术论文】【总结报告】 【演讲致辞】【领导讲话】 【心得体会】 【党建材料】 【常用范文】【分析报告】 【应用文档】 免费阅读下载 *本文收集于因特网,所有权为原作者所有。若侵犯了您的权益,请留言。我将尽快处理,多谢。*
范文五:国内外航空软件测试比较
第6卷 第6期015年12月 2指挥信息系统与技术
CommandInformationSstemandTechnolo ygyo.6Vol.6 N
Dec.2015
·软件测试·
:/doi10.15908.ki.cist.2015.06.002j
国内外航空软件测试比较
倪红英 黄芙平 周弘斌
()中国航空无线电电子研究所 上海200233
摘 要:软件测试是保证软件质量的重要手段。航空软件因特殊环境使用要求需具有高安全性和高可靠性。由于多数航空软件为嵌入式软件,故难以测试。目前,国内外航空软件测试管理思路和测试定义、团队分工、测试类型、测试环境、测试工作产品和资源配置技术方法各异。从规范标准、
等方面,对国内外航空软件测试进行了论述和比较,以期达到更好的软件测试。关键词:航空软件;软件验证;软件测试
)中图分类号:TP311.5 文献标识码:A 文章编号:1674909X(201506000805---
ComarisonofDomesticandForeinAviationSoftwareTestin pgg
NiHoninuanFuinhouHonbin H Z gyggpgg
(,)ChinaAeronauticalRadioElectronicsResearchInstituteShanhai200233,China g
:uaranteeualit.InAbstractSoftwaretestinisanimortantwatothesoftwarethesecial gqygpyp ,environmentitisdemandedthattheaviationsoftwarehashihsafetandhihreliaalication ppgyg -
,bilit.Whenmostofaviationsoftwaresareembeddedsoftwaresthesoftwareisdifficulttobe y,mresenttested.Atanaementideasandtechnolomethodsforthedomesticandforeinavia pggyg -,,tionsoftwaretestinaredifferent.Basedonthesecificationstandardthetestindefinitionthe gpg ,,,,teamlabordivisionthetesttetestinenvironmenttestinroductandresourceallocation ypggp ,andthedomesticandforeinaviationsoftwaretestinsareared.Thusitrovidesarefer ggpp-enceforimlementinbettersoftwaretestin. pgg
:;;Kewordsaviationsoftwaresoftwareverificationsoftwaretestin gy
0 引 言
航空软件是一类安全性要求较高的软件,软件测试则是发现软件缺陷确保软件质量的有效手段。
[]
国外DO-1781-2系列标准的第1个版本始于
1 国内中外航空软件验证测试对比
1.1 规范标准
国外民用飞机航空软件测试依据标准是DO-
,机载系统和设备合格审定中的软件考虑》同178B《时辅以项目级要求,其特点包括:1)标准唯一;)直到22DO-178B自1992年发布,011年才出版更
新版本DO-较长时期内标准稳定;178C,3)项目级要求与DO-是对DO-178B保持一致,178B的解释和细化,如项目测试用例编写指南和模板、测试程序编写指南和模板以及测试策略等;4)项目实施过程如根据项目特点,可不选择目标码覆盖可选择执行,
对民用飞机适航软件测试提出正式要1982年发布,/求;国内G军用软件测试指南》JBZ141—2004《
[3]
始于2对软件测试也同样要求。由此可004年发布,见,国外航空软件测试发展历史较长,管理和实现技术规范且成熟。本文归纳总结上述2类测试过程,以期为国内软件测试工作提供借鉴与启示。
20150603 收稿日期:--
分析,也可不选择软件硬件集成环境下的结构覆盖分析等,因此该标准可裁剪。
国内型号软件测试依据的标准包括以下9大)各级软件质量管理要求;类:12)各军兵种软件测试要求;3)航空产品软件定型规定;4)GJB测试实验室和校准实验室通用要2725A—2001《
;)《求》军用软件测评实验室测评过程和技术能力5;/;要求》军用软件测试指南》6)GJBZ141—2004《
)包括软件开发通用要求、软件研制能力成熟度模7
型、软件评审、软件质量度量和软件配置管理等管理军用软件文档通用类国军标;8)GJB438B—2009《 、《要求》军用软件定型测评大纲编GJB6921—2009 、制要求》军用软件定型测评报告GJB6922—2009《
)项目级要求。等文档类国军标;编制要求》9
国内型号软件测试在规范标准方面具有以下特)量大;)更新频繁;)来源庞杂,术语不一且点:标准规范不衔接。1.2 测试定义
DO-178B和DO-178C中用验证定义软件测
12,4]-
:试,其解释如下[ 验证=评审+分析+测试
其中,评审指以一张检查清单或类似辅助手段为指导,对生命周期各阶段输出进行检查,以提供正确的分析指对一个软件部件的功能、性能、可定性评估;
追踪性、安全性影响以及与机载系统或设备中其他提供正确的可重复证据;测试部件的关系进行分析,
指通过动态执行程序发现软件缺陷。
因此,遵循DO-178B的测试项目通常称软件验证项目。软件验证要求对每一软件生命周期阶段的软件需求分析阶段对软件需输出进行评审。例如,
求规格说明评审;软件设计阶段对软件设计说明进编码阶段对源代码评审;测试阶段分别对软行评审;
件测试用例、程序以及结果评审等。虽评审耗时较长,但确保了软件生命周期各阶段工作产品的质量。软件验证过程分析包括代码静态、需求覆盖、代码结构覆盖、数据耦合和控制耦合等分析。代码静态和因此耗代码结构覆盖等分析可借助工具自动完成,时较少,是动态测试的补充,也确保了软件测试的完整性。整个软件验证阶段评审、分析与测试耗时比例约为45%,10%和45%。
5]
,测试为国内通常用词[软件测试过程中约
)评审时间较短,动,导致问题更改耗费增大;仅简2单检查格式和表面内容,评审者无法深入审查被审对象,导致评审质量不佳。1.3 测试分工
国外软件验证项目涉及2个团队,国内软件测试涉及2~3个团队,其团队分工如表1所示。
表1 软件验证项目团队分工
测试团队内部
国外文档审查*和代
码审查
国内
静态分析、代码审查、文档审查、
单元测试、部件测试、配置项测试和系统测试
第三方
文档审查*、软
文档审查、静态分析、代码审查、
件/软件和软件/
配置项测试和系统测试
硬件集成测试不适用
文档审查、静态分析、代码审查、配置项测试和系统测试
定型
注:*为该项工作仅需1个团队执行1次
每项任务仅需1个团队测 国外项目分工特点:试1次即可,无需2个团队重复测试。该分工具有不浪费资源和责任明确的优点。
)每项任务由不同团队重国内项目分工特点:1复测试2~3遍,由于视角不同,部分需求测试更充)在进度紧张情况下,分,但需投入更多资源;测试2会不充分。1.4 测试类型要求
进行软件动态测试时,国外项目不要求区分测试类型,仅需按照软件验证计划要求,完全覆盖软件高层和低层需求。一条软件高层需求可能包括功性能、余量、安全性和接口等要求,也可能是几种能、
要求的组合,只要求对需求进行充分必要的测试。对测试用例的设计要求应具有正常和异常范围测试
12,6]-
。结构覆盖数据可通过自动化工具自动获用例[
取,所有项目均要求在软件需求基础上进行结构覆盖分析,并获得相应等级软件100%的结构覆盖率,对未达到覆盖的项目进行分析,以确保测试充分性。
国内项目提出了文档审查、代码审查、静态分析、代码走查、逻辑、功能、性能、接口、人机交互界强度、余量、可靠性、安全性、恢复性、边界、数据面、
处理、安装性、容量、互操作性、敏感性、标准符合性、兼容性和中文本地化2要求结合对软3种测试类型,件需求规格说明进行分析,选取适合的测试类型进行测试。该测试结合软件特征从多角度进行更充分)面向不同测试类型的测的测试。该测试缺点为:1试用例重复,导致浪费;2)测试类型边界不清会引起理解的二义性,导致为识别测试类型耗费更多时
项目实施过程中包含文80%的工作量是动态测试,
档和代码审查阶段,相当于DO-178B的评审。但该工作具有以下2个问题:1)评审在编码完成后启
间,如看门狗的测试,可能归属性能、安全性和恢复)除单元测试外,性测试三者之一;部件、配置项和3系统测试均无结构覆盖要求。
1.5 测试支持环境
目前,多数国内外项目环境对比如表2所示。
表2 国内外项目环境对比
项目环境
测试
环境宿主机平台+全数字仿真环境+商用覆盖分析工具
特点
支持脚本;支持程序自动运行和结果自动比较;回归测试执行全部测试程序支持脚本,可重用软件/软
支持件集成测试的脚本;
程序自动运行和结果自动
回归测试执行全部比较;测试程序
支持脚本;支持程序自动
回运行和结果自动比较;
归测试执行全部测试程序不支持脚本,多数为手工
;测试回归测试通过影响域分析选取执行部分测试用例
不支持脚本,多数为手工
回归测试通过影响测试;
域分析选取执行部分测试用例
即文档和记录工作在费工作时间的比例约为4∶1,软件验证工作中所占比例约为20%。
国内项目要求按照标准编制软件测试计划、说其中文档间有些内容重复,同一份文档中明和报告,
上下文也有重复,故一处修改会引起多处修改。如果是工具生成的测试用例等,因其格式不符要求,有时还需人工再转换。因此,国内项目测试用例设计、测试规程设计和执行、发现缺陷报告以及对缺陷跟踪等工作与编写测试文档,并完成各项记录花费工作时间的比例约为1∶1,即文档和记录工作在软件验证工作中所占比例为50%。目前各测评机构考虑到文档工作占用了过多资源,开始采用自主开发或商用自动化文档生成工具。
1.7 资源配置
)国外项目:从管理层到有关团队均认为软件1在制订计划、配置验证是适航工作的有机组成部分,
资源以及支持方面会给予考虑。由于投入资源多,成本也相应增加。具体表现在以下5个方面:()合理的时间进度要求。在长期实践基础上,积1
累了各类项目的经验数据,利用数据估算新项目的给出合理的工作量数工作量并制订项目进度计划,
)充分的人力资源保障。基据和时间进度要求。(2本按照1∶1~1∶1.5的比例配置软件开发与软件公验证测试人员。(3)对于外包到第三方的项目,司内部有专门支持团队,负责解决第三方团队遇到软件的各种问题。在第三方测试团队和系统团队、开发团队、环境支持团队之间进行沟通和协调等。()开发、系统和环境支持团队对软件测试支持度4
较高,通常可在3个工作日内答复软件验证团队提在2周内完成对发现的软件缺陷的出的各种疑问,
)有专门的环境开发与维护支持团队,修改。(负5责环境开发与维护升级。针对公司产品系列自主开发的全数字仿真环境,其通用性强,能支持异常测试用例执行、脚本自动运行与测试结果比较等,确保了测试的充分性并提高了自动化水平。
)国内项目:软件测试得到的资源配置和支持2
7]
,(具体包括以下4个方面:相对少一些[1)时间进度要求过于紧凑。按照软件测试的客观规律,每级测试从测试需求分析、测试策划、测试设计与实现、测试执行、缺陷报告直至回归测试确认缺陷全部归即使资源非常充分,也至少需要1个月,现实中零,
经常是单元、配置项和系统3个级别测试要求在1个月内完成。(2)软件测试与开发人员比例不适
当,导致软件测试工作负荷过重。经验数据显示,
软件/软件
集成
国外
软件/硬件集成
目标机平台+半物理仿真环境
单元
宿主机平台+商用工具
国内配置项目标机平台
系统目标机平台
国外项目有专门的团队负责研发和维护测试环境,有相对完善的测试环境平台,能够支持测试脚本某航电仿真测执行和测试结果的自动比较。例如,
完整组合可模拟试环境包含飞机各分系统的功能,
飞行。当测试某分系统时,仅需将该环境中对应被测分系统的仿真模块替换为真实被测软件,同时针对相应飞机机型及被测分系统与其他分系统的接口进行参数配置,通用性好,且能够支持各种测试用特别是异常测试用例和故障注入型测试用例的例,
执行,确保了测试充分性。
国内测试机构在测试环境建设上投入资源有限,由于项目进度要求紧,仅能使用软件研发机构的虽然保证了测试用例均在目标机调试或联试环境,
环境下执行,确保了测试结果的有效性,但是通常不也无法确保所有测试用例均能执行。支持测试脚本,1.6 测试工作产品要求
国外项目关注测试用例设计、测试规程设计和执行、发现缺陷的报告以及缺陷跟踪等,对文档要求仅关注归纳的客观数据,对文档格式和章节等较弱,
无严格要求。因此,测试用例设计、测试规程设计和执行等工作与编写测试文档并完成各项记录工作花
1位软件测试工程师1a完成3万行代码的嵌入式
应用系统的测试量较合适,但现实是软件测试工程师承担了2倍至数倍的工作量。(3)由于未将配合完成软件测试工作规划为软件开发人员与环境配置人员工作的一部分,经测试发现的软件缺陷较难得到及时处理,测试环境安装配置也较难得到支持。()由于进度和资源限制,通常缺少完全支持测试4
的环境。
的标准进行软件验证。即功能测试要求验证每条软件需求的独立影响,测试用例设计需考虑正常和异常范围测试用例,结构覆盖要达到更改的判定条件。同时辅以项目级要求,包括软件验覆盖(MCDC)证计划和软件测试指南。其中,软件验证计划描述了软件验证方法、技术和过程,要求验证团队要独立于开发团队,验证方法包括同行评审、分析、证明和测试,验证过程包括开发测试用例、开发测试程序、执行测试程序、分析测试程序结果和分析结构覆盖结果,对每一过程定义了入口条件、输入、活动、输出软件测试指南主要包括测试环境配置和出口条件;
步骤、软件测试用例和测试程序模板等。2.4 环境和工具软件
宿主机环境为PC机+WindowsXP操作系 统,软件清单如所表3所示。
表3 宿主机环境软件清单
工具软件全数字仿真LDRA TestBedDOORSPREP
Subversion(SVN)TeamSacep
用途
支持PYTHON脚本语言编写的测试程
序的自动执行
结构覆盖工具,支持代码插装、数据采集和覆盖率自动生成等软件需求管理和追踪管理
同行评审辅助工具,支持评审项定义、过程控制、不符合项记录和跟踪等功能被测试软件和测试工作产品的配置管理团队协作工作空间,存放项目文件、问题
,和工作产品等有新内容时自动发送电
子邮件通知相关人员
2 国外软件测试案例
本文以一个飞机驾驶舱显示系统软件验证项目为例进行说明。驾驶舱显示系统是飞行员了解所处位置和环境状况以便对飞机进行操控的主要系统。该系统需要与飞机上所有电子设备进行通信,因此接口复杂并且信息量大。如果该系统提供了错误信将导致飞行员误判。因此,对驾驶舱显示系统的息,
安全级别要求很高。2.1 被测软件
驾驶舱显示系统软件需求规格说明中包含功能、性能及安全性等需求共4系统由6个软400条, 编程语言为C语言,软件总规模为件配置项组成,
软件运行平台为P30万行源代码,owerPC处理器和L显示系统与飞机其他系统或设nx操作系统,y离散量,备的接口包括ARINC429,AFDX,RS422,模拟量和数字视频信号等。2.2 软件验证要求
软件需求评审及代码评审在项目早期已由研制团队完成,作为软件第三方测试机构,具体承担的软件验证任务如下:
)开发基于软件需求规格说明的测试用例和1程序,在宿主机仿真环境下调试和执行测试程序,建对测立测试用例和软件需求规格说明的追踪关系,试用例和程序进行同行评审。
基于显示系统原始源程2)在宿主机环境下,序,运行软件测试程序,对测试结果进行同行评审。)在宿主机环境下,基于显示系统插装后的源3
运行软件测试程序,完成结构覆盖分析。程序,
基于显示系统原始源程4)在目标机环境下,序,运行测试程序,对测试结果进行同行评审。
上述任务既包括了动态测试和同行评审,也包括了结构覆盖分析。2.3 项目规范标准
该项目以DO-机载系统和设备合格审定178B《中的软件考虑》作为核心标准,要求按照A级软件
2.5 人员组成
软件验证团队成员15人,1位项目经理,1位项目技术负责人,1位质量保证工程师和1位兼职配置管理员。该团队负责开发软件测试用例和测试程序;执行软件测试程序;分析测试结果;报告发现的问题;组织同行评审。
委托方直接支持团队由6人组成。其中,1位项目经理,3位技术工程师,1位软件质量保证工程师,1位兼职商务人员。该团队负责对软件验证提供技术支持,协作软件验证团队解决日常工作中所遇到的问题,对工作产品进行检查和确认。
研制方间接支持团队包括软件开发、验证环境开发和IT维护团队。该团队负责当委托方直接支持团队无法解决问题时转给相关团队解决。2.6 项目数据
该项目历时31个月完成。软件需求规格说明根据安全关键等级、成熟度和配置项独立性等因素
12
指挥信息系统与技术
:RTCA,2011.D.C.
2015年12月
分为9组分别进行测试,每组测试持续时间1~5个月不等。委托方为软件验证团队提供了3次共81学时的有关知识培训。被测试软件经历了27次版本升级。验证团队提交各类状态报告115份。支持团队基本保证了验证团队提出的问题在3个工作日内回复。最终工作产品包括测试用例文件313个,,测试程序文件9含测试情况设计143份(8106个) 测试结果文件9提交软件问题报告643份,67份。
[]/3JBZ141—2004 中国人民解放军总装备部司令部.G
]军用软件测试指南[中国中国人民解放军总S.北京:装备部,2004.
[],4iHoninLuRonuo.DO-178Bandavionics N gyggg
//softwareverificationC]AvionicsInternaractice[ p-:StionalForumforthe21stCentur.ShanhaiAIF yg,Committee2001.
[]赵建军.R5TCADO-178B标准与相关国军标 陈绍宇,
]():的对照分析[J.航空电子技术,2009,4014852.-,ChenShaouZhaoJianun.Comarisonandanalsis yjpybetweeenRTCA DO-178Bandrelevantnationalmili -,tarstandardsofChina[J].AvionicsTechnolo ygy ():)2009,4014852.(inChinese-
[]刘畅,郑军.基于D6O-178B的软件测试技术研 何鑫,
]():究[J.计算机测量与控制,2013,21614701473.-,,HeXinLiuChanZhenJun.Aresearchonsoftware gg testtechniuebasedonDO-178B[J].Comuter qp,:Measurement&Control2013,21(6)14701473.(in -)Chinese
][龙翔,刘超,等.军用软件测试现状及对策7 李晓丽,
[]():J.装甲兵工程学院学报,2008,2256670.-,,,LiXiaoliLonXianLiuChaoetal.Statusanduo ggq ]tomilitarsoftwaretestinJ.Journalofsolutions yg[ ,():ofArmoredForceEnineerin2008,225Academ ggy )6670.(inChinese-
3 结束语
基于多年工作实践,对国内外航空软件测试在规范标准、测试定义、测试过程、测试环境、工作产品以及重视程度等方面进行了比较,分别描述了软件验证测试管理和技术实现。国内外航空系统和设备研制领域都非常重视软件验证测试对保证软件质量均制订了相应规范和标准。国外民所发挥的作用,
在项目工作量估算用飞机软件验证发展时间较长,
方面积累了丰富的历史数据,并建立了与项目特征相适应的估算模型,利用合理工作量估算为资源配置和进度规划打下了基础。另外,重视测试平台和设有专门团队从事平台和环境开发,由环境的开发,
此保证了平台环境的专业化设计水准。完善的平台和环境促进了测试自动化并确保了测试规范性、完整性和充分性。国内除完成了各项具体的软件测试项目,还通过推进专业实验室建设提升了管理和专利用软件测试促进了工程化水平的提高。业能力,
):参考文献(References
[]1TCA.DO-178Bsoftwareconsiderationsinairborne R
sstemsandeuimentcertification[S].Washinton yqpg:RTCA,1992.D.C.
[]2TCA.DO-178Csoftwareconsiderationsinairborne R
sstemsandeuimentcertification[S].Washinton yqpg
作者简介:
,倪红英,女(研究员级高级工程师,研究方1963—)向为软件工程化和软件验证测试。
,黄芙平,女(高级工程师,研究方向为软件1973—)质量度量和软件验证测试。
,周弘斌,男(工程师,研究方向为民用飞机1983—)适航软件验证。
(本文编辑:马 岚)
转载请注明出处范文大全网 » 软件测试国内外发展现状