软件测试工具介绍

2024-08-25

软件测试工具介绍(精选8篇)

软件测试工具介绍 篇1

服务器整机系统性能测试工具

一台服务器系统的性能可以按照处理器、内存、存储、网络几部分来划分,而针对不同的应用,可能会对某些部分的性能要求高一些。

Iometer():存储子系统读写性能测试

Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,来模拟实际应用的读写环境进行测试。

Iometer操作简单,可以录制测试脚本,可以准确有效的反映存储系统的读写性能,为各大服务器和存储厂商所广泛采用。

Sisoft Sandra():linux下I/O性能测试

现在有很多的服务器系统都是采用linux操作系统,在linux平台下测试I/O性能可以采用iozone。

iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。测试所有这些方面,生成excel文件,另外, iozone还附带了用gnuplot画图的脚本。该软件用在大规模机群系统上测试NFS的性能,更加具有说服力。

Netperf():网络性能测试

Netperf可以测试服务器网络性能,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。

Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是 netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。

针对应用的测试工具

系统的负载和压力需要采用负载测试工具进行,虚拟一定数量的用户来测试系统的表现,看是否满足预期的设计指标要求。负载测试的目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。

负载测试一般使用工具完成,有LoadRunner,Webload,QALoad等,主要的内容都是编写出测试脚本,脚本中一般包括用户常用的功能,然后运行,得出报告。

使用压力测试工具对web服务器进行压力测试。测试可以帮助找到一些大型的问题,如死机、崩损、内存泄漏等,因为有些存在内存泄漏问题的程序,在运行一两次时可能不会出现问题,但是如果运行了成千上万次,内存泄漏得越来越多,就会导致系统崩滑。

Loadrunner:预测系统行为和性能的负载测试工具

目前,业界中有不少能够做性能和压力测试的工具,Mercury(美科利)Interactive公司的LoadRunner是其中的佼佼者,也已经成为了行业的规范,目前最新的版本8.1。

LoadRunner 是一种预测系统行为和性能的负载测试工具,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试,LoadRunner 适用于各种体系架构,能支持广范的协议和技术(如Web、Ftp、Database等),能预测系统行为并优化系统性能。它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。Loadrunner是一个强大有力的压力测试工具,它的脚本可以录制生成,自动关联。测试场景面向指标,实现了多方监控。而且测试结果采用图表显示,可以自由拆分组合。一般来说可以按照服务器硬件、网络、应用程序、操作系统、中间件的顺序进行分析。

Webload:WEB性能压力测试

webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。当前最高版本是6.0。webload提供巡航控制器cruise control的功能,利用巡航控制器,可以预定义web应用程序应该满足的性能指标,然后测试系统是否满足这些需求指标;cruise control能够自动把负载加到web应用程序,并将在此负荷下能够访问程序的客户数量生成报告。

webload能够在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果通过一个易读的图形界面显示出来,并可以导出到excel和其他文件里。

软件测试工具介绍 篇2

1 软件测试工具

1.1 软件测试工具介绍

软件测试工具就是通过一些工具能够使软件的一些简单问题直观的显示在测试者的面前,这样能使测试人员更好的找出软件错误的所在。软件测试工具种类繁多,比较著名的有下面几家公司的产品:RadView的webload、Mercury Interactive的QTP、CompuWare的TrackRecord、Telelogic的logiscope、Parasoft的Jtest、微软的Was等。这些公司的测试产品几乎覆盖了从功能到性能、从测试管理到缺陷管理、从白盒到黑盒等各个方面。工欲善其事,必先利其器。要提高软件测试的效率,就要使用相关的软件测试自动化工具。

1.2 使用测试工具的优势

在大多数情况下,软件的特性都要测试多次,而且还要检查以前发现的缺陷是否修复,以及有没有引入新的缺陷。如果人工无法执行多次手工测试,此时测试工具就派上用场了。采用测试工具主要有如下的优势:

1)速度快。自动化测试是手工执行速度的成千上万倍,尤其是在测试B/S结构的Web应用软件时,测试工具可以模拟多个用户同时访问某系统,当用户数需要成千上万个时,就只能借助测试工具了。

2)效率高。如果采用测试工具来分担测试用例的执行时间,测试人员就会有更多的精力完成其它工作,从而推进整个测试进度。要完整的测试一个软件工作量是相当巨大的,借助测试工具可以大大提高测试的效率。

3)准确度和精度较高。测试工具每次执行相同的测试用例时,会毫无差错的按照编写的脚本来检查结果。同时资源通过测试管理工具来同时访问各种测试。

2 测试工具——Jtest

2.1 Jtest简介

Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。Jtest先分析每个java类,然后自动生成junit测试用例并执行用例,从而实现代码的最大覆盖,并将代码运行时未处理的异常暴露出来;另外,它还可以检查以DbC(Design by Contract)规范开发的代码的正确性。用户还可以通过扩展测试用例的自动生成器来添加更多的junit用例。Jtest还能按照现有的超过350个编码标准来检查并自动纠正大多数常见的编码规则上的偏差,用户可自定义这些标准,通过简单的几个点击,就能预防类似于未处理异常、函数错误、内存泄漏、性能问题、安全隐患这样的代码问题。

2.2 Jtest的代码优化和测试

2.2.1 代码规范检查

通过检测编码标准,你可以使代码中隐含的错误与不稳定的结构等,这些有可能导致程序功能性、性能和安全性的问题被发现。JTest7.5中内置有500多条业界和行业中的编码规则,涵盖了JAVA编码的多个方面。并且也已经内置与自定义了一些标准组,这些将帮助你进行有效的编码标准检测。

1)自定义规范配置

只进行代码静态测试,在Generation Tab里去掉选择Enable Unit Testing Generation,在Execution Tab里去掉选择Enable Unit Testing Execution。系统内置30个包的编码规范,如图1,可在Standards Tab里选择需要检查的规则。

2)测试运行以及检查结果

如图2代码规范检查结果所示,测试面板上会显示了Elapsed time执行时间,Files checked检测的文件数,Files skipped跳过的文件数,Failed runs执行错误数,Violations found违反规则数等信息。Standards Tab左上角出现一个红色的×,这表明检测中发现了错误,如果没有发现错误,将会出现绿色的√,执行完毕后可以点击Report...来查看检测报告。检测执行完毕后,在下方选择并显示JTest窗体,检测出的问题已经分类并显示在窗体内,通过点击其中的树型菜单查看详细信息,分支下则是检测出的代码中违反这些规则的集合。

3)快速修复及忽略编码标准问题

