软件测试的重要性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试的重要性
“在发布新产品之前做好测试,提高软件产品质量,减少漏洞,是预防遭受木马攻击的根本途径。” 北京康赛普特信息技术有限公司高级测试总监王亚智指出,零缺陷的软件是不存在的。但通过必要的测试,软件缺陷可减少75%,降低软件使用风险。
有关机构研究表明,国外软件开发厂商约40%的工作量要花在测试上,对一些可靠性、安全性要求较高的软件更是不惜人力物力。以微软为例,早在1999年发布Windows 2000操作系统时,微软就投入了250多个项目经理、1700多个开发人员,内部测试人员则达到3200人,比前两者的之和还要多。而这对非科班出身的Google来说,远不能及。
相比之下,国内IT产业还在软件测试人才稀缺这一基础难题上挣扎。由于人才供需失衡,国内120万软件从业人员中,真正能担当软件测试职位的不超过5万人,3年以上资深的软件测试工程师不足1万人,大多数软件厂商测试人员的数量不足开发人员数量的五分之一,远落后于国外先进水平。人才短缺使企业测试能力不足,限制了产品开发和行业发展。专家分析指出,导致我国测试人才稀缺的主要原因是人才培养途径不健全。目前,高等教育体系还没有开设软件测试的相关专业,仅有几家知名职业培训机构开设了相关课程,但每年培养的人才相对市场的巨大缺口无异于杯水车薪,造成现阶段我国软件测试人才供需严重不平衡,人才培养迫在眉睫。
从消费者追求安全可靠的心态作为衡量软件产品是否合格的标准来看,软件测试就不仅仅应是检验质量的工具,更应成为验证软件产品是否符合用户需求的保障。对软件厂商来说,只有拥有足够的软件测试人才才能对产品进行全面的安全测试,业务才有可能进一步扩展。否则,软件产品的安全问题终将成为高悬在企业头上的达摩克利斯之剑。
测试是什么?测试就是对项目开发过程的产品(编码、文档等)进行差错审查,保证其质量的一种过程。
软件业的迅猛发展也就是近几十年的过程,时间虽短,但许多误解似乎已根深蒂固,对测试的偏见也是如此。&ldquo软件的重点在于需求、在于分析、在于设计、在于开发,而测试,容易,没什么技术含量,找一些用户,对照需求尽力去测就行了;有时间多测点,没时间就少测点。&rdquo这种看法在许多项目经理、软件负责人的心中固守着,难以改变。
这种观念的结果有目共睹,是什么?很简单,是大量软件BUG、缺陷的&ldquo流失&rdquo,从测试人员手中悄然而过,流失到用户手中,流失进项目维护阶段。随之而来的,便是用户无休止的抱怨、维护人员无休止的&ldquo救火&rdquo、维护成本无休止的增加。这是软件人员的梦魇!
恶梦总有醒来时,经过无数教训的重击,在不堪回首而不得回首的经历中,软件业的管理者发现:是他们错了,软件测试是不可忽视的。
&ldquo所有这些问题,假如在项目中测试到的话,便不会有造成不可收拾的结果了。&rdquo――人们终于意识到测试简单而纯真的真谛。
软件测试
软件测试从直观上来讲是对测试对象进行检查、验证,似乎很简单,但实际不然,它是由许多处理环节构成的。根据测试目标、质量控制的要求,它被划分为以下各类环节(如下图),并被设置了不同的准入、准出标准。
[2008-12-18]
什么是软件外包?
软件外包就是企业为了专注核心竞争力业务和降低软件项目成本,将软
件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动。现在业务流程外包(BPO)已经成为外包服务新的发展趋势,在未来几年
内将成为外包的主要内容。BPO包括人力资源、采购、财会、客户中心、后勤、研发、营销、工厂运作、培训,这些大类还可以进一步细分。不仅IT
行业需要BPO,而且BPO的每项业务都离不开IT业务的支持,从而产生IT
外包机会。
一个软件开发项目通常要经历需求分析、设计、编程、测试等几个大的阶段。其中设计又包括整体设计、系统设计(把整体架构变成一块块系统)、详细
设计几个环节。详细设计之后软件就变成了一块块模块,这以后才进入编程。到了编程阶段时,最后就剩下软件蓝领为模块的Coding工作,在印度通常
由受过一两年训练的高职毕业生担任。
软件最后的测试又是一个复杂过程——有单元测试(小模块测试)、系统
测试(块与块的联系整合)、总体功能测试。期间由测试编程工程师编写测
试工具,制定测试规则,其难度不亚于系统框架的制定。最后才由测试工程
师完成测试的任务。
外包软件测试有望成为小作坊软件业业务增长点
企业若想把承接国际软件外包的业务做强做大,必须与国际软件市场接轨——包括英语的理解与沟通能力,技术接轨、管理接轨、做事方法接轨、
知识产权接轨。还有质量保障、信誉度保障、风险控制能力以及知识产权保
障等方面。以上条件显然国内大多数小作坊式软件企业还做不到。但这也未
必表示小作坊软件企业就没有机会承接软件外包服务。因为软件外包项目中,软件测试项目最适合中国现阶段小作坊软件企业的行业特色。
软件测试是保证软件质量的最重要的手段
使用低质量的软件,在运行过程中可能会产生这样那样的问题,可能为
使用单位带来造成延误工作或者造成生命财产的损失。而软件测试是为保证
软件用户免于遭受损失的最重要的手段。
什么是软件测试?1983年IEEE定义为:使用人工或自动手段来运行或测定
某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果
与实际结果之间的差别。
现代的软件开发工程是将整个软件开发过程明确的划分为几个阶段(参见下图),将复杂问题具体按阶段加以解决。这样,在软件的整个开发过程中,可以对每一阶段提出若干明确的监控点,作为各阶段目标实现的检验标准,从而提高开发过程的可见度和保证开发过程的正确性。
经验证明,软件的质量不仅是体现在程序的正确性上,它和开始编码以前所做的系统需求分析,软件设计密切相关。许多软件使用中出现的错误,未必是编程人员在编码阶段造成的,反而在程序设计,甚致在需求分析时就埋下了祸因。这时,对软件工程的错误纠正,就必须追溯到软件开发的最初阶段。如果是这样又增大了软件的开发费用。
为了保证软件的质量,专案管理就应该着眼于整个软件生存期,特别是在开发阶段的系统分析。所以软件测试的概念和实施范围必须包括在整个开发各阶段的复查、评估和检测。