软件测试人员培训版课件_第1页
软件测试人员培训版课件_第2页
软件测试人员培训版课件_第3页
软件测试人员培训版课件_第4页
软件测试人员培训版课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

软件测试培训教程产品研发部软件测试培训教程产品研发部1软件测试理论基础软件测试理论基础2定义:软件测试就是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程。软件测试应该是对软件形成过程的文档,数据以及程序进行的测试,而不仅是对程序进行的测试。60%以上的软件错误并不是程序错误,而是分析和设计的错误,提倡软件全生命周期测试的理念。软件测试定义定义:软件测试就是为了发现错误而审查软件文档、检查软件数据和3软件测试的目的想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。

测试能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据测试不能表明软件中不存在错误,它只能说明软件中存在错误软件测试的目的想以最少的时间和人力,系统地找出软件中潜在的各4所有的软件测试都应追溯到用户需求。应当把“尽早地和不断地进行软件测试”作为软件测试者的座右铭。完全测试是不可能的,测试需要终止。测试无法显示软件潜在的缺陷。也就是说测试只能证明软件存在错误而不能证明软件没有错误。软件测试的原则所有的软件测试都应追溯到用户需求。软件测试的原则5软件测试的对象根据软件定义,软件包括程序,数据和文档,所以软件测试并不仅仅是程序测试,软件测试应该贯穿整个软件生命周期中。

需求分析,概要设计,详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序。软件测试的对象根据软件定义,软件包括程序,数据和文档,所以软6软件测试的对象软件测试的对象7了解软件工程,熟悉软件测试过程和标准,熟悉配置管理技术和工具能够编制测试计划、设计测试用例、编写Bug报告和测试总结报告、使用测试工具、开发测试脚本熟练使用Windows或Unix或Linux操作系统了解业务领域(ERP、OA、……)熟练掌握至少一种以上的测试工具,如TestDirector、QTP、LoadRunner、Robot企业需要怎样的测试人才?了解软件工程,熟悉软件测试过程和标准,熟悉配置管理技术和工具8

一般的,我们将软件测试活动分为以下几类:黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、自动测试软件测试分类一般的,我们将软件测试活动分为以下几类:软件测试分类9黑盒测试又叫功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试类别注重于测试软件的功能性需求。测试工程师无需了解程序代码的内部构造,完全模拟软件产品的最终端用户使用该软件,检查软件产品是否达到了用户的需求。如图1-4所示为黑盒测试实例图。黑盒测试能更好的从用户角度来考察被测系统的功能性需求实现情况。软件测试分类—黑盒测试测试用例测试结果图1-4黑盒测试示例图黑盒测试又叫功能测试、数据驱动测试或基于需求规格说明书的功能10白盒测试又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。白盒测试需要测试工程师深入考查程序代码的内部结构、逻辑设计等。就像前面的例子,我们拆开手机,观察手机电路板的设计,液晶屏的构成等。对于白盒测试工程师来说,软件产品的内部结构是敞开的。如图1-5所示是白盒测试示例图。软件测试分类—白盒测试程序内部结构测试用例测试结果图1-5白盒测试示例图白盒测试又称结构测试、逻辑驱动测试或基于程序代码内部构成的测11灰盒测试介于白盒和黑盒测试之间。灰盒测试一方面考虑程序代码的功能性表现,另一方面,又需要考虑程序代码的内部结构。通俗地讲,灰盒测试就是白加黑。像我们的性能测试,自动化功能测试就是采用了灰盒测试的方法。图1-6是灰盒测试的示例图。软件测试分类—灰盒测试测试用例测试结果图1-6灰盒测试示例图灰盒测试介于白盒和黑盒测试之间。软件测试分类—灰盒测试测试用12定义:静态的、不执行被测对象程序代码而寻找缺陷的过程。在进行静态测试时可采用一些代码走查工具,如QAC++、C++Test等。软件测试分类—静态测试定义:静态的、不执行被测对象程序代码而寻找缺陷的过程。软件测13实际的执行被测对象的程序代码,输入实现设计好的测试用例,检查程序代码运行得到的结果与测试用力中设计的预期结果之间是否有差异,判定实际结果与预测结果是否一致。动态测试有四部分组成:设计测试用例、执行测试用例、分析比较输出结果、输出测试报告。动态测试有三种主要方法:黑盒测试、白盒测试和灰盒测试软件测试分类—动态测试实际的执行被测对象的程序代码,输入实现设计好的测试用例,检查14它是测试人员设计测试用例并执行测试用例,然后根据实际的结果去和预期的结果相比较并记录测试结果,最终输出测试报告的测试活动。可充分发挥测试工程师的主观能动性,将其智力体现在测试工作中,能发现许多的缺陷,但同时又有一定的局限性和单调枯燥性。软件测试分类—手动测试它是测试人员设计测试用例并执行测试用例,然后根据实际的结果去15定义利用测试工具,模拟用户业务使用流程,让他们自动运行来查找缺陷。优点快、广泛、可重复性工作缺点只可检查比较主要的问题,如崩溃、死机,无法发现一般的日常错误。编写脚本工作量也很大,有时会超过手动测试时间。我们要根据实际情况选择或者不选择测试工具,选择使用何种测试工具,不能为了实用工具而可以的去使用工具。软件测试分类—自动化测试定义软件测试分类—自动化测试16软件测试流程软件测试流程17软件测试虽然是软件生存周期的一个独立阶段,但测试工作却渗透到从分析、设计直到编程的各个阶段中(1-7是软件测试所经阶段的一般流程)。需求测试、单元测试、集成测试、系统测试、性能测试、用户测试、回归测试软件测试流程图需求测试单元测试集成测试系统测试性能测试用户测试回归测试图1-7软件测试流程图软件测试虽然是软件生存周期的一个独立阶段,但测试工作却渗透到18又称模块测试,就是对程序代码中最小的涉及模块单元进行测试。