树型菜单查看详细信息中有反规则的简短描述,想查看规则的详细描述,可以右键该描述,选择"View Rule Documentation",JTest将准确的定位到该规则的详细文档处。选择Go to操作,JTest将准确的定位到存在该错误的代码中。我们对检测出的问题,可以进行手工更改,但我们也可以通过来快速修复该问题。对于Qiuck Fix...操作,是可以通过树关系进行的,意思是我们右键操作上级分支时,则包括了对下级分支在内的修复。

当检测出的问题需要忽略,而不进行修复时,你需要把这个问题与其他要修复的问题隔离开来。你可以通过右键"Suppress Task..."的进行对问题的忽略,操作后弹出对话框,此时需要你输入对该问题进行忽略的原因。该操作与Qiuck Fix...一样,能通过对上级分支的操作,一次性忽略下级分支的问题。可以通过Jtest>Show View>Suppression Messages操作打开Suppression Messages窗体查看已经被忽略的问题。只有选择了相应的项目、包或类,这些范围下的被忽略的问题才会显示。

2.2.2 单元测试

1)自动创建和执行单元测试

Jtest能够自动建立测试环境,生成测试用例。在白盒测试中,Jtest自动检查未捕获的运行时异常,生成运行时异常报告。如图3所示,Jtest自动生成了新的项目Hanoi Tower.jtest。在该测试项目中,Jtest为各类自动生成的测试用例类;生成的测试用例数为86个。

2)查看异常及修复

打开Jtask窗口后选择Review Exceptions节点,查看白盒测试发现的所有未捕捉的运行时异常,同样可以通过Qiuck Fix...操作或者根据编译器的修复建议进行手动修复。

2.3 其它功能特性

2.3.1 检查内存泄漏

首先要在Execution→Options选项卡中激活detect memory leaks选项。执行单元测试时,Jtest会自动检测内存泄漏。如果测试结束时内存仍然没有被释放,Jtest将会报告内存泄漏错误。

2.3.2 查看测试覆盖信息

Jtest能够实时跟踪测试覆盖率,随后在覆盖率窗口中图形化显示当前被执行测试的代码的覆盖率信息。需要在Execution→Options选项卡中激活Report executable line coverage选项。在代码编辑器中打开被测类文件,当代码对应的编辑器左侧为紫色,则表示该行代码已经被覆盖;紫色则表示该行代码尚未被覆盖;无色则表示该行代码不能被执行。图4中Coverage窗口显示了被测类及其方法的覆盖率统计,图中对整个项目的测试覆盖率达到了75%,为提高覆盖率提供了准确的依据。

3 总结

对代码进行自动结合人工的检查能够保证代码质量,各类软件测试工具的应用也趋于普遍。该文分别从工作原理,主要功能和具体使用几个方面介绍了一款优秀的Java代码优化和测试。Jtest通过单元测试和代码规范检查,以自动化的方式,实现了代码基本错误的预防和优化。使用能够帮助软件开发和测试人员有效减少软件开发和维护的时间成本,提高软件的质量。

参考文献

[1]张云岗,刘春茂.软件测试技术浅析[J].技术与市场,2011(2).

软件测试工具介绍 篇3

该四大工具是北航软件工程研究所自主研制的软件测试、分析、管理工具,是提高软件测试质量的重要工具。其中,QESat/Java是一个软件分析与测试的支持工具,也是一个软件质量保证工具,同时还是一个Java程序的理解和维护工具,是在软件开发过程中为确保软件质量而不可缺少的一个重要工具。

QESuite 是软件测试过程管理工具,是基于Domino协同工作平台上开发的数据库系统,具有强大的管理测试过程的功能。它支持测试大纲、测试用例的编辑、修改、运行和测试结果的记录、追踪功能,以及对软件问题的记录、分析、解决这一整套过程的追踪、管理功能。它提供了多种工作流程的控制,实现了多种方式的查询,具有强大的统计分析、决策支持的能力。

EPMS企事业过程建模系统以可视化过程建模语言VPML为基础,用于过程模型建造和过程模型模拟。它便于过程的设计、开发、优化和再生产。EPMS 具有直观、友好的用户界面,可在许多方面用于组织机构的计划与设计。

UML_Designer可视化建模系统,支持从系统需求、系统分析到系统设计的整个建模过程,提供UML图形的编辑和美化工具,保证得到语法正确、语义完整的UML图形模型,并提供包括文档管理和图形打印等辅助支持。

软件工具库是公共技术支撑体系的重要组成部分,收集国内外具有实用性和先进性的软件工程工具,为园区内外的软件企业提供软件工具检索、在线使用、下载、咨询和技术支持等服务。根据软件版权许可特点, 软件工具分为开放软件工具和授权软件工具,其中开放软件工具是经过验证的开放源码/免费软件工程工具,这些工具允许会员自由下载使用和散发;授权软件工具是由软件工具库建设单位统一购买的业界通用的价格昂贵的软件工具,不能自由下载和散发,企业需要以一定的方式使用。在此之前,软件工具库中共收集了166种开放软件工具和9种授权软件工具。 刚引进的北航软件测试工具经试用后可能以授权软件工具的方式,通过VPN给企业进行在线使用。

软件测试工具的引进,进一步扩充了“三库四平台”的资源,丰富了软件工具库的内容,为高质量的软件测试提供了更多保障,也为企业接触更多实时更新的软件工具提供了良好的机会。

钣金常用工具介绍 篇4

手动工具

钣金锤

钣金用锤多种多样,不同的锤头、不同的材质应用各不相同,下面我们来一一列举。

整平锤

外板整形的主力。锤头有圆有方,锤面平整略有弧度,用于整平外板。

尖嘴锤

又叫“镐锤”、“鹤嘴锤”,一端锤头细长、呈鹤嘴状,用于精细修复外板上的小凸起。

收缩锤

锤面呈锯齿状,敲到铁板上会留下细小的点痕,可有效控制整平过程中产生的金属延展。

橡胶锤

橡胶制锤头,配合不同重量的锤头可用于金属外板及结构件的整形。

木锤

轻质木质锤头,在外板整平时可有效抑制金属延展。

垫铁

与各种钣金锤配合使用,在敲击时给钢板提供支撑。也可从背面对钢板进行整形。

划针

可在金属板上划出“标记”。在修复筋线之前,先用划针做好标记,这样修复出的筋线就不会“跑偏”了。

打板

用于修复筋线部位,修出来的筋线又直又板。

直尺

断出钢板表面是否平整。

看似普普通通的一把直尺,在钣金师傅的手中通过一“靠”一“比”就可以很轻松的判 粗撬棍

利用杠杆原理,可在板件内部由内至外对凹陷进行大致整形。

细撬棍

利用光学原理以及杠杆原理对车辆进行免伤漆修复,“小磕小碰”再也不用进行整套的钣金喷漆了。

