浅谈软件测试工作V2.ppt_第1页
浅谈软件测试工作V2.ppt_第2页
浅谈软件测试工作V2.ppt_第3页
浅谈软件测试工作V2.ppt_第4页
浅谈软件测试工作V2.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

周坤鹏 2010年9月29日,浅谈软件测试工作,企业本部一体化管理培训,提 纲,测试在目前项目中的重要性,(1)可比性强:市场上同行业的软件越来越多,可比性越来越强,例如中华医学会杂志社编辑部中使用的稿件管理系统就有45套.用户对软件质量和操作性的要求也越来越高.缺乏质量的产品在实施过程中用户的态度会变为不满意甚至是不信任。 (2)需求不明确:作为软件设计依据的软件需求,在开发的初期提得不够明确,或者未能做出确切的表达。开发工作开始后,软件人员又未能和用户及时的交换意见,使得一些问题得不到及时解决而隐藏起来,造成开发后期矛盾的集中暴露。导致对多个错综复杂的问题既难于分析,又难于解决。 (3)集成度越来越高:随着用户业务的发展,软件的规模也逐步增大,软件的级程度与复杂性越来越强,经常出现修改一个问题连带需要修改多个模块的其他功能的现象. (4)前期测试不够:再项目的前期,也就是需求和开发阶段,对软件的测试力度不购,再加上进度上的压力,导致将问题一步步积累下来,造成后期解决上的难度和修复成本的增加。,目前项目执行中反映出的问题,测试在项目中的重要性,软件系统的开发包括一系列生产活动,在整个过程中会不断地引进缺陷,包括操作系统本身的缺陷,开发工具带来的缺陷,其中最主要的是由于人带来的错误因素非常多,错误可能出现在软件开发过程中的各个阶段,比如需求描述不完整,人员之间交流不够,理解上有偏差甚至不交流,所以尽管在开发过程中使用了许多保证软件质量的方法和技术,但是开发出来的软件还是会隐藏许多的缺陷,对于规模大,复杂性高的项目更是如此。因此测试工作对于软件项目来说是必不可少的.,软件开发必然会伴随质量问题,软件测试必不可少,测试在项目中的重要性,根据IBM公司的研究结果表明如果及早发现缺陷,修复的费用相对较低,假定需求阶段修复一个缺陷需要花费1个货币单位的话,各阶段修复缺陷所需要的费用比例如下表,测试对项目成本的影响,提 纲,测试常用工具介绍,测试方法和流程,测试方法和流程,1. 黑盒测试 黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。常用的测试技术有边界值法、等价类法、因果图与判定表法、状态图法、场景法等等。 黑盒测试的优点有: 1)比较简单,不需要了解程序内部的代码及实现; 2)与软件的内部实现无关; 3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 5)在做软件自动化测试时较为方便。,常用的软件测试方法,测试方法和流程,2.白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。常用的技术有语句覆盖、条件覆盖、逻辑覆盖等等。 白盒测试的优点有: 1)可以检测代码中的每条路径和分支 2)揭示隐藏在代码中的错误 3)对代码的测试进行比较彻底,常用的软件测试方法,测试方法和流程,1.基于风险测试 基于风险的测试是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。对系统中的功能主义定级,评估如果一个功能出了问题,它对整个产品的影响有多大,这个功能出问题的概率有多大?如果出问题的概率很大,出了问题对整个产品的影响也很大,那么在测试时就一定要覆盖到。对于一个用户很少用到的功能,出问题的概率很小,就算出了问题的影响也不是很大,那么如果时间比较紧的话,就可以考虑不测试。 2.冒烟测试 冒烟测试是对模块的某个或某几个核心功能进行测试。一旦测试无法通过则停止该模块其他功能的测试。执行冒烟测试的目的是对要测试的产品进行一个大概的度量。如果冒烟测试不能通过,通常不会启动测试计划。因为软件缺陷较多的情况下,启动测试计划会浪费更多的人力和物力。这些缺陷应该在开发阶段消灭,只有这样才可以真正的节约成本。,常用的软件测试策略,测试方法和流程,各阶段的主要任务 需求阶段:测试人员根据用户需求提取 测试需求,明确测试点并制定测试计划 设计阶段:测试人员依据测试需求设计各 阶段测试用例 编码与单元测试阶段:实施单元测试并跟 踪缺陷 继承测试阶段:实施集成测试并跟踪缺陷 系统测试阶段:实施系统测试并跟踪缺陷 验收测试阶段:实施验收测试并向用户提 交测试报告 结项总结结算:提交测试工作总结,测试方法和流程,具体的测试流程,重点步骤: 冒烟测试:减少测试成本的浪费 BUG跟踪:跟踪并管理缺陷 回归测试:对修复的缺陷进行验证,提 纲,测试常用工具介绍,版本控制常用测试工具介绍,常用测试工具测试用例,版本控制常用测试工具介绍,常用测试工具QuickTest Professional,QuickTest Professional(QTP)是Mercury公司的主流功能测试工具产品,它通过录制、检测和回放用户与应用程序的交互操作,达到对系统功能进行的是的目的。 1.录制脚本 QTP可以将测试人员对应用程序的每一步操作自动以特定的脚本语言记录下来,脚本录制完毕后,测试人员还可以根据需要在脚本中添加一些其它功能,比如创建检查点,进行参数化和增加测试语句等等。 2.检测 QTP可以按测试人员录制或编写的脚本对程序执行必要的检查,除了可以检测系统功能之外还可以检测页面中的文字或图像是否出现在正确的位置,数据库中数据的值是否符合要求等等。同时可以针对每个录制或定制的脚本生成单独的报告。 3. 回放 QTP可以对录制或定制的脚本进行回放,方便测试人员不断的对脚本进行调整以达到最佳的测试效果。,版本控制常用测试工具介绍,QuickTest Professional的优点,QTP的特别适用于回归测试和冒烟测试过程,可以节省大量的人力资源.其主要的优点体现在: (1)对程序的回归测试更方便。特别是在程序修改比较频繁时,效果是非常明显的。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。 (2)可以运行更多的测试。自动化测试工具QTP的一个明显的好处是可以在较少的时间内运行更多的测试。 (3)更好地利用资源。将测试技术人员从繁琐的手工录入数据中解脱出来投入更多精力设计更好的测试用例。 (4)测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。 (5)增加测试信任度。由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。一旦软件通过了自动测试后,软件的信任度也自然会增加。,版本控制常用测试工具介绍,主界面,版本控制常用测试工具介绍,录制脚本,版本控制常用测试工具介绍,检测,版本控制常用测试工具介绍,回放,版本控制常用测试工具介绍,常用测试工具LoadRunner,LoadRunner是Mercury公司一种预测系统行为和性能的负载测试工具,其应用和性能解决方案占据全球超过53%的市场份额。LoadRunner通过模拟成千尚未的用户来发现和确认系统性能上存在的问题。LoadRunner主要包括三大功能模块 1.创建和编辑脚本 测试人员可以使用该模块录制和维护脚本,可以对脚本进行参数化和检查点设置,控制响应时间,交易频率,用户思考时间和连接速度等多个功能。 2.创建测试场景 测试人员可以利用此模块模拟真实业务场景 并执行脚本。Loadrunner允许测试人员根据需求创建不同的场景。每个场景都相当于一套负载测试方案,另外LoadRunner还提供了集合点和ip欺骗等多种功能,让测试过程更加真实的反映应用实际运行情况。满足多数应用程序的需求。 3.测试结果分析 LoadRunner可以将所有的测试数据收集汇总起来,自动保存在事先设定的结果目录中,LoadRunner提供的分析和报告工具可以分析测试结果并以各种表格和图形方式显示,方便测试人员分析并查找系统瓶颈,同时可以自动生成详细的性能测试报告,报告的内容可以由测试人员根据需要定制。,版本控制常用测试工具介绍,LoadRunner的优点,LoadRunner是企业级的性能测试工具,其优点体现在: (1)LoadRunner 几乎支持 40 个协议 多于其他任何供应商。它包括 Web、J2EE、 .NET、XML、ERP/CRM、无线、Citrix 和客户端 服务器应用程序。 (2)LoadRunner 的非侵入性的、实时的性能监控为测试中系统的所有部分提供的 详细指标。这包括 Web 服务器、应用程序服务器、数据库、ERP 和 CRM 系统、防 火墙、负载平衡等。 (3)提供单独的分析报告工具,可以较为详细对数据结果进行统计分析,可以自动生 成报告,并可以自动生成各类图表。 (4)界面友好性较强,容易上手,适合于非技术人员操作,版本控制常用测试工具介绍,主界面,版本控制常用测试工具介绍,录制脚本,版本控制常用测试工具介绍,录制脚本,版本控制常用测试工具介绍,设计场景,版本控制常用测试工具介绍,测试报告,版本控制常用测试工具介绍,图表,版本控制常用测试工具介绍,缺陷跟踪工具JIRA,JIRA 是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪及管理软件工 具,可以对各种类型的问题进行跟 踪管理,包括缺陷、任务、需求、改进等。 JIRA 采用 J2EE 技术,能够跨平台部署。 它正被广泛的开源软件组织,以及全 球著名的公司使用。 目前,已有来自 109 个国家 14,400 多家用户在使用 JIRA。 主要的功能包括如下: 1)问题追踪和管理:用它管理项目,跟踪任务、bug、需求, 2)问题跟进情况的分析报告:可以随时了解问题和项目的进展情况 3)项目类别管理功能:可以将相关的项目分组管理 4)组件/模块负责人功能:可以将项目的不同组件/模块指派相应的负责人进行管理 5)可订制的工作流:可以创建多个工作流为不同的项目使用; 6)快速搜索和JQL高级查询功能。 7)子任务功能:可以在某个Issue下创建子任务; 8)共享过滤器功能:一个团队成员可以访问共享的过滤器; 9)与CVS、SVN,ClearCase, 的集成;通过IDE连接器,可以将JIRA集成到Eclipse、 IntelliJ IDEA、MS Visual Studio。 。,版本控制常用测试工具介绍,缺陷跟踪工具JIRA,版本控制常用测试工具介绍,缺陷跟踪工具JIRA,问题类型,问题 解决 状态,提 纲,测试常用工具介绍,对部门测试工作的构想,开展测试工作首先需要建立测试组,并对每个组员定岗定责 1.测试主管:负责测试工作的日常管理和对组员的技能培训 2.测试经理:负责具体项目的测试工作,包括控制进度,用例的评审与抽查等等。 3.测试工程师:设计和执行用例,并根据执行结果编写测试报告和对缺陷进行跟踪。,建立测试团队和划分岗位,对部门测试工作的构想,软件产品测试和软件项目测试侧重点不同,软件产品测试侧重市场定位、操作的便捷性和扩展性。对于质量的要求比较广泛,对于功能、流程的设计和进度的控制相对弱化。 项目是为特定用户的特定需求进行的临时的一次性努力。它侧重在有限资源,有限时间为特定用户完成的工作。对于进度的要求相对严格,项目测试的侧重点在于功能和流程。 目前部门主要以软件项目为主,因此测试工作要以项目为核心,工作的重心是在不影响项目进度的前提下重点保证软件功能与流程的质量。对测试人员的技能要求重点放在业务流的分析和功能覆盖方面。,明确以项目为核心开展测试工作,对部门测试工作的构想,定义测试规范与流程,规范性文档,对部门测试工作的构想,定义测试规范与流程,规范性文档,对部门测试工作的构想,定义测试规范与流程,流程规范,对部门测试工作的构想,(1)建立缺陷报告制度 在项目中测试人员每天及时向项目经理和开发经理提交测试报告。真实反映目前系统存在的问题,方便开发人员尽早解决。 (2)建立缺陷跟踪机制 对于发现的缺陷,启动缺陷跟踪机制,对缺陷逐一确定严重程度和修复的优先级别,方便项目经理对项目进度和质量的掌控。同时跟踪缺陷的整个修复过程,直至缺陷关闭。,建立缺陷报告和缺陷跟踪机制,对部门测试工作的构想,(1)建立日常工作管理制度 例会 、用例抽查,绩效考核等等 (2)建立学习制度 测试组成员相互交流经验,鼓励组员参加各类测试相关技能的培训课程。,建立日常管理和学习制度,提 纲,测试员工职业发展,测试员工发展方向,(1)国外:软件测试已成独特市场 在2009年8月22日举办的“首届中国软件测试与软件产业发展战略研讨会”上,美国著名软件质量分析师贺越明介绍了国外的情况,在软件业较发达的国家,软件测试不仅早已成为软件开发的一个有机组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。以美国的软件开发和生产的平均资金投入为例,通常是:“需求分析”和“规划确定”各占百分之三,“设计”占百分之五,“编程”占百分之七,“测试”占百分之十五,“投产和维护”占百分之六十七。测试在软件开发中的地位,由此可见一斑。 与此同步的是,软件测试市场已成为软件产业中的一个独特市场。在美国硅谷地区,凡是软件开发企业或是设有软件开发部门的公司,都有专门的软件测试单位,其中软件测试人员的数量相当于软件开发工程师的四分之三。在这些公司或部门中,负责软件测试的质量保证经理的职位与软件开发的主管往往是平行的。据了解,在软件产业发展较快的印度,软件测试在软件企业中同样拥有举足轻重的地位。,软件测试行业现状,测试员工发展方向,(2)国内:处于起步阶段 我国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的。由于起步较晚,与国际先进水平相比差距较大。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也越来越被软件企业所重视,软件测试正在逐步成为一个新兴的产业。从目前来看,可主要从四个方面来分析我国测试行业的现状。 1.软件测试重要性和规范性不断提高 2.从手工向自动化测试方式的转变 3.测试人员需求逐步增大,素质不断提高 4.测试服务体系初步形成,软件测试行业现状,测试员工发展方向,由于国内测试行业还处于起步阶段,所以大家对测试工程师这个职业的发展前景还不明确。其实,开发有什么样的岗位,测试也有就相对应的岗位,比如开发有架构师,测试也有测试架构师,也需要从整体架构考虑怎么做测试。国内公司一般会有初级、中级、高级测试工程师、项目经理、部门经理。当然也有一些公司已经有比较完善的体系,比如性能测试领域,除了初级、中级、高级测试人员之外,还有测试专家,性能测试分析师,架构师。近几年国内的测试行业也在逐步规范,分工越来越细,相信测试行业发展也会越来越好。 媒体报道,国内开发人员与测试人员的比例是81,而国际公认的行业标准实际上是11,这一点上国内测试行业与国外的差距比较大。实际上,为了保证软件质量,从项目开始测试人员就要介入,要了解客户需求,参与项目评审,把握测试要点。如果测试人员数量少,软件质量是得不到保证的。因此测试行业的确需要大量人才,尤其是性能测试。,软件测试行业现状,测试员工发展方向,“软件测试人员一般有三大发展方向。”微软公司的陈宏刚博士介绍说,一是走软件测试的技术路线,成长为高级软件测试工程师。二是向管理方向发展,从测试工程师到组长,再到测试经理,以至更高的职位。三是可以换职业,做项目管理或做开发人员。经过软件测试岗位洗礼的人才往往是行业中的多面手,在技术、管理、市场甚至其他非IT领域都能得到良好的发展。,软件测试人员的职业发展方向,测试员工发展方向,“软件测试人员一般有三大发展方向。”微软公司的陈宏刚博士介绍说,一是走软件测试的技术路线,成长为高级软件测试工程师。二是向管理方向发展,从测试工程师到组长,再到测试经理,以至更高的职位。三是可以换职业,做项目管理或做开发人员。经过软件测试岗位洗礼的人才往往是行业中的多面手,在技术、管理、市场甚至其他非IT领域都能得到良好的发展。 1)测试初级阶段: 测试工程师,属于软件测试职业生涯的初级域,其适用范围是入行软件测试3年内的常规测试从业者,其主要工作内容是按照测试主管(即直接上司)分配的任务计划,编写测试用例、执行测试用例、提交软件缺陷,包括提交阶段性测试报告、参与阶段性评审等。 2)管理+技术路线: 首先是常规路线,这条发展路线要求管理与技术并重,因为软件测试的行业特点决定了这个因素:测试工程师向上晋升到测试主管、测试经理、测试总监,直至咨询域的更高方向!,软件测试人员的职业发展方向,测试员工发展方向,3)技术路线: 3.1)技术路线中级域: 技术路线,划分为三个半方向,分别是自动化测试工程师、白盒测试工程师、性能测试工程师和认证测试工程师;前三者适用于通用软件测试领域,认证测试工程师乃嵌入式测试领域职

温馨提示

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

评论

0/150

提交评论