软件测试基础ppt课件.ppt
软件测试基础,2005 iSoftStone Information Service Corporation.All rights reserved.,2005 iSoftStone Information Service Corporation.All rights reserved.,2,基本测试流程,掌握软件测试的基本概念掌握黑盒测试概念和方法掌握白盒测试概念和方法,2005 iSoftStone Information Service Corporation.All rights reserved.,3,第一章 软件测试基本概念,软件测试的定义 软件测试的目的和原则 软件测试的对象 软件测试的输入与输出 软件测试与软件开发的关系,2005 iSoftStone Information Service Corporation.All rights reserved.,4,1.1 软件测试的定义,软件测试是在软件投入正式运行前对需求分析、设计和编码的结果进行复查的活动;软件测试是根据开发各阶段的需求、设计文档和代码精心设计一批用例,利用这些测试用例去运行程序,以及发现程序错误的过程。,2005 iSoftStone Information Service Corporation.All rights reserved.,5,1.2 软件测试的目的和原则,目的:发现软件开发各阶段的问题尽早地、不断地进行软件测试;明确测试输入预置条件和与之对应的预期输出结果;避免测试自己编写的程序;在测试设计时应充分考虑异常的输入情况;充分考虑程序测试中的群集现象,80的错误集中在20的程序模块;排除测试的随意性;对测试结果做全面检查;妥善保存测试计划,测试用例,出错统计和最终分析结果;所有的测试应该追溯到用户需求;测试应该从小规模开始,逐步转向大规模即渐增式build测试。,2005 iSoftStone Information Service Corporation.All rights reserved.,6,1.3 软件测试的对象,软件测试不仅仅局限于软件程序的测试,测试活动贯穿于软件开发过程的整个周期中。因此,需求分析、概要设计、详细设计以及编码各阶段所得到的交付件,包括设计文档,源代码,应用程序乃至随软件版本发布的资料,都是软件测试的对象。,software,document,code,user manual,2005 iSoftStone Information Service Corporation.All rights reserved.,7,1.4 软件测试的输入与输出,测试,结果分析,排错,可靠性分析,度量分析,软件配置,测试配置,测试工具,测试结果,预期结果,错误,改正的软件,预测的可靠性,需改进措施,软件配置:软件需求规格说明书软件设计说明书源代码,测试配置:测试计划测试用例测试环境测试辅助程序,为提高软件测试效率,可使用测试工具支持测试工作,其作用就是为测试的实施提供服务,以减少人们完成测试任务中的手工劳动。例如:用于测试设计的测试构架工具和测试用例设计工具;用于测试分析的测试对象分析工具、测试代码分析工具、缺陷分析工具、测试评估分析工具;用于测试实现的测试数据生成工具、测试脚本生成工具;用于测试执行的系统功能测试工具、系统性能测试工具、协议测试工具;用于测试管理的测试任务管理工具、测试用例管理工具;,输出:问题报告单测试总结/报告测试度量数据新增用例,2005 iSoftStone Information Service Corporation.All rights reserved.,8,第二章 黑盒测试,黑盒测试定义 黑盒测试分类 常见的黑盒测试方法 等价类方法演练 黑盒测试方法的实际应用 黑盒测试的经验之谈,2005 iSoftStone Information Service Corporation.All rights reserved.,9,2.1 黑盒测试定义,黑盒测试相对于白盒测试而言,并不关心被测对象的内部实现,而是针对被测对象提供的外部功能与规格来设计测试用例进行的测试,输入,输出,2005 iSoftStone Information Service Corporation.All rights reserved.,10,2.2 黑盒测试分类,功能测试功能覆盖测试功能组合测试异常测试性能测试指标测试稳定性测试体验测试面向最终用户的体验面向运维用户的体验,2005 iSoftStone Information Service Corporation.All rights reserved.,11,2.3 常见的黑盒测试方法,等价类划分 边界值分析 错误推测 因果图 判定表 正交分析 功能图 性能测试方法 体验测试方法,2005 iSoftStone Information Service Corporation.All rights reserved.,12,2.3.1 等价类划分,定义:,特点:,将全部输入数据合理划分为若干等价类,在每一个等价类中选取一个数据作为测试的输入条件,这样所取得的测试效果与选择等价类内所有数据作为测试的输入所取的测试效果是一样的,典型、常用有效提高测试效率,2005 iSoftStone Information Service Corporation.All rights reserved.,13,2.3.1 等价类划分(续),等价类划分方法应用步骤,划分等价类,边界值分析(可选步骤),多个输入间关系分析(可选步骤),生成测试用例,2005 iSoftStone Information Service Corporation.All rights reserved.,14,2.3.2 边界值分析,定义:,特点:,经验告诉我们,大量的错误是发生在输入或输出范围的边界上,边界值分析就是在划分的等价类区域的边界及其附近进行测试数据的选取,典型、常用测试方法经常和等价类法配合使用,2005 iSoftStone Information Service Corporation.All rights reserved.,15,2.3.2 边界值分析(续),边界值分析方法应用步骤,确定输入的范围,确定范围的边界值,多个输入关系分析(可选步骤),生成测试用例,2005 iSoftStone Information Service Corporation.All rights reserved.,16,2.3.3 等价类法演练案例,某网管用户登录界面要求输入用户ID和密码才能登录,对该用户登录功能进行测试。用户ID、密码要求不能为空。用户ID为4位数字,不能以“0”开头;用户密码为6位数字,不能以“0”开头。演练要求:划分等价类生成测试用例,2005 iSoftStone Information Service Corporation.All rights reserved.,17,2.3.4 等价类和边界值结合案例,边界值分析方法通常和等价类划分方法一起配合使用,这种方法的优点是能够在等价类划分的基础上使设计出的测试用例更加具有针对性,更加容易发现问题。该方法也是一种常用的黑盒测试方法。,2005 iSoftStone Information Service Corporation.All rights reserved.,18,2.3.5 错误推测法,定义:,错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的进行测试的方法。,特点:,分析过程简单、可操作性强,测试用例的设计更加具有针对性、有效性,2005 iSoftStone Information Service Corporation.All rights reserved.,19,2.3.5 错误推测法(续),错误推测法大致步骤,确定被测对象范围,在测试经验库中查找相关内容,根据测试经验库中查找出的相关内容设计测试用例,测试经验库包括网上问题,历史版本易发生问题,开发人员易犯错误点,ODC分类标准等,用户接口探究允许的字符集合和数据类型,输入缓冲区溢出,找出可能会相互作用的输入及其组合,多次重复同样的输入和输入序列,赋给无效文件名,改变文件访问许可,更改或破坏文件内容 系统接口 模拟能执行所有错误处理代码并经历所有异常的故障,强制数据结构存储过多或过少的值,发现不充分地共享数据或交互的功能部件,考察内部数据约束(大小、维数、类型、形状、状态、位置)或系统的指标相关限制,按容量填满文件系统,强制介质忙或不可用,毁坏介质,内存耗尽处理,网络故障处理 硬件、模块异常资源限制极限模拟(CPU、内存等)、超负荷运行,强制系统某一个软件模块(进程级别)失效或不能完全正常工作,根据产品内部模块间的偶合关系,强制子系统(某几个模块的组合)失效来观察系统的运行状况,对模块间(特别是互为备份的模块间)的通讯进行强制异常或失效,负荷分担方式下,验证系统对负荷异常增加时运行的情况,系统/模块失效或掉电后系统恢复(双总线结构系统总线失效、双平面结构系统的单平面内部件失效)信息冗余类的异常测试数据库的事务完整性异常,数据库锁的异常处理,数据库的备份与恢复异常(各种备份方式及条件),存储物理设备异常恢复(心跳线异常、网络中断、网络风暴、掉电),协议消息IE(信元)异常,协议消息时序异常 时间冗余类的异常握手中断(重发和握手),定时器异常,2005 iSoftStone Information Service Corporation.All rights reserved.,20,2.3.6 因果图分析方法,定义:,特点:,通过分析输入输出之间的因果组合,高效的从众多组合中选出有效用例,等价类和边界值法着重考虑了对于一个输入条件的分析,但是没有考虑到多个输入条件之间的组合与联系。因果图方法运用图的方法对多个输入之间的组合以及输入、输出之间的因果关系进行了分析。,2005 iSoftStone Information Service Corporation.All rights reserved.,21,2.3.6 因果图分析方法(续),因果图方法应用步骤,确定被测对象的输入与输出,分析输入与输出之间的因果关系,根据因果关系分析画出因果图,将因果图转换为判定表,根据判定表设计测试用例,优点:综合考虑了输入、输出条件的组合,使测试设计更加全面。缺点:方法过程比较复杂,方法本身比较难以掌握;输入与输出之间的因果关系比较难以从规格描述中得到,需要一个分析过程;如果被测对象本身比较复杂,那么分析过程以及最后得到的因果图可能会非常复杂,得到的测试用例数量很庞大,需要耗费比较多的工作量。基于以上原因,这种方法实际得到的应用并不多。,2005 iSoftStone Information Service Corporation.All rights reserved.,22,2.3.7 判定表方法,定义:,采用表格的形式,列出所有条件和所有结果的组合,做到无遗漏的覆盖。,特点:,判定表适合条件项各自独立,互不影响的情况。判定表使用的技巧在于,把条件项划分清晰,对条件进行合理的组合,使得到的规则数最小。,2005 iSoftStone Information Service Corporation.All rights reserved.,23,基本测试流程,掌握软件测试的基本概念掌握黑盒测试概念和方法掌握白盒测试概念和方法,2005 iSoftStone Information Service Corporation.All rights reserved.,24,2.3.7 判定表方法(续),条件桩(Condition Stub):列出了问题的所有条件,通常认为列出的条件的次序无关紧要。动作桩(Action Stub):列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。条件项(Condition Entry):列出针对它左列条件的取值,在所有可能情况下的真假值。动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。规则:任何一个条件组合的特定取值及其相应要执行的操作。在判定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。,2005 iSoftStone Information Service Corporation.All rights reserved.,25,2.3.8 判定表方法(续),判定表分析步骤,确定规则个数,假如有n个条件,每个条件有两个取值,就有2的n次方个规则,列出所有的条件桩和动作桩,填入条件项,填入动作项,得到初始判定表,简化,合并相似规则和动作,2005 iSoftStone Information Service Corporation.All rights reserved.,26,2.3.9 因果图和判定表结合案例,2005 iSoftStone Information Service Corporation.All rights reserved.,27,2.3.10 正交试验设计方法,定义:,正交试验设计法,是从大量的试验点中选取适量的有代表性的点,应用依据伽罗华理论推导出的正交表,合理地安排实验的一种科学的实验设计方法。利用这种方法,可使所有的因子和水平在试验中均匀地分配与搭配,均匀地有规律地变化。,特点:,采用正交实验设计方法进行测试用例的设计能够有效地、合理地减少测试的工时与费用。兼顾测试成本与测试充分性的均衡,提高测试效率。,2005 iSoftStone Information Service Corporation.All rights reserved.,28,2.3.10 正交试验设计方法(续),正交试验设计方法应用步骤,提取功能说明,构造因子-状态表影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态;,加权筛选,生成因素分析表,对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小;,利用正交表构造测试数据集正交表的推导依据Galois 理论,2005 iSoftStone Information Service Corporation.All rights reserved.,29,2.3.11 功能图方法,定义:,功能图方法就是根据对被测功能的状态迁移图以 及逻辑功能图的覆盖进行测试用例设计的方法;,特点:,功能图方法借鉴了白盒测试方法的思想功能图方法是一种常用的且实用的黑盒测试方法,2005 iSoftStone Information Service Corporation.All rights reserved.,30,2.3.11 功能图方法(续),功能图方法应用步骤:,画出状态迁移图,在每个状态中生成局部测试用例,利用规则生成测试路径,测试用例合成,2005 iSoftStone Information Service Corporation.All rights reserved.,31,2.3.13 体验测试方法,体验测试方法,体验测试的目的是通过用户对产品的使用来找出产品中的可用性问题,而不是寻找产品中的BUG,因此其测试方法的着眼点和通常的测试是不同的,一般来说,场景设计和角色扮演是较多使用的方法。场景,是为了让体验更加接近于现实生活而由体验组织者预先设定的若干典型情景,这些情景中会设计不同层次的用户在不同条件下使用产品的情况。体验者可以根据自己的情况选择不同的角色在不同的情景中进行体验。场景设计的最高境界是写出一部剧本,但由于我们的体验人员并非专业演员,也无法代表社会各阶层的人群,因此在现阶段我们更加注重的是场景中的功能的排列组合对产品可用性带来的影响。,2005 iSoftStone Information Service Corporation.All rights reserved.,32,2.3.13 体验测试方法(续),场景举例,下面场景选自彩铃一号通体验活动:市场部的老王早上出门比较匆忙,把手机落家里了,而他的一号通设置的顺序振铃的第一个就是手机,为了不被家人误接,同时不使客户觉得自己不礼貌,王先生需要将自己办公室的电话设为顺序振铃的第一个,于是他使用街头的公用电话进行操作,操作的过程中他为了省钱又使用了一号通的去话功能。,2005 iSoftStone Information Service Corporation.All rights reserved.,33,2.4 黑盒测试方法的实际应用,等价类、边界值、错误推测这几种方法是最常使用的方法,黑盒测试方法主要应用在产品集成测试、系统测试阶段,也可应用在单元测试阶段,2005 iSoftStone Information Service Corporation.All rights reserved.,34,2.4 黑盒测试方法实际应用(续),黑盒测试方法在实际应用往往不是孤立的,大部分情况下这些方法是要结合起来使用,不同的黑盒测试方法具有不同的优点,注意根据实际情况选择不同的黑盒测试方法进行测试,2005 iSoftStone Information Service Corporation.All rights reserved.,35,2.5 黑盒测试的经验之谈(一),充分熟悉被测对象,了解特性的由来了解特性的应用场景了解特性的相互关联了解实际的组网方式了解接口的消息交互了解接口的协议内容了解内部的状态变迁.,2005 iSoftStone Information Service Corporation.All rights reserved.,36,2.5 黑盒测试的经验之谈(二),对测试进行正确的分类,不要小看测试分类,每次测试前先进行一下测试分类有助于避免遗漏。功能测试,一致性测试,安全性测试,性能测试,压力测试,配置测试,安装测试,恢复测试,易用性测试,备份测试,大容量测试,流控测试,兼容测试,互操作测试,Qos测试,长时间测试,2005 iSoftStone Information Service Corporation.All rights reserved.,37,2.5 黑盒测试的经验之谈(三),测试点的确定,测试点是在对测试对象进行分析的基础上得出测试重点,可以将其看成测试用例的标题。测试点能够清晰的反映用例设计者的思路,便于进行评审。测试点能够清晰的反映对版本特性的覆盖,便于发现遗漏。,2005 iSoftStone Information Service Corporation.All rights reserved.,38,目录,第一章 软件测试基础 第二章 黑盒测试 第三章 白盒测试,2005 iSoftStone Information Service Corporation.All rights reserved.,39,第三章 白盒测试,白盒测试的定义 程序结构分析 逻辑覆盖 其他白盒测试方法简单介绍 白盒测试的实际应用,2005 iSoftStone Information Service Corporation.All rights reserved.,40,3.1 白盒测试的定义,白盒测试是根据被测程序的内部结构设计测试用例的一种测试方法。,输入,输出,if()else,被测对象,2005 iSoftStone Information Service Corporation.All rights reserved.,41,3.2 白盒测试的实际应用,应用于单元测试公司要求达到语句覆盖对于比较核心的模块做到判定条件覆盖利用覆盖准则来设计用例程序插装使用最多,2005 iSoftStone Information Service Corporation.All rights reserved.,42,总结,软件测试基本概念黑盒测试及其方法白盒测试及其方法,