柔性锉

通过观察锉削痕迹,可以方便的检查出板件上的凸起部位,便于钣金师傅进行后续整平修复。动力工具

气动砂带机 用于打磨边角处的旧漆层。

角磨机

有电动和气动两种,功能相同,配合黑金刚磨片使用可以快速打磨板面旧漆层,而且不伤原车镀锌层。

小型除漆除锈机

主要用于清除钢板上的锈蚀。

气动胶枪 用于事故车修复后打胶密封、可以起到防腐、防水效果,配合不同开口形状的胶嘴,气动胶枪打出的胶的外观纹理可与原厂的密封胶大致相似。

以上只是钣金师傅们常用工具中的几种,虽然每种工具单看起来平平常常,但到了钣金师傅们手中却可以发挥出超乎寻常的作用,结合钣金师傅们高超的技术,相信一汽马自达4S店会给您的爱车带来与众不同、安全、精致的修复体验。北京汽修培训班

供应链债务融资工具介绍 篇5

(一)定义及发展

供应链债务融资,其特点是依托供应链核心企业较高的主体信用评级,凭借核心企业与其上下游企业密切的生产经营关系,在保护投资人利益的前提下,解决小微企业在融资环节面临的个体资质差、信息披露成本较高、信息不透明等问题,以缓解上下游中小企业融资难的困境,进而推动整个产业链协调发展。

2014年12月1日,中国银行间市场交易商协会发布《关于进一步完善债务融资工具注册发行工作的通知》(下称《通知》)及《供应链债务融资工具信息披露表格体系》、《主承销商尽职调查要点》和《地方政府说明性文件要点》三个附件,对银行间市场债务融资工具的注册发行进行规范。

交易商协会称,发布该《通知》为了进一步贯彻此前《国务院关于化解产能严重过剩矛盾的指导意见》(国发[2013]41号)对钢铁、水泥等产能过剩行业提出的化解产能过剩的总体要求、基本原则和主要目标。其中,41号文的调控思路由“抑制产能”转换为“化解产能”,重点强调严控新增产能、分类处理在建违规项目以及清理整顿已建成的违规产能,同时将清理违规在建项目和建成项目权限下放到地方政府。

此次发布《供应链债务融资工具信息披露表格体系》(下称《表格》),目的是确保募集资金用于缓解产业链中小微企业融资困难,切实支持实体经济发展。而在产品设计上,《表格》要求供应链债务融资工具发行人应坚持支持中小微企业的原则,合理确定放款利率,不得利用该产品不当套利。

(二)合作模式

1、保兑仓融资模式

“保兑仓”是指以银行信用为载体,以银行承兑汇票为结算工具,由银行控制货权,卖方(或仓储方)受托保管货物并对承兑汇票保证金以外金额部分以货物回购作为担保措施,由银行向生产商(卖方)及其经销商(买方)提供承兑汇票的一种金融服务。开展保兑仓融资业务的前提是需要供应商(核心企业)承诺回购,而购买商(中小企业)就可以以供应商在银行指定仓库的既定仓单为质押,银行在控制其提货权的条件下给予企业一定的授信额度。保兑仓业务是在经销商与供应链条上的大型核心企业有着稳定长久的合作关系的背景下进行的。

2、代理监管融资模式

代理监管融资是指金融机构委托大型生产企业或相关销售企业,对其配套的物流企

业进行金融监管,再由金融机构提供融资、结算等多个项目于一体的综合服务业务

①在该定义中所指的大型企业一般就是供应链条上的核心企业,由于核心企业具有较强的综合实力和较高的管理水平,抗风险能力较强。基于代理监管融资模式,核心企业的这些优势可以惠及上下游所有企业。利用核心企业主导、上下游企业配合来进行供应链管理具有高效、稳定的优势,银行以此为背景给与相关企业信贷融资,风险就相应的被缩小了。在代理监管融资模式下,核心企业的深度介入以及相关企业的配合,能够有效帮助供应链条中下游的物流企业缓解资金缺乏的困境,稳定自身生产与销售,保证经营的连续性。

3、保理融资模式

保理融资,是指卖方申请由保理银行购买其与买方因商品赊销产生的应收账款,由银行为卖方提供资金支持、账户管理、账款催收和坏账担保等服务。基于供应链开展的保理融资,主要的市场客户和服务对象是供应链条上游的中小企业。保理融资的顺利开展依赖于供应链条上游的中小企业和下游的核心企业以及银行等金融机构的深度参与。核心企业在保理融资业务开展过程中发挥着反担保作用,如果中小融资企业出现不能按时还款等问题时,银行等金融机构将追究核心企业代偿贷款的责任。

二、供应链债务融资工具的客户群体:中小企业

供应链债务融资工具的核心是希望依托供应链核心企业较高的主体信用评级,凭借核心企业与其上下游企业密切的生产经营关系,在保护投资人利益的前提下,解决小微企业在融资环节面临的个体资质差、信息披露成本较高、信息不透明等问题,以缓解上下游中小企业融资难的困境,推动整个产业链协调发展。

在产品设计方面,未来供应链票据作为一种新型融资工具,将借鉴国内外相关经验。而在银行间债市推出供应链票据之前,已有多家商业银行尝试开展供应链融资,以支持中小企业融资。

商业银行在具体放款过程中,需要重点关注三方面内容:一是核心企业自身的生产经营和财务状况;二是供应链企业与核心企业的信用捆绑程度;三是资金的自偿性,即供应链企业融得资金使用后产生的收益,应与偿还借款有较高的相关性。

三、供应链债务融资工具风险提示

(一)环境风险

环境风险是指由于政策制度和经济环境的改变给供应链企业在融资过程中带来的风险,包括相关政策的适用性,新政策的出台,国内外经济的稳定性等。

如果出现宏观经济超预期下滑,则会对资产质量乃至盈利增长带来挑战,需重点关注制造业中小企业和产能过剩领域企业的资产质量变化,以及长周期内经济企稳和企业经营恢复的稳定性。

(二)中小企业自身风险

因为参与供应链者多为中小企业,其本身抗风险能力较弱,且供应链均受到诸多内外因素的影响,如市场需求波动,产品与技术的生命周期变化,产品促销活动等易产生大量不稳定因素。

(三)核心企业信用风险

由于供应链金融的信用基础是基于供应链整体管理程度和核心企业的管理与信用实力,因此,随着融资工具向上下游延伸,风险也会相应扩散,如果供应链上某一成员出现了融资方面的问题,其影响会迅速地蔓延到整条供应链,而核心企业作为供应链的最大受益者也会受到影响。

(四)信用体系不完善风险

传统的中小企业无信用评价体系,没有建立与供应链融资相适应的信用评价体系,可能产生信息不对称逆向选择等一系列风险。

