QAI软件测试工程师到底是什么意思?
软件测试是软件开发中的一个重要组成部分,在整个软件开发周期中占有相当大比重。在软件产业发达国家,软件企业一般是把40%的工作花在测试上,软件测试费用占整体开发费用的30%-50%,对于要求高可靠性、高安全性的软件,测试费用则相当于整个软件项目开发所有费用的3至5倍。 然而,从我国目前的IT业发展现状看,由于测试人才严重匮乏,软件企业普遍地表现出测试能力不足的现象。
软件测试是IT行业中新兴的职业 。在国外已经很成熟,但是在中国刚刚兴起。还处于起步阶段,专业的软件测试人员还很少,全国的需求量达到40万,但现在只有4万,其中只有1万人是专业测试人员。
软件测试是SOA领域中并...全部
软件测试是软件开发中的一个重要组成部分,在整个软件开发周期中占有相当大比重。在软件产业发达国家,软件企业一般是把40%的工作花在测试上,软件测试费用占整体开发费用的30%-50%,对于要求高可靠性、高安全性的软件,测试费用则相当于整个软件项目开发所有费用的3至5倍。
然而,从我国目前的IT业发展现状看,由于测试人才严重匮乏,软件企业普遍地表现出测试能力不足的现象。
软件测试是IT行业中新兴的职业 。在国外已经很成熟,但是在中国刚刚兴起。还处于起步阶段,专业的软件测试人员还很少,全国的需求量达到40万,但现在只有4万,其中只有1万人是专业测试人员。
软件测试是SOA领域中并不被重视的部分。在SOA领域中似乎有一种不被否定的认识,即当前的软件测试手段已经不需要再进行改变。但实际上并非如此。测试手段不但迫切的需要改变,而且还有其它很多地方也同样需要改变。
只要我们想想Web服务,就很明确了。把我们现有的一些应用暴露其业务功能为Web服务是一个很好的主意。实际上,确有一些IT公司在初涉SOA领域时首先做的就是这件事。他们创建起Web服务库。
而只要你选择正确的业务构件,就会马上见效。
但是你如何测试这些Web服务,知道它们就是在做你想要它们做的事情呢?要知道原来的应用可能根本没有预想到自己会被做成一些构件的。程序代码可能是意大利面式的。
想象一下某个相当简单的东西,比如管理用户数据库。假设,我们的Order Processing应用就这么干,因此我们需要把用户更新功能(即添加、修改和删除用户)作为web服务暴露出来。我们了解此应用,因此我们知道其程序逻辑做了我们想要它做的事情。
但它还做了别的什么事情吗?这就是潜在的问题。
Web服务的单元测试
我们要如何做呢?我们可以读源代码。这是个好主意,去查看时候在我们添加、修改或删除用户时调用了我们不想调用的逻辑。
但我们需要做的比这更多。我们除了把新的web服务与Order Processing应用一起测试之外没有别的办法。我们可以在测试所有可能的新的Customer Update web服务接受和发出的SOAP消息组合时,对Order Processing应用使用现有的回归测试。
当我们完成这项测试后,所有我们所做的事就是web服务的单元测试。因此,当我们暴露任何要用的web服务时,我们都需要做这样的测试。实际上,这样的测试手段应该成为IT管理的一部分。
假设现在的情况是我们用一些web服务和一些新的逻辑构建起组合的应用。
我们希望每个web服务都已经被单元测试过了。于是测试过程应该按如下循环进行:创建测试计划,创建测试床以及进行测试(测试设计,编写特定测试用例,编写特定脚本,执行测试,测试报告)。我们使用的已经被单元测试过的web服务不应该让我们过于自信。
就算在单独测试时它们没有出错,也很有可能在一起工作时出错。我们的测试方法应用能让我们打散端到端的交易,探测失败出现的地点。这意味着要能够捕捉并分析从一个构件传到另一个构件的所有SOAP消息。
集成测试
集成测试和传统的系统测试非常不同。
首先,我们做单元测试,然后做集成测试。额外的事情是当我们做集成测试时,我们必须对用到web服务的应用做回归测试。
另两种测试(压力/性能测试和交付测试)也需要这个额外过程。我们需要测试相互关联的东西,这样它才能在真实的环境中运行起来。
可能我们已经提出了问题。但事情可能变的很复杂。对于可行但低效的垂直应用,测试还相对简单。你只需对应用构件做单元测试。然后对整体做集成测试。然后,如果你对性能有什么要求,你可以再做压力测试。
最后,你再做交付测试。创建测试床不是什么问题,你只需建立运行时环境并构建一套测试数据,或者从真实系统中提取一些数据。
SOA的问题在于它是端到端的。垂直应用和简单建立测试床将不复存在。
随着SOA项目的深入,你将需要有更多的各种各样的测试床。事实上,你很可能需要能创建和拆除测试环境并从真实系统中提取数据的工具。没有它们,创建足够的测试床将非常困难。
压力测试/性能测试也会成为测试床的一个挑战。
新的组合应用的运行决定了你会需要对很可能跨越很多不同服务器的整套端到端软件进行压力测试。
当前可以被管理的SOA测试情况非常少,如果有的话,组织就可以马上构建复杂的端到端组合应用。他们的项目会涉及到集成相邻的垂直应用或为核心系统增加浏览器接口,或者增加一些BPM。
而当业务更复杂一些,他们就会发先SOA测试有多么复杂了。
软件测试工程师就是从事软件测试并通过QAI考试的人员。软件测试工程师的工作是利用测试工具按照测试方案和流程,对产品进行功能和性能测试。
甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行评估。
QAI简介
QAI成立于1980年,前身为美国质量保障研究院,是世界权威软件测试与软件质量保障咨询与服务机构,亚太地区总部设在印度。
QAI的专业服务规模和范围涵盖CMM、CMMI、PCMM、ISO、ITIL、六西格玛以及其它更多。
公司宗旨是在软件工程和管理领域成为全球首屈一指的知识企业,为客户提供可度量的竞争优势。
QAI公司是一个全方位的服务提供商,致力于人、过程、技术三者之间的和谐统一,以促进组织绩效的突破。QAI是亚太地区最大的软件过程改进咨询服务机构。多年来, QAI已经形成一种特有的、能同时在多个中心进行快速、高效的过程配置的能力。
QAI拥有一个超过130人的团队,其中包括4名CMMI SCAMPI B和C 主任评估师观察员(全球仅7位),13位CMMI主任评估师、14位软件CMM主任评估师、2位人力资源CMM(PCMM)主任评估师、4位ITIL专家,为数众多的6西格玛黑带大师以及庞大的咨询和培训队伍,使得QAI有能力满足广大客户对过程改进的需求。
QAI已经对80000多名在职人员进行了培训,在全球许多国家做过评估工作。QAI印度公司现有客户主要集中于:印度、美国、中国、新加坡、台湾、香港、越南、菲律宾和俄罗斯。QAI有着丰富的高成熟度的执行经验、QAI的全套服务商业模型包括咨询、培训、评估、认证等、QAI有丰富的与众多专业服务机构合作的经验、QAI的服务遍及全球,因而对多种多样的文化有更深刻的理解、QAI在帮助中国大力实施CMM/CMMI获得巨大成功方面作出了重大的贡献。
截止去年,全球共有125家通过CMMI5级评估,其中有35家是QAI亚太区的客户(包括GE,IBM,埃森哲,西门子)。还有95家公司正在QAI的帮助下进行CMMI5级的实施中。在中国(含香港、台湾)的CMM/CMMI/PCMM咨询、评估客户超过100家,拥有最大的客户群,包括:摩托罗拉, 东软,朗讯,阿尔卡特,中兴通讯,GE,神州数码,金蝶软件,埃森哲(大连),艾默生网络能源,UT斯达康,香港中建电讯 CCT(香港和广州),深圳清华斯维尔,深圳卓望数码,上海沙迪克,浪潮软件,Mitac(南京和台湾),中创软件,华南资讯,中国建设银行,北京天?科技T3G,康佳集团,Flextronics(北京)等。
。收起