在单元测试中我们主要采用静态测试与动态测试相结合的办法。单元测试要求需要几年的代码编写经验,并且要十分熟悉当前的被测系统,以及该系统是否与其他系统的接口关联情况。单元测试在编码阶段占据非常重要的地位。可以降低编码的错误率,提高编码质量单元测试又称模块测试,就是对程序代码中最小的涉及模块单元进行测试。单19又称组装测试,是将软件产品各个模块组装起来,检查接口是否存在问题,以及组装后的整体功能、性能表现。一般可采用非增式集成方法、增式集成方法(自底向上集成、自顶向下集成、组合方式集成)等策略进行测试,利用一黑盒测试为主,白盒测试为辅的测试方法进行测试。主要解决各个组成但源代码是否符合开发规范、接口是否存在问题,整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求等。集成测试又称组装测试,是将软件产品各个模块组装起来,检查接口是否存在20回归测试是经过一段时间以后再回过头来对以前修复过的Bug重新进行测试,看该Bug是否会重新出现。有些时候可采用自动化测试工具来进行回归测试,如利用QTP一般情况下,都由测试工程师手动的执行一千的测试用例。来检查用例通过情况。回归测试回归测试是经过一段时间以后再回过头来对以前修复过的Bug重新21软件测试工作流程软件测试工作流程221、人员构成

测试主管、测试组长、环境保障人员、配置管理员、测试设计人员、测试工程师测试部门组织结构测试主管测试组长环境保障人员软件测试部配置管理员测试设计人员测试工程师图1-9测试部人员结构图1、人员构成测试部门组织结构测试主管测试组长环境保障人员软件23项目管理技术人员要求掌握一般的项目管理知识,如配置管理、版本控制、评审管理、项目实施与进度控制等。资源构成测试部门组织结构硬件资源软件测试部软件资源技术支持图1-11测试部资源构成图项目管理技术人员测试部门组织结构硬件资源软件测试部软件资源技24测试用例编写测试工作流程测试组长测试小组测试工具分配任务编写用例图1-17部署测试用例编写任务流程图测试用例编写测试工作流程测试组长测试小组测试工具分配任务编写25测试开展阶段搭建测试环境—测试组长,可根据说明说中的软件产品运行环境配置要求搭建。测试环境最好与开发环境分开文档引入—工作日报、功能测试报告、性能测试报告等模板执行测试—根据项目的Bug管理流程,经过多次的版本迭代,完成测试工作。测试工作流程测试开展阶段测试工作流程26测试输出阶段测试计划测试方案测试用例测试工程师的工作日报功能测试报告性能测试报告测试工作流程测试输出阶段测试工作流程27软件测试用例设计方法软件测试用例设计方法28什么是测试用例测试用例(

TestCase)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。什么是测试用例29测试用例包含要素每个具体测试用例都将包括下列详细信息:编制人、审定人、编制日期、版本、用例类型、设计说明书编号、用例编号、用例名称、输入说明、期望结果(含判断标准)、环境要求、备注等。具体可以参考建行测试用例模板测试用例包含要素每个具体测试用例都将包括下列详细信息:编制人30黑盒测试案例设计技术测试用例设计:将软件测试的行为活动,作为一个科学化的组织归纳。测试用例:设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果。因为我们不可能进行穷举测试,为了节省时间和资源、提供测试效率,必须从数量极大的可用测试数据精心挑选出具有代表性或者特殊性的测试数据来进行测试。

黑盒测试案例设计技术测试用例设计:将软件测试的行为活动,作为31测试测试用例的好处在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。在软件版本更新后只修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周期。功能测试模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。测试测试用例的好处在开始实施测试之前设计好测试用例,可以避免32常见黑盒测试用例设计方法等价类划分法边界值分析法错误推测法因果图法判定表驱动法正交试验设计法功能图法场景法常见黑盒测试用例设计方法等价类划分法33等价类表输入条件有效等价类无效等价类是否三角形的3条边(A>0)(1)(B>0)(2)(C>0)(3)(A+B>C)(4)(B+C>A)(5)(A+C>B)(6)(A≤0)(7)(B≤0)(8)(C≤0)(9)(A+B≤C)(10)(B+C≤A)(11)(A+C≤B)(12)是否等腰三角形(A=B)(13)(B=C)(14)(C=A)(15)(A≠B)and(B≠C)and(C≠A)(16)是否等边三角形(A=B)and(B=C)and(C=A)(17)(A≠B)(18)(B≠C)(19)(C≠A)(20)等价类表输入条件有效等价类无效等价类(A>0)34设计测试用例设计测试用例35软件缺陷软件缺陷36什么是软件缺陷符合下面