信息不对称是指经济交易中,当交易双方获得某事件真实信息的程度存在差异或者说当交易一方知道的比另一方多,从而影响信息劣势者做出决策时,可以称为交易双方的信息是不对称的。

银企信贷关系中的信息不对称导致的结果有信贷前的逆向选择和信贷发生后的道德风险。逆向选择的产生是因为喜欢冒险的企业或者资信情况不良的企业可能会更加积极地申请贷款,就会竭尽所能地粉饰自己,美化自己的不良资产或是提供不完整的信息、资料,从而降低其评估风险,使得那些资产状况良好的企业处于相对劣势。借款人在取得银行的贷款后,同样存在着出于利益动机而隐藏自己行动和信息的道德风险。另外,银行自身经营管理制度的不完善所导致的信息传递不畅、交易行为不规范不透明,也使得本该对称的信息变得不对称,最终形成信用风险。

(五)运营风险

从事供应链业务的物流公司,由于要深入客户产销供应链中提供多元化的服务,相对地扩大了运营范围,也就增加了风险。中国的物流运输业还处在粗放型的发展阶段,因此运营风险不容忽视。

(六)市场风险

市场风险主要针对供应链企业的库存质押物的保值能力进行评判,包括质押物市场

价格的波动,金融汇率造成的变现能力改变等。由于市场发生变化,使企业无法按原定计划销售产品而给商业银行带来还款风险,从而导致企业销售计划落空,资金链条断裂,给企业带来损失。

(七)法律风险

法律风险主要是合同的条款规定和对质物的所有权问题。因为业务涉及多方主体,质物的所有权在各主体间进行流动,很可能产生所有权纠纷。中国的《担保法》和《合同法》中与供应链融资相关的条款并不完善,因此业务合同出现法律问题的几率也较高。

四、供应链债务融资工具产品信息

(一)产品分类

1、国内信用证

国内信用证,是银行应买方申请,向卖方出具的在单据符合信用证所规定各项条款时履行付款责任的付款承诺。其适用对象为流动资金不充裕或有其他投资机会,希望借助银行信用完成商品交易并控制交易风险的买方。

使用国内信用证,买方能够依托银行信用,提升信用等级,改善谈判地位,促成贸易往来;减少买方资金占用,加速资金周转,优化财务报表;依托单据和信用证条款,控制货权、装期和质量,降低交易风险。

2、信用证项下打包贷款

该产品是银行应信用证受益人(卖方)申请向其发放的用于国内信用证项下货物采购、生产和装运的贷款。其适用于卖方流动资金紧缺,而买方不同意预付货款,但同意开立信用证。它也非常适用于卖方在国内信用证项下备货装运的短期融资需求。

3、信用证项下卖方融资

信用证项下卖方融资,是指卖方发货后,银行基于其收到的延期付款信用证项下的应收账款为其提供的短期融资。其适用情况是:卖方流动资金有限,依靠快速的资金周转开展业务;卖方在发货后,收款前遇到临时资金周转困难;卖方在发货后,收款前遇到新的投资机会,且预期收益率高于融资利率。

使用该产品,卖方可以提前回笼资金,加快资金周转,优化财务报表,提升竞争力;无需担保,融资手续简便,办理效率高;灵活分担融资成本,既可以由卖方承担,也可以由买方承担;异地客户也可办理,不受地域限制。

4、信用证项下买方融资

与信用证项下卖方融资相对应,信用证项下买方融资,是指银行应开证申请人要求,与其达成国内信用证项下单据及货物所有权归银行所有的协议后,以信托收据的方式向其释放单据并先行对外付款,待销售货物回笼资金后偿还银行融资。其适用情况是:买方遇到资金周转困难,无法按时付款赎单;买方在付款前遇到新的投资机会,且预期收益率高于融资利率;提高议价能力;通过将付款期限由延期付款改为即期,相应缩短延期付款的期限,可以帮助买方提高议价能力。

国内商品交易买方收到信用证项下单据但暂时无力付款赎单时,可借助该产品向银行融资,解决临时性资金短缺。

5、国内保理

国内保理,是销货方将其销售商品、提供服务或其他原因所产生的应收账款转让给银行,由银行为其提供应收账款融资及商业资信调查、应收账款管理的综合性金融服务。该产品原则上适用于采用赊销为付款方式的国内货物贸易或服务贸易。此外还适用于以下情况:卖方希望减轻应收账款管理与催收负担;减少卖方资金占用,加速应收账款周转,优化财务报表。

使用该产品的优点是:银行以预支方式提供融资便利,缓解卖方流动资金被应收账款占压的问题,改善企业的现金流,并可通过买断形式,帮助企业将“应收”变为“收入”,从而优化财务报表;相比流动资金贷款,保理期限更具灵活性,有效降低客户的财务成本,并通过资信调查、账务管理和账款催收等服务有效降低客户的管理成本;基于保理服务,销货方能够借助赊销方式,扩大下游客户群体,拓展市场,增加营业额,提高利润率。

6、发票融资

这是销货方以其赊销产生的应收账款为质押,由银行为其提供的短期融资,原则上适用于采用赊销为付款方式的国内货物贸易或服务贸易,与国内保理的区别在于不转让应收账款债权。

使用该产品,可以帮助企业提前回笼资金,缓解资金压力,加快资金周转,扩大市场规模;客户准入门槛较低,基于具体的商品交易质量为其办理融资,手续简便。

7、商品融资

商品融资,是指借款人以其合法拥有的储备物、存货或交易应收的商品进行质押,由银行提供的结构性短期融资业务。该产品适用于从事大宗商品、原材料贸易且对商品享有合法、完整的所有权的客户。

该产品基于商品信用提供融资,突破依赖客户综合资信办理融资的瓶颈;商品范围广、种类多、适用群体广泛;所有权不转移,不影响企业正常经营;提供静态和动态两

种办理模式,为企业备货或销售提供便利。

8、订单融资

订单融资是指企业持银行认可的购销合同和买方发出的真实有效的购货订单向银行申请的资金融通业务。适用于自有资金缺乏,拥有订单却无法顺利完成订单生产任务的企业。

产品功能为:以银行资金进行合同订单项下原材料的采购和加工,弥补自有资金缺口;帮助企业顺利完成订单合同;大幅提高企业接收订单的能力。

9、保单融资

保单融资是指企业持银行认可的境内外保险公司开具的国内贸易信用保险保单,并将保单项下赔款权益转让给银行,由银行按保单项下的应收账款金额的一定比例给予资金融通业务融资。适用对象为在供应链中不直接与优质核心企业发生业务往来,上下游企业信用状况一般的企业。企业以保险公司信用获得银行的免担保信用贷款,在免除交易风险的同时提高资金利用效率。

