论软件测试的重要性.docx_第1页
论软件测试的重要性.docx_第2页
论软件测试的重要性.docx_第3页
论软件测试的重要性.docx_第4页
论软件测试的重要性.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论软件测试的重要性摘要:随着信息技术的飞速发展,使软件产品应用到社会的各个领域,软件质量成为软件产品的灵魂。软件设计技术,软件测试等都是提高软件质量的有效方法。从提高软件产品质量的可实施性、投资回报率等方面考虑,保证软件质量的最显著的方法是实施有效的软件测试,提高软件测试的效率。本文从软件测试的重要性,软件测试项目管理的几个重要因素和软件测试项目管理中遇到的问题和解决方案三个方面进行阐述.关键词:软件质量,软件测试,项目管理软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。项目管理是一个管理学分支的学科 ,指在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望。项目管理是对一些与成功地达成一系列目标相关的活动(譬如任务)的整体。这包括策划、进度计划和维护组成项目的活动的进展。一。软件测试的重要性“在发布新产品之前做好测试,提高软件产品质量,减少漏洞,是预防遭受木马攻击的根本途径。” 北京康赛普特信息技术有限公司高级测试总监王亚智指出,零缺陷的软件是不存在的。但通过必要的测试,软件缺陷可减少75%,降低软件使用风险。有关机构研究表明,国外软件开发厂商约40%的工作量要花在测试上,对一些可靠性、安全性要求较高的软件更是不惜人力物力。以微软为例,早在1999年发布Windows 2000操作系统时,微软就投入了250多个项目经理、1700多个开发人员,内部测试人员则达到3200人,比前两者的之和还要多。而这对非科班出身的Google来说,远不能及。相比之下,国内IT产业还在软件测试人才稀缺这一基础难题上挣扎。由于人才供需失衡,国内120万软件从业人员中,真正能担当软件测试职位的不超过5万人,3年以上资深的软件测试工程师不足1万人,大多数软件厂商测试人员的数量不足开发人员数量的五分之一,远落后于国外先进水平。人才短缺使企业测试能力不足,限制了产品开发和行业发展。专家分析指出,导致我国测试人才稀缺的主要原因是人才培养途径不健全。目前,高等教育体系还没有开设软件测试的相关专业,仅有几家知名职业培训机构开设了相关课程,但每年培养的人才相对市场的巨大缺口无异于杯水车薪,造成现阶段我国软件测试人才供需严重不平衡,人才培养迫在眉睫。从消费者追求安全可靠的心态作为衡量软件产品是否合格的标准来看,软件测试就不仅仅应是检验质量的工具,更应成为验证软件产品是否符合用户需求的保障。对软件厂商来说,只有拥有足够的软件测试人才才能对产品进行全面的安全测试,业务才有可能进一步扩展。否则,软件产品的安全问题终将成为高悬在企业头上的达摩克利斯之剑。测试是什么?测试就是对项目开发过程的产品(编码、文档等)进行差错审查,保证其质量的一种过程。软件业的迅猛发展也就是近几十年的过程,时间虽短,但许多误解似乎已根深蒂固,对测试的偏见也是如此。软件的重点在于需求、在于分析、在于设计、在于开发,而测试,容易,没什么技术含量,找一些用户,对照需求尽力去测就行了;有时间多测点,没时间就少测点。这种看法在许多项目经理、软件负责人的心中固守着,难以改变。这种观念的结果有目共睹,是什么?很简单,是大量软件BUG、缺陷的流失,从测试人员手中悄然而过,流失到用户手中,流失进项目维护阶段。随之而来的,便是用户无休止的抱怨、维护人员无休止的救火、维护成本无休止的增加。这是软件人员的梦魇!恶梦总有醒来时,经过无数教训的重击,在不堪回首而不得回首的经历中,软件业的管理者发现:是他们错了,软件测试是不可忽视的。所有这些问题,假如在项目中测试到的话,便不会有造成不可收拾的结果了。人们终于意识到测试简单而纯真的真谛。很多人都认为微软是一家软件开发公司,而事实上,我门是一家软件测试公司.在最后产品要发布的时候,此产品的所有相关部门都必须签字,而测试人员则有绝对的否决权.-微软公司总裁 比尔盖茨在很多大型的软件开发项目中,软件测试甚至会占据整个项目周期一半以上的时间.从投入的资金和人力物力来看,测试,在使产品稳定和修改花去的时间可能占到整个项目时长的80%.-前微软亚洲研究院博士,软件测试专家学者陈宏刚以美国的软件开发和生产的平均资金投入为例,通常是:需求分析和规划确定各占3%,设计5%,编程占7%,测试占15%,投入和维护占67%,测试中软件开发中的地位,由此可见一斑.-美国著名软件质量分析师 贺越明二。软件测试项目管理的几个重要因素 1. 一个完整的测试计划(1) 对测试范围的界定,简单的说就是测试活动需要覆盖的范围。在有时间约束,工作产品质量约束的情况下,唯一能够调整就是范围。在实际的工作中,我们总是不自觉的在调整软件测试的范围,比如在时间紧张的情况下,通常优先完成重要功能的测试。这就是一种测试范围上调整。所以作为测试管理者在接收到一项任务的时候,需要根据主项目计划的时间来确定测试范围。如果在确定范围上出现偏差,会给测试执行工作带来消极的影响,例如加班。确定范围前需要管理人员来进行任务的划分,简单的说就是分解测试任务。分解任务有两个方面的目的,一个是识别子任务,二是方便估算资源的需求。完成了上述的任务之后,管理者便需要根据项目的历史数据估算出完成这些子任务一共需要消耗的时间和资源。通常意义上说,执行一次完整的全面测试几乎是不可能的事情,我们总是要在测试的范围上面做出有策略的妥协。(2) 风险的确定,项目中总是有不确定的因素。这些因素一旦发生之后记录对项目的顺利执行产生相当大的消极影响。所以在项目中,首先需要识别出存在的风险。风险识别的原则可以有很多,常见的一种就是如果一件事情发生后,会对项目的进度产生较大影响,那么就可以把该事件做为一个风险。风险识别出之后,管理者需要按照这些风险制定出规避风险的方法。在小的项目中,识别风险和制定规避方法可以省略。(3) 资源的规划,确定完成任务需要消耗的人力资源,物资资源。这些是保证项目执行的物资要素。物资资源是管理者容易忽略的问题,实际上物资资源是人得以开展工作的工具,细致的规划可以让人更有效的去执行项目。常见的物资资源有计算机硬件,软件,测试环境的搭建等等。(4) 时间表的制定,在识别出子任务和资源之后,我们便可以将任务,资源和时间关联起来形成时间进度表。本质上说,时间表是对前3项任务的一个概括。没有前三步的工作,时间进度表是没有意义的。 2. 沟通沟通的测试管理人员的必须的技能。虽然我们制定出详细的项目计划,当这不意味着有了这个契约之后,项目中的各种角色就不需要沟通了。做为测试的管理者,需要将测试发现的问题及时的反馈给开发人员,同时也要积极的去了解外界产生的变更。项目中存在变化是普遍现象,而作为管理者就是要去管理这里变化,及时的修订计划。严格的说,如果没有这些变化,做为测试管理者的你就没有多少存在的价值。有些人认为一旦有了计划这个契约之后,只要按照要求去执行就可以,但是项目本身是一个动态的过程,计划是项目在某一个时刻、段的静态体现,所以要按照发展的眼光来对待计划。沟通是了解外界变化的积极手段,所以就测试管理者而言。其计划沟通能力的要求要高于测试技能的要求。3. 执行去年国内流行一本书,名称为执行力。书中的作者认为大多数项目没有成功的原因在于执行。软件测试也存在一个执行的能力问题,有人会说我把要求的事情按照要求做完了不就可以了吗? 的确,按照期望去执行任务是正解,但是这里有一个问题就是如何保证执行者对期望的理解同要求者的期望是完全一致的呢?所以执行的背后还是一个沟通的问题,这里的沟通是测试管理者和执行者之间的沟通。所以作为一名测试管理人员一定要在测试工程师开始工作之前明确任务的意图,前提和结果。4. 版本控制前面说道的几点都是过程,个人技能方面的要求。这里我们要讨论的是纯粹的工程活动版本控制。对于版本控制这个概念大家都不陌生,它是软件配置管理的初期表现形式,来于于测试对稳定环境的要求。测试版本控制简单的说就是测试版本有明确的标识,说明。并且测试版本的交付是在项目管理人员的控制之下的。测试版本的标识用来识别所用的版本。版本号码的用处很多,例如在填写错误报告的时候往往需要提供发现错误的那个版本。在做缺陷分析时,我们可以利用版本号来区别缺陷和判断缺陷的发展趋势。测试版本的说明,它是开发人员和测试人员之间交流的有效形式。测试人员可以通过这份文档了解到当前的测试版本中就上一版本而言有那些显着的变化,明确了这些之后,测试人员可以更加高效,有针对性的执行测试。测试版本交付,测试版本的控制必须纳于测试管理人员的控制之下。常见的形式就是测试管理者控制测试版本的更新和发布。开发人员在看到错误报告之后,总是倾向于马上修正这些错误并且发布给测试工程师做验证。考虑到大多数的开发人员是典型的完美主义者,这样的做法无可厚非,但是过于频繁的版本更新会较低测试的效率。试想,如果你是一名测试工程师,当测试用例刚刚执行到一半的时候突然发布出一个新的测试版本,在这样的情况下,已经执行完毕的测试用例是否还需要再次执行一遍呢? 为了规避修改代码带来的副作用,我们有必要执行回归测试。质量是有保证了,但是效率较低了。测试在进度上被迫延迟了。所以测试版本的控制有助于保证进度和测试的效率。三。软件测试项目管理中遇到的问题和解决方案 问题一:缺乏项目管理系统培训相关对象:项目经理、管理人员问题说明:项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。有些学员说:“听了这些课才知道项目管理原来还有这么多的学问。”例如对于如何利用工作分解结构使项目的工作范围更加明确,如何用前导图法对活动进行排序并估算项目进度、制定项目进度计划,如何利用挣值法跟踪项目进度,项目经理的职责与必备素质、应具备的能力、工作方法,如何根据各种组织结构及其优缺点进行选择,如何对于风险进行定性定量分析等等,通过这次培训有了初步的掌握,将能够很快地应用到实际工作中。 问题点评:在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理(甚至很少是管理专业的),被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比较缺乏。因此项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。解决方案:实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。问题二:项目计划意识问题相关对象:项目经理问题说明:项目经理对总体计划、阶段计划的作用认识不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。问题点评:渐近明细是项目的特点,但这并不意味着不需要计划。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。在高技术行业,日新月异是主要特点,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。例如对于较为大型的软件开发项目的工作分解结构WBS可采用二次WBS方法。即根据总体阶段划分的总体WBS和专门针对详细设计或编码阶段的二次WBS。这其中部分的原因是需求的颗粒度在一开始往往是比较粗的,因此根据功能点对于整体项目规模的估计误差范围也是比较大的。更为重要的原因是,需求往往不是编码工作分解的准确依据,因为一个需求的功能点可能对应多个代码模块,而多个需求的功能点也可能只对应一个或少数代码模块,同时还有软件复用等因素要考虑,因此只有在概要设计完成以后才能准确地得到详细设计或编码阶段的二次WBS,根据代码模块的合理划分而得出的二次WBS才能在详细设计、编码阶段乃至测试阶段起到有效把握和控制进度的作用。有些项目的需求或设计做得不够详细,无法对工作任务的分解、均衡分配和进度管理起参考作用,对此应当及时改善。 制定计划的过程就是一个对项目逐渐了解掌握的过程,通过认真地制定计划,项目经理可以知道哪些要素是明确的,哪些要素是要逐渐明确的,通过渐近明细不断完善项目计划。阶段计划中包含的工作汇报和下一阶段工作安排是掌握项目进度的依据,从阶段计划对照总体计划,才能一目了然地看出工作的进展情况。制定计划的过程,也是在进度、资源、范围之间寻求一种平衡的过程。制定计划的精髓不在于写出一份好看的文档,而在于运用您的智慧去应对各种问题和面临风险并尽可能做出前瞻性的思考。一旦计划被负责任地完成,他就可以给自己一个和管理层或客户交流与协商的基础,帮助你在项目过程中防范各种问题的出现,帮助你保证项目按时完成。解决方案:提高项目经理的计划意识,采用项目计划制定相关各种知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。问题三、管理意识问题相关对象:项目经理问题说明:部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。问题点评:在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,项目管理经验也有待丰富。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。因此技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。 解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。问题四:沟通意识问题相关人员:项目经理、项目组成员问题说明:在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。问题点评:项目沟通管理指出:“管理者要用70的时间用于与人沟通,而项目经理需要花费90或更多的时间来沟通”。和问题三的情况类似,在软件企业中,项目经理大多是技术骨干,而项目组成员也都是“高科技人员”,都具有“从专业或学术出发、工作自主性大、自我欣赏、以自我为中心”等共同的特点。因此妨碍沟通的因素主要是“感觉和态度问题”,也就是沟通意识和习惯的问题。在系统的实施阶段或软件开发的试运行阶段,项目成员基本上是持续是在客户方进行工作,这种情况非常容易忽视沟通。项目组与组织之间、项目组与项目组成员之间,甚至同一个项目组的不同成员之间,都有可能在不同的地点,如果没有足够的沟通意识和沟通制度、沟通工具,就有可能造成信息不畅,从而加大项目失败的风险。即使都在公司内部也应做到及时沟通。所以项目经理不但自己要把工作重点放在沟通,善于沟通,还要引导、约定整个项目团队进行及时充分的沟通。 解决方案:制定有效的沟通制度和沟通机制,对由于缺乏沟通而造成的事件进行通报作为教训提醒,以提高沟通意识;沟通方式应根据内容而多样化,讲究有效率的沟通;通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。问题五:风险管理意识问题相关人员:项目经理问题说明:项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时常常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。问题点评:项目风险管理是对项目潜在的意外损失进行规划、识别、估计、评价、应对和监控的过程,是对项目目标的主动控制手段。采取主动行动,创造条件,尽量扩大风险的有利结果,以最少的成本保证安全、可靠地实现项目目标。因此项目风险管理对于保证项目目标的实现是非常重要的。 解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。 问题六:不重视项目经验的总结相关人员:项目经理、管理人员问题说明:项目经理在项目结束时有些是因为自身对写文档工作的兴趣或意识,或者是因为紧接着要参加下一个项目,总体对项目总结的重视程度不够。有些是项目总结报告一再拖延,有些是交上来的报告质量较低,敷衍了事。问题点评:项目经验总结非常重要,有利于组织内部或行业内部经验与数据的积累,项目过程的改进和技术与管理经验积累,对于今后的项目有非常重要的指导意义,因此应当引起项目经理及管理人员的足够重视。在项目管理的39个过程中,需要输入历史信息的就有9处之多。这些历史信息的来源从内部获得的主要来自以前项目的经验总

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论