5条规则之一的问题称为软件缺陷:1、软件未达到产品说明书标明的功能。2、软件出现产品说明书指明不会出现的错误。(如果软件含有产品说明中根本没有存在的功能,这是缺陷)3、软件功能超出产品说明书指明的范围。4、软件未达到产品说明书未指出但应达到的目标。(产品说明书虽然没有提到,但是按照常理应该达到的功能)5、软件测试人员或用户认为软件难以理解,不易使用,运行速度缓慢等问题。什么是软件缺陷符合下面5条规则之一的问题称为软件缺陷:37缺陷的生命周期简单周期:

测试员找到并登记软件缺陷,软件缺陷移交到程序员=>程序员修复软件缺陷,软件缺陷移交到测试员=>测试员确定软件缺陷被修复,测试员关闭软件缺陷。缺陷的生命周期简单周期:38缺陷的生命周期复杂周期:发现缺陷(测试员发现并登记缺陷,软件缺陷转到程序员)=>软件缺陷移交到项目管理员=>(以不修复形式解决)项目管理员认为软件缺陷不重要,软件缺陷移交到测试员=>重新激活缺陷(测试员不同意,找出通用失败案例,软件缺陷移交到项目管理员)=>项目管理员同意缺陷需要修复,缺陷转给程序员=>以修复形式解决(测试员确认软件缺陷得以修复,测试员关闭软件缺陷)=>缺陷关闭缺陷的生命周期复杂周期:39报告缺陷的要点复杂周期:发现了软件缺陷,需要记录下来,不但要记录结果,同时需要详细描述发现的步骤,以备程序员重现问题,并解决它。要求报告写的清楚明了和准确。有时利用截屏技术把当时的情况保存成图片,可以达到一图胜千言的效果。报告缺陷的要点复杂周期:40缺陷的严重性分类A类——致命性:不能完全满足系统要求,基本业务功能未实现系统崩溃、不稳定或挂起等导致系统不能继续运行、导致系统出现不可预料的严重错误的问题。缺陷的严重性分类A类——致命性:41缺陷的严重性分类B类——严重错误:严重地影响系统要求或基本功能的实现,且没有办法更正(重新安装或重新启动不属于更正办法)。使系统不稳定、破坏数据、产生错误结果,部分功能无法执行。缺陷的严重性分类B类——严重错误:42缺陷的严重性分类C类——一般性错误:

1、界面错误。

2、非重要功能无法正确执行,实现不正确,实现不完整,但不影响功能

3、非严重性产生错误结果,但不影响一起功能。

4、正确性不受影响,但系统性能和响应时间受到影响。缺陷的严重性分类C类——一般性错误:43缺陷的严重性分类D类——轻微错误:使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能,或对最终结果影响有限的问题。缺陷的严重性分类D类——轻微错误:44缺陷的严重性分类E类——测试建议:不影响系统运行,对系统的可用性等提示的建议性的问题。例如:

1、系统各个位置初始值的建议。

2、流程优化建议等等。缺陷的严重性分类E类——测试建议:45缺陷分析报告可以将缺陷计数作为时间的函数来报告,即创建缺陷趋势图或报告;也可以将缺陷计数作为一个或多个缺陷参数的函数来报告,如作为缺陷密度报告中采用的严重性或状态参数的函数。这些分析类型分别为揭示软件可靠性的缺陷趋势或缺陷分布提供了判断依据缺陷分析报告可以将缺陷计数作为时间的函数来报告,即创建缺陷趋46软件测试的技巧软件测试的技巧47需求测试回归测试错误处理测试支持手册的测试系统兼容测试控制性测试并行测试功能测试技巧需求测试功能测试技巧48目标程序修改后,确保功能的正确性如何使用重新测试应用程序中没有改变的部分例子重新执行以前的测试用例什么时间使用当新的程序有可能影响老的功能的时候回归测试目标回归测试49目标检验当使用适当的参数和数据时,需要的信息可以在两个系统中正确的交换如何使用文件和数据被用来在多系统之间传递。例子典型的由一个系统到另一个系统的数据交换程序。什么时候使用当两个应用程序之间的参数有可能发生变化的时候兼容性测试目标兼容性测试50测试计划测试计划51定义测试目标开发测试矩阵软件模型结构特性批量测试的阶段和用例为在线系统作概念上的测试脚本软件测试矩阵定义测试管理测试计划的一般性信息定义测试里程碑定义管理上的检查点书写测试计划建立测试计划定义测试目标建立测试计划52正式评审中的角色缓和剂(SQA)读者记录者作者检测员正式评审发现的缺陷应包含的信息起因类型分类级别评审测试计划正式评审中的角色评审测试计划53计划和组织

温馨提示

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

评论

0/150

提交评论