(二)银行同业情况

1、建设银行推出供应链融资十大产品

建设银行供应链融资十大产品分别为订单融资、动产融资、仓单融资、保理、应收账款融资、保单融资、法人账户透支、保税仓融资、金银仓融资、电子商务融资。

订单融资:企业持购销合同和买方发出的真实有效的购货订单向建设银行申请融资,供应商解决了前期资金短缺问题,可以提前得到资金,顺利完成订单合同。

动产融资:企业在正常经营过程中,以其自有的建设银行认可的动产作质押,交由建设银行认可的仓储公司保管,向建设银行申请的授信业务。

仓单融资:企业以持有的中国建设银行认可的专业仓储公司仓单进行质押,向建设银行申请的授信业务。

保理:实质为应收账款买断业务,为卖方企业提供应收账款的综合解决方案,包括融资、账款管理及买方信用担保等。

应收账款融资:企业以赊销产生的应收账款进行质押向建行申请融资。保单融资:企业以其持有的国内贸易信用保单向建设银行申请融资。

法人账户透支:建设银行给予客户在约定的账户、约定的额度内进行透支,满足客户临时性融资的便利。

保税仓融资:供应链核心企业、经销商和建设银行三方合作,银行控制提货权,核心企业受托保管货物并承担回购责任,为经销商融资的产品。

金银仓融资:基于核心企业信用,通过订单融资、仓单融资和法人账户透支及银行承兑汇票的产品组合为经销商提供的短期融资信贷业务。

电子商务融资:建设银行专门为互联网交易的电子商务客户量身定做的“e贷通”系列产品,包括“网络联贷联保”、“大买家供应商融资”、“网络速贷通”。

2、中国银行供应链融资产品介绍

融货达

产品说明:在贸易结算业务项下,凭中国银行可接受的货物作为质押为客户办理的贸易融资业务。

产品特点:为客户和市场开辟了新的贸易授信融资渠道,减少了对客户除货物以外的抵质押担保品的占用,不仅能有效解决中小企业融资难的问题,也有助于大企业维护客户和提高其供应链体系的整体竞争力,同时还能帮助企业盘活货物,提高资金周转速度。

适用客户:一方面货物周转量大、行情走俏,急需资金支持;另一方面除货物以外的其他担保品有限,无法从银行获得足够的授信额度。

相关费用:按照各项具体产品的手续费及融资利息收取 融易达

产品说明:融易达是指在以赊销为付款方式的交易中,在买方签署书面文件确认基础交易及应付账款无争议、保证到期履行付款义务的情况下,我行在全额占用买方授信额度的前提下,不占用卖方授信额度为卖方提供融资。

产品特点:利用买方(核心企业)空闲的授信额度为其周边的中小供应商提供基于物流环节的融资服务。优化财务报表。融易达业务要求买方对基础交易进行确认,明确了应付债务,据此,我行可买断相关应收账款,进而优化卖方的财务报表。促进业务发展。由于融易达业务解决了卖方的融资需求,因此为买卖双方扩大业务往来增添了一个有利因素。

适用客户:融易达业务适用于以赊销为付款方式的货物、服务贸易及其他产生应收账款的交易。买方(债务人)面临上游客户迫切的融资需求,为降低其内部财务成本,拓展业务,同意占用自身额度由保理商为其供应商提供融资支持。

通易达

产品说明:指中行接受开证银行或其指定银行已承付的国际国内信用证项下应收账款作为质押,为客户提供的开立国际国内信用证及或办理后续进口押汇或国内信用证买方押汇业务。

产品特点:帮助以往面临授信瓶颈的企业可通过使用有收款保证的合格应收账款质押,办理开证或押汇业务,从而盘活应收账款、降低资金成本。

适用客户:在中行同时具有开证业务和远期信用证项下交单业务需求;因其自身财务实力所限,以及缺少不动产抵押和第三方担保,一般较难在银行取得足额授信额度;或者尽管已在中行取得足额授信额度,但有时因业务周期处于峰顶等原因,开证需求会突破其授信额度;企业对运营成本较为敏感,希望不支付融资成本而获得开证授信,从而充分利用在途资金,降低资金成本。

相关费用:按照各项具体产品的手续费及融资利息收取 融信达

产品说明:融信达是指中国银行对出口商已向中国出口信用保险公司(简称中信保公司)或经中国银行认可的其他信用保险机构投保信用保险的业务,凭相关单据、投保信用保险的有关凭证、赔款转让协议等为出口商提供的资金融通业务,是中国银行研发的“达”系列贸易融资特色产品之一。

产品特点:加快资金周转、改善现金流量;规避各类风险;降低门槛,减少额度占用,扩大融资规模。

适用客户:用于满足出口商在已投保信用保险的出口贸易项下的融资需求

3、平安银行(原深圳发展银行)

1999年,深圳发展银行首先推出了动产及货权质押授信业务。后经过几年的创新发展,2006年平安银行(原深圳发展银行)在业内率先推出了供应链金融产品服务,单独在总行层面构建了保理中心和双线管理的贸易融资审批通道;2007年平安银行完成了供应链金融系统上线工程,成功实现了银行内部系统与外部系统的数据对接。

4、招商银行

2005年起,招商银行在9家分行开展供应链金融服务试点,探索推广了以核心客户带动上下游中小企业融资,提供买方或他方付息商业汇票贴现和国内信用证议付、汽车销售商融资、商品提货权融资等特色创新融资服务,助推中小企业快速发展。

5、工商银行

工行依据供应商与核心企业之间的真实交易关系和付款约定,以订单或应收账款所产生的现金流作为还款来源,向中小企业提供供应链融资产品,重点支持大型优质企业的上下游中小企业。

具体产品如下:

国内保理——企业将其销售商品、提供服务产生的应收账款转让给银行,银行为其提供融资、调查、应收账款。

商品融资——企业将其合法拥有的商品质押给银行,并由第三方进行监管,银行根据商品价值提供融资的业务。

订单融资——企业提供符合一定条件的订单,银行根据订单价值发放贷款满足企业发货前采购原材料、组织生产和货物运输等资金需求。

预付款融资——预付款结算方式下,企业落实预付款项下商品的下游买家后,银行按预付款的一定比例提供贷款用于企业采购商品。

应付款融资——货到付款结算方式下,对符合一定条件的企业及其交易,银行根据交易单据代企业支付货款。

国内信用证——银行根据买方申请出具的付款承诺,承诺单据在符合信用证条款时向卖方履行付款责任。

信用证项下买方融资——开证申请人与银行达成协议,银行将单据释放给企业并先行对外付款,待企业货物销售回笼资金后偿还贷款。

