金鹰培训计划-软件测试方法与项目流程介绍_第1页
金鹰培训计划-软件测试方法与项目流程介绍_第2页
金鹰培训计划-软件测试方法与项目流程介绍_第3页
金鹰培训计划-软件测试方法与项目流程介绍_第4页
金鹰培训计划-软件测试方法与项目流程介绍_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

2,培训流程,开场介绍/日程/参与原则课程讲授(一)测试基础知识简述(二)常用测试方法介绍(三)电信业务基本流程简介(四)常见的测试阶段简介回顾,3,参与原则,当自己的老师为错误欢呼偷取他人的妙点子Yes,and,测试基础知识简述,5,6,测试基本知识简述,问题1:为什么要做软件测试,测试的目的是什么?问题2:调试和测试的区别?测试人员主要工作有哪些?问题3:什么是缺陷?产生缺陷的原因有哪些?问题4:怎么才能发现更多的缺陷?,7,问题1:,WHY:最大限度的减少缺陷修复的成本软件测试的目的:验证检测防范反映验证:与SRS的符合程度,软件可能完成的特定任务检测:发现错误,不管在产品中还是过程中防范:在潜在问题出现之前鉴别它们反映:追溯问题并分析bug在产品中是如何产生的,学会如何在今后提高过程,8,问题2,调试:为开发人员调试是一个随时的不可重新的过程它用于隔离和确认问题发生的原因,然后修改软件来纠正问题,测试:为测试人员测试是一个有计划的,可重新的过程它用于发现与预先定义的规格和标准不符合的问题,9,问题2,a.检视代码,评审开发文档;b.进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);c.执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d.通过测试度量软件质量。等等,10,问题3,缺陷:既指静态存在与软件工作产品(文档、代码)中的错误,也指软件运行时由于这些错误被激发引起的和软件产品预期属性的偏离现象。常见的引入缺陷的原因:a.开发过程缺乏有效的沟通,或者没有进行沟通;b.软件复杂度越来越高;c.编程中产生错误;d.需求不断变更;e.项目进度的压力;f.不重视开发文档;g.软件开发工具本身隐藏的问题。等等,11,问题4,1、明确需求中单一的功能点2、明确功能的输入、处理和输出不同层次的状态,更多的关注单功能点在输入、处理和输出过程中的异常情况3、构造业务场景,进行功能和功能之间的组合,只考虑正常组合4、隐式需求的覆盖、数据库的分析与测试,12,需求和需求规格,需求:用户期望实现的功能需求规格:用户预期实现的功能有怎样的输入、处理、输出输入:参数个数、参数类型、参数长度、参数规则、参数来源、参数默认值、参数是否重复、参数是否允许为空(合法和非法)处理(正常和异常)输出:位置、内容、表现形式(将需求所描述的输出都有相应的输入和处理的覆盖),(二)常用测试方法介绍,14,黑盒测试,什么是黑盒测试:黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现;黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。黑盒测试又可以被称为基于规格的测试常见的黑盒测试类型:功能性测试;容量测试;负载测试;恢复性测试。,15,黑盒测试优缺点,黑盒测试的优点:对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高;测试人员不需要了解实现的细节,包括特定的编程语言;从用户的视角进行测试,很容易被大家理解和接受;有助于暴露任何规格不一致或有歧义的问题。黑盒测试的缺点:没有清晰的和简明的规格,测试用例是很难设计不能控制内部执行路径,会有很多内部程序路径没有被测试到;能直接针对特定的程序段,这些程序可能非常复杂(因此可能隐藏更多的问题)。,16,常见的11种黑盒测试用例设计方法,1、等价类划分法2、边界值分析法3、判定表法4、因果图法5、状态迁移法6、流程分析法7、正交试验法8、输入域测试法9、输出域测试法10、异常分析法11、错误猜测法,17,前四种方法介绍,1、等价类划分法2、边界值分析法3、判定表法4、因果图首先看是否存在独立的输入,然后用等价类、边界值将输入分为有效和无效若输入之间存在组合关系,则用判定表和因果图。,18,1、等价类划分法,问题1:等价类划分法能够解决什么问题?问题2:等价类划分法的优缺点是什么?答1:解决了如何对若干个独立的输入进行分析的问题答2:优点是简单易用,用尽量少的用例覆盖尽可能多的输入可能性;缺点是不考虑输入之间的组合,代表选取的不确定性使得缺陷被发现的可能演变的不准确,19,1、等价类划分法步骤,步骤:1、确认当前功能输入的个数2、对于每个输入单独构造等价类树3、设计一个测试用例要覆盖尽量多的有效等价类4、一个无效等价类只能对应一个测试用例注意:1、等价类划分法主要针对输入数据进行分析2、等价类针对每一个独立的输入进行有效和无效的划分3、等价类方法不考虑输入之间的组合,20,2、边界值分析法,问题1:边界值分析法能够解决什么问题?问题2:使用边界值分析法的条件是什么?答1:解决了等价类选取代表不明确的问题答2:该输入要存在边界,对输入已经做了等价类的划分,21,2、边界值分析法原则,1、输入(输出)条件规定了取值范围,则应该以该范围边界内以及边界附近的值作为测试用例;2、规定了值的个数,则用最大个数,最小个数,比min-1,max+1的数作为测试用例;3、输入或输出是一个有序的集合,选取有序集合的第一个和最后一个元素作为测试用例;4、如果程序使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例,22,3、判定表法,例1:如果金额超过500元,且未过期则发批准单、发提货单,过期则发通知单;如果不超过500元,则无论是否过期都发通知单,未过期另发提货单例2:GUI测试中的父选框和子选框(思考),23,3、判定表,适用范围:1、输入之间存在关系2、输入的不同组合会导致不同的输出结果适用条件:1、条件以及动作之间不存在顺序2、条件以及动作之间不存在约束关系,24,4、因果图,What:因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。Why:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。When:1、判定表中条件及动作之间的约束关系无法表法;2、当条件过多时,判定表构造用例的效率低,25,4、因果图-约束符号,条件异:条件a和条件b不能同时为真或为假条件或:条件a和条件b不能同时为假条件唯一:多个条件同时同一时刻当且仅当只有一个为真条件要求:要使条件b成立则必须满足条件a强制:要执行动作b必须先去执行动作a,26,4、因果图-约束符号,27,4、因果图符号,恒等:当条件c成立时,执行动作e非:当条件c不成立时,执行动作e或:当多个条件其中一个条件满足时,执行动作e与:当多个条件其中每个条件都满足时,执行动作e,28,4、因果图符号,29,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。,4、因果图举例,30,4、因果图,31,小结,等价类针对输入进行有效和无效的划分,对每一个独立的输入进行所有可能性的取值;但等价类划分选取的代表不明确,就要用边界值法来用更有效的去发现问题;前两种方法不考虑输入的组合,不同输入的组合会导致不同的结果,这就要考虑判定表法,它针对输入之间的组合以及不同的输入对应不同的输出结果进行覆盖;但是判定表的输入或输出是独立的,因果图法对于输入或输出中间对应的约束关系进行覆盖。,32,状态迁移图和流程分析法,判断业务的处理过程存在某个对象状态的变化时,可以首先选取状态迁移图法进行用例的设计判断业务的处理过程不存在某个对象状态的变化时,可以选取流程分析法进行用例的设计,33,5、状态迁移图,34,1、列出所有的状态2、列出状态之间的变化写出事件3、列出起点和终点4、从状态树画出测试路径5、根据测试路径设计测试用例6、编写非法测试用例,5、状态迁移图法步骤,35,状态迁移图,36,6、流程分析法,流程分析法是将软件系统的某个流程看成路径,用路径分析方法来设计测试用例根据流程的顺序依次进行组合,使得流程的各个分支都走到。这是从白盒测试中路径覆盖分析法中推广到黑盒测试中来的测试分析方法,37,6、流程分析法步骤,1、画出业务流程图2、设置功能路径优先级3、确定测试路径4、选取测试数据5、构造测试用例分为:基本事件流和备选事件流、特殊需求,38,7、正交试验法举例,例1:Google查询:1、语言:英语、汉语、日语、韩语、法语2、区域:中国大陆、中国台湾、中国香港、中国澳门3、文件格式:pdf、word、excel4、时间:任意时间、过去一周内例2:PowerPoint软件打印功能描述如下:打印范围分:全部、当前幻灯片、给定范围共三种情况;打印内容分:幻灯片、讲义、备注页、大纲视图共四种方式;打印颜色/灰度分:颜色、灰度、黑白共三种设置;打印效果分:幻灯片加框和幻灯片不加框两种方式。,39,7、正交试验法,正交分析法针对输入多,输入之间独立,输入内容的不同导致不同的结果,若完全覆盖全部的组合,则用例数目大。用正交试验法来降低用例数,用例数在有限的范围内覆盖尽量多的需求,40,7、正交试验法由来(了解),正交矩阵是任意两个输入的两两组合。如果在一个图中任意两个节点都是可达的,则这个图就是连通的。任意两个输入进行组合得到的测试用例没有发现缺陷,则三三,四四输入的组合发现问题的可能性极低。正交试验法,是从大量的试验点中挑选适量的,有代表的点,应用伽罗瓦理论导出的“正交表”,合理的安排试验的一种科学的试验设计方法。,41,7、正交试验法-正交表正交表:多因子二状态,42,7、正交试验法-正交表正交表:四因子三状态,43,7、正交试验法步骤,具体案例分析步骤:1、明确因子和状态2、经过加权筛选,得到因素分析表3、明确所使用的正交表(四四、四三、多二)4、构造因子布朗图,使实际功能对应的因子和正交表一致(多的合并、少的任取一个),44,8、输入域覆盖法,1、极端测试需要选择测试数据覆盖输入域的极端情况2、中间范围测试选择域内部的数据进行测试3、特殊值测试根据要计算的功能特性的基础来选择测试数据。尤其适用于数学计算。例:Sin()函数的周期,45,9、输出域覆盖法,1、前提:对业务一定要非常熟悉2、分析各输出的等价类,通过选择那些会导致各个输出的等价类被达到的输入点来执行测试期望达到输出域等价类的覆盖;3、分析各输出的边界,通过选择那些会导致各个输出的边界值被达到的输入点来执行测试。这保证了系统功能已经被检查了最大和最小的输出条件,并且如果可能的话,所有错误信息的分类都已经被产生过了。,46,10、异常分析法,异常分析法就是针对系统可能存在的异常操作,软硬件缺陷引起的故障进行分析。主要针对系统的容错能力,故障恢复能力进行测试,47,11、错误猜测法,错误猜测法是根据经验猜想可能有什么问题,并以此设计测试用例错误猜测法只能作为测试设计的补充而不能单独用来设计测试用例,否能会造成测试的不充分,48,11、错误猜测法,1、查看历次项目的缺陷库2、了解程序开发易犯错的地方3、需求变更频繁的地方4、代码走读,语言易于犯错的地方1)使用了未被初始化的内存(系统崩溃)2)读取越界(返回不正确)3)程序中的数字,未被定义为常量(魔鬼数字)4)内存泄漏(文件打开未关闭、内存申请未释放、临界资源的占用),(三)电信业务基本流程简介,50,开户_openNewPhone,51,个人业务套餐变更_换基本产品,52,普通缴费_Pay,(四)常见的测试阶段简介,54,常见的测试阶段,单元测试集成测试系统测试自动化测试回归测试用户测试,55,单元测试,单元测试,英文是UnitTesting。单元测试是最微小规模的测试;以测试某个功能或代码块。典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。这个工作不容易做好,除非应用系统有一个设计很好的体系结构;还可能需要开发测试驱动器模块或测试套具。,56,集成测试,集成测试,英文是IntegrationTesting。集成测试是指一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作并没有冲突。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。一般集成测试以前,单元测试需要完成。,57,系统测试,系统测试,英文是SystemTesting。系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。,58,自动化测试,自动化测试,英文是AutomatedTesting。使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试和功能测试中用得较多。通过录制测试脚本,然后执行这个

温馨提示

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

评论

0/150

提交评论