第一篇:软件测试人才发展现状
软件测试人才发展展望
软件测试属新兴职业,但目前国内软件产业规模越来越大,国内软件行业突破了传统的作坊式生产,从单打独斗的开发模式升级为工业化、流水线式的生产模式,导致专业的软件测试人才需求缺口巨大。据悉,中国IT人才缺口超过100万名,其中30万名以上为软件测试人才。作为工业化产品质量的“把门”者,软件测试工程师也就成为软件开发企业必不可少的技术人才。据悉,目前国内软件测试和开发人员比例大约在1:4—1:5,而国外测试和开发人员比例为1:1,可见,国内软件测试人才需求和职业发展潜力巨大。据分析,中国软件测试职业具有以下特征:
就业竞争小。据前程无忧数据显示,目前国内120万软件从业人员中,真正能担当软件测试职位的不超过5万人,人才缺口达到20万并有逐年扩大的趋势。人才的极度匮乏令许多IT企业不得不延缓甚至停止项目,为企业发展带来消极影响,但对人才就业却有积极意义。人才供不应求让软件测试人员的就业竞争压力明显小于同类其它职业,有利于从业者的身心健康。另外,由于软件测试在我国起步较晚,独立设置测试部门、对测试人员有强烈需求的多为独具慧眼的大中型IT企业。软件测试人才不需要在小企业积累经验就能获得知名企业的入门通行证,工作起点高于同类其它职业。
高薪没商量。为了吸引更多的人才,企业纷纷采取高薪策略,刚入行的软件测试人员,起步月薪就在3000-6000元左右,远高于同龄人1000-2000元的薪资水平,工作2-3年后的薪资更是翻番。
多元化发展。与其他IT职位相比,软件测试人员最大的优势就是发展方向的多元化。由于工作的特殊性,测试人员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后的等领域都要涉及。在这过程中,测试人员不仅提升了专业的软件测试技能,还能接触到各行各业,项目管理、沟通协调、市场需求分析等能力都能得到很好的锻炼,从而为自己的多元化发展奠定了基础。经过软件测试岗位洗礼的人才往往是行业中的多面手,比其它IT人才具有更强的可塑性,在技术、管理、市场甚至其它非IT领域都能得到良好的发展。
无性别歧视。如果把软件开发领域比作男子单打,那么软件测试领域就是混合双打。由于工作的特殊,软件测试人员往往更偏好认真、耐心、细致、敏感、等个性元素,而这在一定程度上与女性的个性气质相吻合。据了解,目前很多IT企业中软件测试人员的比例更趋向平衡,甚至出现女性员工成主流的情况。
测试职业的这些特征吸引了很多软件人才的注目,山东省软件评测中心根据多年人才培养的经验,展望2011年,软件测试人才将呈现以下发展趋势:
1、中高级软件测试人才需求量进一步加大
从众多企业HR那里了解到,目前招聘难度大的主要是高级测试工程师,也就是软件测试职位的中高端人才,这从一些知名企业的招聘岗位及其要求上便不难看出。
比如,微软中国招聘:软件测试开发工程师主管,要求具有4年以上测试相关工作经验。而众多的企业在招聘软件测试工程师的要求上都是要具有2年以上的测试相关经验,中高端职位要求工作经验起码要3年以上。
2、能力要求提高
面对这样大的人才需求态势,企业寻找合适的员工还是有选择的,那些具有很强的探索精神、耐心、细心、责任心、良好的沟通能力、较强的逻辑思维能力和学习能力、具有扎实的计算机基础知识、全面的业务知识和较高的测试技能、对软件测试工作有了解并且热爱的人员才是企业真正需要的人才。
3、初级工程师上升潜力大
据调查显示,1-3年工作经验的软件测试从业人员占整体的45%,其次是从业时间在1年之内的新人,占整体的39%,三年以内工作经验总计占比84%,只有16%的从业人员测试工作年限超过三年。
由于软件测试近几年才受到国内IT界的重视,具有3年以上工作经验的测试人才比较缺乏,因此一些企业动辄要求3年工作经验,要想招聘到足够的人才是不现实的。软件测试从业人员的职业发展阶段大部分处于初级,初级测试工程师和测试工程师共占74%,此外11%的软件测试从业人员是测试组长,高级测试工程师仅占5%的比例。这一点一方面反映了每个行业都存在的金字塔形的人才结构,另一方面也反映出业界需要加强对软件测试人才的培养。
而软件测试从业人员的出生年代集中在上世纪80年代,其比例为81%,出生于70年代的比例为18%,60年代的软件测试从业人员仅1%.软件测试作为一个新兴的职业,出生于上世纪80年代的职场新人是这项工作的主力军,由于缺少资深的测试人员,这些新人的职业发展空间巨大。
软件测试在国内起步较晚,软件测试从业人员大部分还属于职场起步阶段,说明此领域存在较为广阔的职业发展空间。
4、测试领域细化明显
很多软件的测试是针对某一特定行业或领域。因此,掌握该领域专业知识也是非常关键的。而且随着项目经验的不断增长和对行业背景的深入了解,软件测试从业人员会越老越吃香。
据调研数据显示,51%的软件测试从业人员从事的测试工作类型为手工功能测试,其次是测试用例设计,比例为16%,从事测试管理、功能自动化测试、性能测试的从业人员的比例相当。
66%的软件测试从业人员关心应用软件行业的业务知识,其次为电信/互联网服务,其比例为42%,软件外包、典型行业(金融、银行、保险等)、电信/互联网系统及设备的关心比例分别为31%、24%和24%.而软件测试从业人员的学历集中在本科,其比例为70%,大专学历次之,其比例为23%,高学历者(包括硕士、博士)占6%,大专以下的有1%.5、专业的培训机构更受欢迎
软件测试实际上是贯穿整个软件工程的,从需求分析、功能点覆盖、系统分析、代码开发,一直到最后的测试和验收。因此,软件测试人员必须要具有缜密的逻辑思维能力、全面的技术能力、较强的责任心和团队合作精神以及出色的沟通能力等专业素质。这些素质都需经过专门的培训才可拥有。
目前,国内软件测试人才的培训主要有三种机构:企业、高等院校和IT培训机构。企业培养的人才大多是通过参与项目自己摸索的软件开发人员,由于缺乏对软件测试全面的认识,在测试思想、技能、思维方式、沟通能力等方面都需要进一步提高。高校培养出来的人才具备一定理论知识,但动手能力较差,进入企业后需要再培养,不能立即到岗。培训机构则能弥补前两种方式的不足,通过理论讲解、上机操作、案例探讨、项目实践等方式,让学员系统地提升软件测试工程师的各项专业素质。未来,来自高等学院甚至重点院校的学生参与IT培训的学生将会越来越多,使得提供给IT行业的软件测试人才的综合素养也会逐步提升。
正是看到中国软件测试领域的发展与问题,国家及时出台相关政策,要求大力培养软件测试人才。在信息产业部等五部委联合颁布的124号文件中明确指出:“加快培养软件测试人才,开展软件评测技术的研究……形成政府引导、社会各方参与、有效监督和管理的软件评测体系。”作为软件测试人才培养的重要基地,专业培训机构将凭借其专业的培训系统和灵敏的市场洞察力迅速崛起,形成规模,为我国软件产业输送更多的优秀人才。
软件质量缺陷案例
某一天你银行卡里面突然多了100000大洋抑或是你能遥控ATM自动吐钞票?
你能事先未仆先知,知道了福利彩票开奖号码,然后去买彩票?
打电话的时候收不到重要的约会的短信?
去银行取钱的时候,柜台员崩溃的告诉你系统故障?
你在购买facebook股票的时候,交易系统因访问量过大导致无法交易?
你回家要在12306网站上购买火车票时,系统老是提示你现在忙,请稍后?
在注册某个网站账号的时候因不小心输错了某个信息,网站崩溃的清理你所填的所有记录,然后一切重头来过? 你们公司给某个企业做了一套软件,对方问你,你们的软件质量怎么样时?这一切的一切,其实这一切似乎都跟质量相关,而质量如何来提高或者如何来保证呢,就好比生活中的质量是靠检测来把控的,所以曾经深受消费者亲睐的免检的三鹿奶粉,在“毒奶粉”事件中轰然倒闭,最终退出市场?包括最近的CSDN、人人网账号资料的泄露等等。
从国际权威的ISTQB认证来看,软件之所以会产生缺陷是因为人的错误行为,比如需求分析人员不一定精确的传递用户的需求、开发人员不一定能准确无误的写好每一段代码。软件质量产生的后果不仅仅是看得见的bug,看得见的失败的项目,看得见的现场故障的运行,也包括可能看不见的延期交付、纠正错误的无休止的加班、影响了员工的积极性、失去市场时机和失去订单甚至是信誉和品牌。
从这个意义上来讲,处于软件生命周期中每个阶段的人员都理所当然的应该懂或多或少的软件测试的技术与知识。
1983年【IEEE软件测试定义】使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”。从这个定义另外还可以看出软件测试的历史不长,实际上世界上最重视软件测试的企业之一微软也是在这个时候开始有真正意义上的软件测试工程师。
而在国内,最先开始软件测试的企业应该属华为等大型企业,大概的时间是1997年,所以从这个意义上来看,软件测试在国内的历史还只有16年不到的历史,还是一个未成年的孩子。
第二篇:软件测试的发展现状与前景
软件测试的发展现状与前景
一、软件开发中出现错误或缺陷的机会越来越多。
市场对软件质量重要性的认识逐渐增强。所以,软件测试在软件项目实施过程中的重要性日益突出。但是,现实情况是,与软件编程比较,软件测试的地位和作用,还没有真正受到重视,对于很多人(甚至是软件项目组的技术人员)还存在对软件测试的认识误区,这进一步影响了软件测试活动开展和真正提高软件测试质量。
(1)误区之一:软件开发完成后进行软件测试
人们一般认为,软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。据此,认为软件测试只是软件编码后的一个过程。这是不了解软件测试周期的错误认识。软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。
(2)误区之二:软件发布后如果发现质量问题,那是软件测试人员的错
这种认识很打击软件测试人员的积极性。软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。
(3)误区之三:软件测试要求不高,随便找个人多都行
很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随之软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具,新流程,新测试设计方法都在不断更新,需要掌握和学习很多测试知识。所以,具有编程经验的程序员不一定是一名优秀的测试工程师。软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和不断学习精神。
(4)误区之四:软件测试是测试人员的事情,与程序员无关
开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。
(5)误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试
这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。克服这种现象的最好办法是加强软件过程的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。
(6)误区之六:软件测试是没有前途的工作,只有程序员才是软件高手
由于我国软件整体开发能力比较低,软件过程很不规范,很多软件项目的开发都还停留在“作坊式”和“垒鸡窝”阶段。项目的成功往往靠个别全能程序员决定,他们负责总体设计和程序详细设计,认为软件开发就是编写代码,给人的印象往往是程序员是真正的牛人,具有很高的地位和待遇。因此,在这种环境下,软件测试很不受重视,软件测试人员的地位和待遇自然就很低了,甚至软件测试变得可有可无。随着市场对软件质量的不断提高,软件测试将变得越来越重要,相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大差别,优秀测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业,软件测试大有前途,市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。这两年来国内软件测试人员的需求不断增大,越来越多的IT企业认识到了软件测试的重要性,这种可喜的现状与发展趋势让笔者对我国软件业的发展重新抱有较大的希望。
尽管这是一门崭新的学科,目前在国内的发展仍处于“婴儿”阶段,但看到越来越多的软件公司为软件测试招兵买马,看到越来越多的技术人员投入到软件测试中,我就情不自禁地感叹:机会来了!这机会不仅仅是某一个人的,而是所有人的,它对每个人都是公平的,学的领域需要新的理论新的工具新的方法,由于国内的软件测试还处在一个比较初级的阶段,没有人确切地知道它需要什么样的基础,也没有人确切地知道它应该怎样发展,因此这个领域需要大家来共同革命,以促进它的深入发展。
二、软件测试的前景
随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件企业生存与发展的核心。几乎每个大中型IT企业的软件产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。软件测试工程师就是这样的一个企业重头角色。业内人士分析,该类职位的需求主要集中在沿海发达城市,其中北京和上海的需求量分别占去33%和29%。民企需求量最大,占19%,外商独资欧美类企业需求排列第二,占15%。然而,目前的现状是:一方面企业对高质量的测试工程师需求量越来越大越大,另一方面国内原来对测试工程师的职业重视程度不够,使许多人不了解测试工程师具体是从事什么工作。这使得许多IT公司只能通过在实际工作中进行淘汰的方式对测试工程师进行筛选,因此国内在短期将出现测试工程师严重短缺的现象。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试用例,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。
第三篇:软件测试职业发展
软件测试职业的发展趋势
软件测试行业在国外发展较为成熟,测试人员与和开发人员的比例为1:1。在国内,则相对滞后,直至2005年劳动部才正式将计算机软件产品检验(即软件测试工程师)列为第四批新职业。不过,经过几年的成长,软件测试已成长为一匹实力惊人的“黑马”,人才缺口突破20万,挺向30万。
永远不用担心要转行,这样的转行遭遇,在软件测试行业却永远都不会有。因为,软件测试是个越老却吃香的行业,经验和资历会带来更高薪资和更高地位。软件测试工程师可以一直做到35岁、45岁、55岁,直至退休;可以逐步转向管理或者资深测试工程师,担当测试经理或者QA部门主管,职业寿命更长。
软件测试工程师目前正在成为IT行业中一个新亮点,不仅其从业人员薪水高、人员需求增加快而广受关注,而该行业未来良好的发展前景也受到肯定。据国家权威部门统计,中国软件人才缺口中,其中30%的人才为软件测试人才。软件产业是国家鼓励发展的朝阳产业,软件产业要发展,提高软件质量势所必然,这样就产生了对软件测试工程师的大量需求。然而在IT业处于发展的初级阶段时,由于大多数软件比较简单,测试工作也不复杂,往往是软件开发企业在开发完成后进行一下简单的检测就可以了。但在IT业发展到一个高级阶段后,系统越来越精密,而软件也越来越复杂,影响的范围也不断扩大。因此,这时期开发的软件就必须进行十分严格的测试。否则,不仅会引发企业销售收入下降和运营成本的增加,甚至给企业带来法律责任。而在金融、电信这种系统趋于全国集中,风险波及面大,业务影响广泛的行业,其产生的后果更是不堪设想
软件测试职业有很多优势:工作起点高,发展空间大;软件测试行业发展方向多;职业寿命长,越老越吃香;工作最稳定,不用频繁跳;性别无偏好,就业歧视小。由此可见软件测试职业将是一个亮点。
第四篇:软件测试(推荐)
一、简答5*6’
1.为什么不让时间有余的人做测试工作
表面上看这体现了管理的效率和灵活性,但实际上也体现了管理者对测试的轻视。测试和测试的人有很大关系。测试工作人员应该是勤奋并富有耐心,善于学习、思考和发现问题,细心有条理,总结问题,如果具备这样的优点,做其它工作同样也会很出色,因此这里还有一个要求,就是要喜欢测试这项工作。2.软件测试风险主要体现在哪里
我们没有对软件进行完全测试,实际就是选择了风险,因为缺陷极有可能存在没有进行测试的部分。因此,我们要尽可能的选择最合适的测试量,把风险降低到最小 3.所有软件测试缺陷都需要修复吗
从技术上讲,所有的软件缺陷都是能够修复的,但是没有必要修复所有的软件缺陷。测试人员要做的是能够正确判断什么时候不能追求软件的完美。对于整个项目团队,要做的是对每一个软件缺陷进行取舍,根据风险决定那些缺陷要修复。发生这种现象的主要原因如下:-没有足够的时间资源。在任何一个项目中,通常情况下开发人员和测试人员都是不够用的,而且在项目中没有预算足够的回归测试时间,修改缺陷可能引入新的缺陷。
-有些缺陷只是特殊情况下出现,这种缺陷处于商业利益考虑,可以在以后升级中进行修复。-不是缺陷的缺陷。我们经常会碰到某些功能方面的问题被当成缺陷来处理,这类问题可以以后有时间时考虑再处理。缺陷是否修改要由软件测试人员、项目经理、程序员共同讨论来决定是否修复,不同角色的人员从不同的角度来思考,以做出正确的决定。4.如何减少测试人员跳槽带来的损失 建议我们从以下两个方面做起:
-加强部门内员工之间的互相学习,互相学习是建立学习型组织的基本要求,是知识互相转移的过程。在此基础上,可以把个人拥有的技术以知识的形式沉积下来,也就完成了隐性知识到显性知识的转化。
-管理者就应该把员工的个人成长和企业的发展联系起来,为员工设定合理发展规划并付诸实现。
5.验收测试的注意点有哪些 测试要注意下面的事项:
(1)用户现场测试不可能测试全部功能,因此要测试核心功能。这需要提前做好准备,这些核心功能一定要预先经过测试,证明没有问题才可以和用户共同进行测试。测试核心模块的目的是建立用户对软件的信心。当然如果这些模块如果问题较多,不应该进行演示。(2)如果某些模块确实有问题,我们可以演示其它重要的业务功能模块,必要时要向用户做成合理的解释。争得时间后,及时修改缺陷来弥补。(3)永远不能欺骗用户,蒙混过关。6.完全测试程序是可能的吗
实际上完全测试是不可能的。主要有以下原因:-完全测试比较耗时,时间上不允许;
-完全测试通常意味着较多资源投入,这在现实中往往是行不通的;-输入量太大,不能一一进行测试;-输出结果太多,只能分类进行验证;-软件实现途径太多;
-软件产品说明书没有客观标准,从不同的角度看,软件缺陷的标准不同;因此测试的程度要根据实际情况确定 7.是不是发现的缺陷越多就说明软件缺陷越多 其中的原因主要如下:
-代码复用、拷贝代码导致程序员容易犯相同的错误。类的继承导致所有的子类会包含基类的错误,反复拷贝同一代码意味可能也复制了缺陷。-程序员比较劳累是可以导致某些连续编写的功能缺陷较多。
“缺陷一个连着一个”不是一个客观规律,只是一个常见的现象。如果软件编写的比较好,这种现象就不常见了。测试人员只要严肃认真的测试程序就可以了。8.软件测试就是QA吗
软件测试人员的职责是尽可能早的找出软件缺陷,确保得以修复。而质量保证人员(QA)主要职责是创建或者制定标准和方法,提高促进软件开发能力和减少软件缺陷。测试人员的主要工作是测试,质量保证人员日常工作重要内容是检查与评审,测试工作也是测试保证人员的工作对象。软件测试和质量是相辅相成的关系,都是为了提高软件质量而工作。9.测试产品和测试项目区别
习惯上把开发完成后进行商业化、几乎不进行代码修改就可以售给用户使用的软件成为软件产品,也就是可以买“卖拷贝”的软件,软件项目是一种个性化的产品,可以是按照用户要求全部重新开发,也可以修改已有的软件产品来满足特定的用户需求。项目和产品的不同特点,决定我们测试产品和测试项目仍然会有很多不同的地方:
-质量要求不同。通常产品的质量要高一些,修复发布后产品的缺陷成本较高,甚至会带来很多负面的影响。而做项目通常面向某一用户,虽然质量越高越好,但是一般只要满足用户要求就可以了。测试资源投入多少不同。做软件产品通常是研发中心来开发,进度压力要小些。同时由于质量要求高,因此会投入较多的人力、物力资源。项目最后要和用户共同验收测试,这是产品测试不具有的特点。此外,测试产品与测试项目在缺陷管理方面、测试策略制定都会有很大不同,测试管理者应该结合具体的环境,恰如其分的完成工作 10.如何编写提交给用户的测试报告
测试报告一般分为内部测试报告和外部测试报告。内部报告是我们在测试工作中的项目文档,反映了测试工作的实施情况,一般外部测试报告要满足下面几个要求:
根据内部测试报告进行编写,一般可以摘录;不可以向客户报告严重缺陷,即使是已经修改的缺陷,开发中的缺陷也没有必要让客户知道;报告上可以列出一些缺陷,但必须是中级的缺陷,而且这些缺陷必须是修复的;报告上面的内容尽量要真实可靠;整个测试报告要仔细审阅,力争不给项目带来负面作用,尤其是性能测试报告。总之,外部测试报告要小心谨慎的编写。
二、论述2*12’
1.请论述为什么要进行软件测试,并列举历史上2~3个著名软件测试(缺陷)案例,说明测试重要性
软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望做的事情(,另一方面是确认软件以正确的方式来做了这个事情。第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件软件产品本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此,软件测试的第三个目的是保证整个软件开发过程是高质量的。
爱国者导弹防御系统把“枪口”对准了自己人 美国迪斯尼公司的狮子王游戏软件的兼容性问题 售票系统性能问题
2.论述软件测试科学的发展历程 1957年之前-调试为主 20世纪50年代,计算机刚诞生不久,只有科学家级别的人才会去编程,需求和程序本身也远远没有现在这么复杂多变,相当于开发人员一人承担需求分析,设计,开发,测试等所有工作,当然也不会有人去区分调试和测试。
1957–1978-证明为主 当时计算机应用的数量,成本和复杂性都大幅度提升,随之而来的经济风险也大大增加,测试就显得很有必要了,这个时期测试的主要目就是确认软件是满足需求的,也就是我们常说的“做了该做的事情”。
1979–1982-破坏为主 我们不仅要证明软件做了该做的事情,也要保证它没做不该做的事情,这会使测试更加全面,更容易发现问题。
1983–1987-评估为主 人们提出了在软件生命周期中使用分析,评审,测试来评估产品的理论。软件测试工程在这个时期得到了快速的发展.1988–至今-预防为主 预防为主是当下软件测试的主流思想之一。测试不是在编码完成后才开始介入,而是贯穿于整个软件生命周期。3.论述软件缺陷的由来
软件缺陷的产生主要是由软件产品的特点和开发过程决定的。
软件本身:①需求不清晰,导致设计目标偏离客户的需求,从而引起功能或产品特征上的缺陷。②系统结构非常复杂,而又无法设计成一个很好的层次结构或组件结构,结果导致意想不到的问题或系统维护、扩充上的困难;即使设计成良好的面向对象的系统,由于对象、类太多,很难完成对各种对象、类相互作用的组合测试,而隐藏着一些参数传递、方法调用、对象状态变化等方面问题。③对程序逻辑路径或数据范围的边界考虑不够周全,漏掉某些边界条件,造成容量或边界错误。④对一些实时应用,要进行精心设计和技术处理,保证精确的时间同步,否则容易引起时间上不协调,不一致性带来的问题。⑤没有考虑系统崩溃后的自我恢复或数据的异地备份、灾难性恢复等问题,从而存在系统安全性、可靠性的隐患。⑥系统运行环境的复杂,不仅用户使用的计算机环境千变万化,包括用户的各种操作方式或各种不同的输入数据,容易引起一些特定用户环境下的问题;在系统实际应用中,数据量很大。从而会引起强度或负载问题。⑦由于通信端口多、存取和加密手段的矛盾性等,会造成系统的安全性或适用性等问题。⑧新技术的采用,可能涉及技术或系统兼容的问题,事先没有考虑到。
团队工作:系统需求分析时对客户的需求理解不清楚,或者和用户的沟通存在一些困难。不同阶段的开发人员相互理解不一致。对于设计或编程上的一些假定或依赖性,相关人员没有充分沟通。项目组成员技术水平参差不齐技术问题。算法错误:在给定条件下没能给出正确或准确的结果。语法错误:对于编译性语言程序,编译器可以发现这类问题;但对于解释性语言程序,只能在测试运行时发现。计算和精度问题:计算的结果没有满足所需要的精度。系统结构不合理、算法选择不科学,造成系统性能低下。接口参数传递不匹配,导致模块集成出现问题。
项目管理的问题:缺乏质量文化,不重视质量计划,对质量、资源、任务、成本等的平衡性把握不好,容易挤掉需求分析、评审、测试、等时间,遗留的缺陷会比较多。系统分析时对客户的需求不是十分清楚,或者和用户的沟通存在一些困难。开发周期短,需求分析、设计、编程、测试等各项工作不能完全按照定义好的流程来进行,工作不够充分,结果也就不完整、不准确,错误较多;周期短,还给各类开发人员造成太大的压力,引起一些人为的错误。开发流程不够完善,存在太多的随机性和缺乏严谨的内审或评审机制,容易产生问题。文档不完善,风险估计不足等。4.软件测试V模型
①绘制示意图
②阐述每个步骤是做什么 需求分析
即首先要明确客户需要的是什么,需要软件作成什么样子,需要有那几项功能
概要设计
主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。详细设计
对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等。软件编码
按照详细设计好的模块功能表,编程人员编写出实际的代码。单元测试
按照设定好的最小测试单元进行按单元测试,主要是测试程序代码,为的是确保各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同。集成测试
经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,以及模块接口连接的成功与否,数据传递的正确性等,其主要目的是检查软件单位之间的接口是否正确。根据集成测试计划,一边将模块或其他软件单位组合成系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。系统测试
经过了单元测试和集成测试以后,我们要把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞,等。验收测试
主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。
第五篇:云计算人才发展现状
云计算人才发展现状
云计算发展现状
云计算从概念提出到落地,短短几年时间,迅速跃居最符合条件的的战略技术,是时代发展的必然趋势。毋庸置疑,云计算已经成为IT业的主旋律,无论是亚马逊,谷歌还是IBM、微软等IT巨头将“云”规划为未来的发展核心,到目前为止,这已经不再是空谈。
如何培养云计算人才
与之俱来的是云计算人才短缺的问题,相关云计算开发岗位的需求开始出现供不应求的局面,具有云计算开发背景的技术开发人员更是企业争抢的对象。我国云计算人才的现状是:专业人才培养严重不足,众多高校的云计算相关专业设置尚处在积极筹备之中,专业人才培养模式较为单一。为此,2012年阿里巴巴旗下阿里云计算与森纵教育联合提出,建立高校、企业和第三方培训机构为核心的云计算人才培养和输送体系。以云计算产业发展方向和市场需求为导向,注重创新和应用技能的培养,完善云计算人才培训体系。
阿里云万千云才-云计算人才保障计划
2012年11月,阿里云与森纵教育启动“万千云才”项目,主要针对在校大学生进行普及推广培训;针对大学应届毕业生的深度培训,为云计算产业培养可用人才。这是目前为止第一个具有云计算专业开发背景的公司作为支持,森纵教育作为第一个开设云计算课程的授权培训机构。阿里云计算是作为国内最早从事云计算开发平台,马云数据王国的缔造者。
万千云才项目主要为阿里巴巴集团合作伙伴和客户输送云计算开发人才,以保证“飞天平台”企业对云计算人才的渴求。森纵教育具有专业的技术师资队伍,从事JAVA、C/C++、、NET语言开发6年经验,为企业培养和输送开发人才上万人。此次将为万千云才项目的运行提供师资和技术保障。