信用证项下打包贷款——银行根据卖方提供的信用证向其发放贷款用于原材料采购、生产和运输等。

软件测试工具介绍 篇6

网络通讯工具也是基于与其相对应的协议来实现数据传输的目的。如电子邮件常用的协议有SMTP、POP3协议,即时通讯工具软件常用UDP协议来传输数据,网络电话常用TCP和UDP协议来传输数据。

 SMTP协议简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转你发出的电子邮件。

软件自动化测试工具研究 篇7

关键词:软件自动化测试,测试工具,应用

1 软件自动化测试优点

软件实现自动化测试, 其目的在于缩短测试周期, 增强对软件性能方面的测试能力, 从而达到保证软件质量并使软件能够提前上线。相对于手工测试来说, 自测试工具具有如下优点:

(1) 提高了测试效率。在软件测试中对于回归测试中的动作和用例是已经完全设计好的, 同时可以完全预知测试期望和结果, 从而可以极大提高测试效率, 缩短回归测试时间。

(2) 可以运行更多更繁琐的测试。许多不可能同时让足够多的测试人员同时进行测试的大量用户测试, 实行自动化测试可模拟出同一时间的许多用户, 更好的利用资源, 同时达到测试的目的。

(3) 具有一致性和可重复性。由于测试是自动执行的, 每次测试的结果和执行的内容的一致性是可以得到保障的, 从而达到测试的可重复效果。自动化测试还存在着复用性的优点, 自动测试通常采用脚本技术, 只需要对脚本做少量的甚至不做修改, 实现在不同的测试过程中使用相同的用例。

2 软件自动化测试工具的分类及功能

目前用于测试的工具较多, 从测试应用的角度看, 一般可分为白盒测试工具 (动态测试、静态测试) 、黑盒测试工具 (功能测试、性能测试) 、测试管理工具 (测试流程管理、缺陷跟踪管理、测试用例管理) 等几大类。具体分析如下:

2.1 白盒测试工具

白盒测试主要是从程序的内部结构出发设计测试用例, 对程序所有逻辑路径进行测试, 通过在不同点检查程序的状态, 确定实际的状态, 来测试产品内部动作是否按照设计规格说明书的规定正常进行, 检验程序中的每条通路是否都能按预定要求正确工作。其对应的测试工具也主要是直接对代码进行分析, 针对程序代码、程序结构、对象、类层次等进行测试, 测试中发现的缺陷可以定位到代码行、具体的某个变量。软件自动化测试中对白盒测试工具的选择主要应依据该工具对开发语言的支持力度、对嵌入式操作系统的支持力度、代码的覆盖深度及测试的可视化。

白盒测试工具可进一步细分为静态测试工具和动态测试工具。静态测试工具是不运行被测程序本身, 仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。具有代表性的静态测试工具有Gimpel公司的PC-lint和Compuare的DevPartner Studio中的CodeReview。动态测试工具需要实际运行被测系统, 并设置断点, 向代码生成的可执行文件插入一些监测代码, 监测断点这一时刻程序运行的数据。具有代表性的动态测试工具有IBM-Rational公司的Purify, Pure Coverage, Quanlify和Compuare公司的Error Detect, Coverage Analysis, PerformanceAnalysis。

2.2 黑盒测试工具

黑盒测试是在已知产品所应具有的功能的情况下, 通过测试来检测每个功能能否正常使用的测试工具。其基本工作原理是利用脚本的录制和回放, 模拟用户的操作, 然后将被测系统的输出记录下来同预先给定的标准结果比较。测试时完全不考虑程序内部结构和内部特性, 它只检查程序功能是否按照需求规格说明书的规定正常使用, 主要用于软件确认测试。黑盒测试工具的代表有IBM Rational的TeamTest、Robot, Compuware公司的QACenter, MI公司的WinRunner等工具。

2.3 测试数据生成工具

测试数据生成工具主要应用在测试的前端, 为测试过程准备大量的可用数据。并且通过转化、析取、变换或捕捉现有数据作为依据, 自动为测试程序生成可靠的测试数据。同时, 可以通过配置工具配置数据生成的规则, 并且有一个自动配置引擎, 可以根据已经存在的数据库自动生成配置文件。目前典型的测试数据生成工具有:Bender& Associates公司提供的功能测试数据生成工具SoftTest; InternationalSoftwareAutomation公司提供的PanoramaC/C++测试数据生成工具。

2.4 测试管理工具

测试管理工具是指用工具对软件的整个测试输入、执行过程和测试结果进行管理的过程。测试管理工具通过一个中央数据仓库, 实现测试人员、开发人员或其他IT人员在异地进行信息交流。从测试需求管理到测试计划、测试日程安排、测试执行到出错后的错误跟踪, 实现了全过程的自动化管理, 提高回归测试的效率、大幅提升测试时间、测试质量、用例复用、需求覆盖等。测试管理工具的代表有Mercury Interactive公司的TestDirector、IBM-Rational公司的ClearQuest。

3 选择软件自动化测试工具的方法

在考虑选用工具的时候, 面对用于软件测试的众多工具, 可以从以下几个方面来权衡和选择。

3.1 功能

选择一个测试工具首先就是看它提供的功能。除了基本的功能之外, 测试工具还应具备以下功能:①录制/回放功能:在自动化测试工作中, 该功能是绝大多数专业测试人员开始自动化测试尝试的第一步;②集成功能:测试工具的引入是伴随着测试过程改进而进行的一个持续的过程。因此, 集成功能也是测试工具必须考虑的因素;③图像测试功能:进行软件测试中有时必须要测试一个位图或类似的图片, 在多数的Windows应用程序中会带有一些绘图控件, 而在GIS (地理信息系统) 应用软件的测试中, 这一功能作用尤为重要。

3.2 易用性

不同的测试工具面向不同的测试目的、具有各自的特点和适用范围, 所以不是任何一个优秀的测试工具都能适应不同公司的需求。因此, 在选择测试工具时应考虑工具的易用性。

3.3 连续性和一致性

在选择测试工具时, 必须考虑测试工具引入的连续性和一致性, 即对测试工具的选择必须有一个全盘的考虑, 分阶段、逐步的引入测试工具。

3.4 适合于软件生命周期

软件所处的生命周期不同, 测试目的不同, 因此, 在软件不同的生命周期阶段, 应根据其测试特点选择不同的测试工具。

4 测试工具在软件自动化测试中的应用

4.1 软件自动化测试的实施程序

自动化测试与软件开发过程从本质上来讲是一样的, 其实施程序是利用自动化测试工具, 经过对测试需求的分析, 设计出自动化测试用例, 从而搭建自动化测试的框架, 设计与编写自动化脚本, 测试脚本的正确性, 从而完成该套测试脚本。具体步骤如下:

4.1.1 分析测试需求

开发管理者、测试管理者和测试人员实现自动化测试的目标常常是有差别的。如功能测试、性能测试、安全性测试等等。同时, 不同的测试工具其测试功能不同, 因此, 在实施测试方案之前也需要收集需求, 选择测试工具。

4.1.2 设计测试用例

测试用例是按一定顺序执行的与测试目标相关的一系列测试。测试用例设计将产生测试所包括的输入值、期望结果以及其他任何运行测试的相关信息。

4.1.3 编写测试脚本

测试脚本的编写过程便是具体的测试用例的脚本转化。根据测试设计生成需要进行的测试脚本。一些高度自动化的测试工具能够根据软件以前运行的情况自动地录制测试用例。

4.1.4 实施测试

测试过程的自动化的实现主要依靠测试支持系统对测试过程进行了自动化调度和控制。

4.1.5 生成软件测试报告

对结果进行分析, 发现产品中问题的本质, 对产品质量进行准确地评估。

4.2 测试工具在软件自动化测试中的应用

4.2.1 识别待测试程序集中的类、方法和属性

待测试程序集的命名空间和类型类是很好地测试一个程序集的必要信息, 是在开始测试给定程序集之前必须了解的。因此, 在实际的测试过程中, 在测试一个给定的程序集之前, 一般都需要用测试工具识别出所有的命名空间和类型类。

4.2.2 代码分析

代码分析技术类似于高级语言编译系统, 是为查找和描述软件源代码中的薄弱环节而开发的, 这些薄弱环节可能是软件安全漏洞、逻辑错误、编程错误、开发异常、边界条件错误或其他会引发问题的错误代码。在软件测试中一般针对不同的高级语言去构造测试工具, 在工具中定义类、对象、函数、变量等规则、语法规则;在分析时对代码进行语法扫描, 找出不符合编码规范的地方;根据某种质量模型评价代码质量, 生成系统的调用关系图等。因此, 在该技术中, 测试工具通过分析源代码, 自动生成测试驱动和桩模板。开发人员在该测试脚本的基础上指定测试输入数据、期望输出数据以及桩函数逻辑。测试执行后自动生成测试报告和各种运行时候报告, 从而完成整个过程的软件测试。

在此过程中, 测试对代码的分析在逻辑上一般应将整个测试工具分成各自独立的两部分:静态分析模块和动态分析模块。其中, 静态分析模块是整个自动化工具的基础。静态测试工具直接对代码进行分析, 不需要运行代码, 也不需要对代码编译链接, 生成可执行文件。首先, 分析工程文件, 根据工程文件依次读入所有的源程序。然后, 对代码进行语法扫描, 找出不符合编码规范的地方, 根据某种质量模型评价代码的质量, 生成系统的调用关系图等。最后, 对源程序作语法分析, 从中提取各种必要的数据, 并在静态数据库中将得到的数据全部保存, 提供给后续的动态分析和测试报告使用。动态测试工具一般采用“插桩”的方式, 向代码生成的可执行文件中插入一些监测代码, 用来统计程序运行时的数据, 分析软件的覆盖率、检查内存使用有否渗漏和违例、跟踪程序的异常终止等等。根据动态测试在软件开发过程中所处的阶段和作用, 动态测试工具应完成以下3个步骤:①单元测试:其目的是检验软件基本组成单位的正确性;②集成测试:其主要目的是检查软件单位之间的接口是否正确;③系统测试:其目的是对应经集成好的软件系统进行彻底的测试, 以验证软件系统的正确性和性能等满足其指定的要求。

4.2.3 捕获—回放

捕获—回放技术是在窗口系统的基于消息管理机制的基础上实现的。测试人员先借助捕获回放工具手动进行对软件系统的操作来完成测试脚本的录制, 工具会首先学习被测软件系统组件层次结构和组件自身的信息, 随后会采用某种方式截获测试人员在被测软件系统组件上触发产生的事件, 随后解析该事件, 得到事件的各个参数, 保存到测试脚本中, 与预先给定的标准结果比较, 测试软件缺陷。捕获——回放工具能够捕获在测试过程中传递给软件的输入, 生成执行的脚本, 并且能够在以后的时间中, 重复这个执行的过程。如果工具不能识别应用程序对象而无法进行对手工测试的录制和回放, 日后测试自动化的实现将会遇到巨大困难而导致失败。对于用户输入的捕获, 捕获——回放工具将以3种级别捕获, 即硬件级别、操作级别和进程级别。硬件级别捕获, 是对用户输入的录制和回放主要是采用硬件来完成。如某个字符的键盘输入、鼠标的点击等。硬件设备可以捕获键盘敲击的键值, 或加密键盘扫描码, 从而监控该计算机的使用, 以防止底层恶意代码对计算机的监听。捕操作系统级别的录制和回放工具主要用于在系统级别对键盘或鼠标的输入进行监控。进程级别捕获是捕获——回放工具采用C++ 或者Jvaa语言实现对特定的进程进行监控。同时, 为了监控大多数语言编写的目标程序, 测试工具可对不同语言编写的目标程序加挂针对该语言的包, 对该语言包进行捕获。

4.2.4 自动生成测试脚本和脚本测试

脚本是一组测试工具执行的指令集合, 这些指令可以被自动化测试工具执行。

自动化测试工具为了能够提高开发测试脚本的速度, 必须能过提供录制脚本的功能, 将通讯包录制下来, 快速得到技术细节问题, 从而提高开发测试脚本的速度。

负载压力测试工具LoadRunner是目前应用最为广泛的性能测试工具之一。该工具通过模拟上千万用户实施并发负载, 实时性能监控的系统行为和性能方式来确认和查找问题。一般负载压力测试工具主要由虚拟用户脚本生成器、压力产生器、用户代理、压力调度、监视系统和压力结果分析工具组成。其主要的操作步骤是:①选择协议:测试工具的测试都是在获取各种通信协议下应用体统的客户端与服务器端的通信信息后进行的, 因此, 在进行测试之前, 首先应选择被测应用系统客户端与服务器端的通信所使用的协议类型;②创建测试脚本:选择相应的协议后, 虚拟用户脚本生成器通过代理方式接收客户端发送的数据包, 记录并将其转发给服务器端;接收到从服务器端返回的数据流, 记录并返回给客户端。 这样服务器端和客户端都以为在一个真实运行环境中, 虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理, 最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句;③产生负载:压力生成器根据脚本内容, 产生实际的负载;④创建虚拟用户:压力调度根据用户的场景要求, 设置各种不同脚本的虚拟用户数量, 设置同步点等;⑤设定负载方案:使用测试工具控制台设定负载方案;⑥执行测试:监控系统则可以对数据库、应用服务器、服务器的主要性能计数器进行监控;⑦结果分析。

测试结束后, 测试工具会收集客户端、服务器端和网络3个方面所有的测试数据并生成测试结果报告。并通过压力结果分析工具评估系统组件的运行性能, 从而定位应用系统存在的主要问题, 完善系统功能, 实现系统的优化。

5 结束语

针对软件技术的发展, 程序的规模逐渐增大, 复杂度也逐渐增加的趋势, 正确使用软件测试工具可以增强软件测试的自动化程度。在众多的自动化测试工具中, 我们应综合各种因素, 正确地选择和使用自动化测试工具, 不断地提高测试的效率和测试质量, 降低测试成本, 更好地完成软件开发工作。

参考文献

[1]黄茂生.软件自动化测试工具的评估与选择[J].电子质量, 2007 (12) .

[2]李理, 刘军.软件测试工具的选择和使用[J].警察技术, 2006 (4) .

[3]徐进.自动化软件测试的分析[J].信息技术, 2010 (3) .

软件开发工具的选择 篇8

关键词:软件 开发工具 软件危机 选择

一、引言

随着计算机科学技术的飞速发展和信息技术的不断进步,计算机与细腻新技术逐渐被应用到各行各业中。各领域都要求软件开发者能够迅速、高质量的为本领域提供各种具有较强的实用性的软件产品。但是在现实软件开发中,由于各领域的复杂性、差异性、变化性等特点的存在,给软件开发带来了极大的困难,不能完全满足社会各领域对软件开发的需求。

软件产业的全面发展决定着一个企业、一个行业、一个国家的信息化建设水平的高低。目前,虽然我国软件产业已经取得了长足的发展,特别是近年来每年都在以两位数的复合增长率上涨,但是,我国软件开发与运用等方面仍存在着诸多问题。据权威机构的统计数据报告显示:大型专用软件的开发占世界软件销售额的85%,而其开发中出现的失败率高达70%。而我国的信息建设项目的成功率也并不高。那么导致软件开发的这种状况的主要原因是什么呢?该如何选择软件开发工具呢?

二、软件开发工具概述

(一)软件开发工具的基本概念

目前的软件编写都是建立在一种开发工具软件的基础上的,有了这类工具软件,软件开发从规划、业务流程分析、软件模块的设计、代码的测试、使用与管理等方面都进一步实现了规范化管理,这为程序员编程带来了便利。软件开发工具的使用不仅降低了程序员编程的难度,更为那些复杂的软件开发提供了较大的帮助。

(二)集成软件开发工具

软件是相对于那些看得见、摸得着的硬件而言的,软件就像是计算机的大脑。软件分为系统软件和应用软件。不论是系统软件还是应用软件都为人们的生活带来了方便,在互联网时代软件拥有庞大的数量,软件的产生是人类集体智慧的突出表现,是现代文明得以传承的介质,是人类文明发展的推动力。

随着计算机技术的不断发展,很多复杂的业务管理流程、复杂系统控制都依赖于软件开发工具来得以实现。这些集成的软件开发工具涉及到软件开发的各个生命周期。越来越多的软件工程需求带动了集成软件开发工具的产生与发展。目前,比较常见的集成软件开发工具有很多,例如:VB,PB,DELPHI,VC,JAVAASP等。这些软件开发工具各有特点,各有所长。例如:VC具有强大的功能、JAVA具有强大的网络编程功能、VB简单易学,易于掌握。

三、软件开发工具的发展历程

软件开发工具如果从开发效率上来划分,可以分为编辑器、集成开发环境、软件开发平台三代历程。

(一)软件编辑器

这种软件开发工具从功能到界面都需要编写大量的代码,编辑的主要功能是将代码进行编译,使其成为目标程序,并对其进行错误调试。这种程序的主要表现形式就是0和1这样的代码序列。但是对于这些代码序列,并不是每一个用户都能够看的懂的。种种程序对计算机的硬件有着极高的依赖程度,因此其维护性较差。

(二)集成开发环境

在软件开发工具中集成了很多通用的界面定制功能和通用功能。例如:通讯的组件、数据库的操作、数据展示控件、打包工具等。这些功能的集成是软件开发的效率得到了提高。例如:VIAUAL、STUDIO、MYECLIPSE等。这些是目前最流行、实用率最高的软件开发工具,大部分软件厂商的程序开发人员都在使用这些开发工具。

(三)软件开发平台

软件开发平台的提出为软件开发提供了一个全新的平台和理念。平台作为软件开发工具的应用环境是软件开发逐渐实现了可视化、定制化、无代码化,软件开发的效率的到了空前的提高,在很大程度上解放了程序员的开发工作量,让程序员能够将注意力集中在对业务的关注上,而不是技术。例如:咨微OBPS开发平台就是最具代表性的。

四、软件开发工具的选择

随着软件技术的不断进步,各种高级语言不断规范,使得程序员对软件开发工具的选择也提出了新的要求。就目前而言,我国的软件开发已经逐渐由原来的手工作坊的形式发展到软件工程的阶段。软件开发本身也在不断的发展,已经由过去的“算法+数据结构=程序”的传统模式转变成“设计模式+对象组件+开发工具=程序”。开发工具的选择已经成为软件开发成功与否的主要因素之一。

选择软件开发工具有两个主要因素,即:所开发的最终用户和开发人员。软件开发的最终用户是所有软件开发的主要来源和最终归宿,它更是影响着软件开发工具选择的决定性因素。另外,开发人员的习惯、爱好、经验也在影响着软件开发工具的选择。同时,严格的软件工程管理和开发人员的技术水平是软件开发成功与否的关键。

总之,随着软件业的飞速发展给人类的生活带来了巨大的变化。这不仅是人类文明成果的具体体现。软件开发工具的发展给软件业的进一步发展提供了动力。软件开发工具在不同领域的有效利用,使软件工程各个时期达到有效管控的二亩地。

参考文献:

[1]曹田.基于TCM的前向纠错编码在光通信中的研究[J].软件,2012(07)

[2]温秀兰,许有熊,王东霞.基于拟随机序列求解点到自由曲线最短距离[J].计算机仿真,2012(08)

[3]黄为勇.一种采用完全Logistic混沌的PSO-GA优化方法[J].计算机应用研究.2012(09)

作者简介:王珊珊,(1980.11.18) 讲师,硕士,研究方向:计算机科学技术与应用,毕业院校:吉林大学.工作单位:吉林工商学院信息工程分院。

上一篇:浅谈“以学定教”下一篇:财务面试英文自我介绍