资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,1,软件测试分类,黑盒和白盒测试,静态测试和动态测试,测试不同阶段,测试各种分类间关系,2,软件测试的分类,对于软件测试,可以从不同的角度加以分类:,基于是否关注软件结构与算法,黑盒测试,白盒测试,基于是否执行被测试软件,静态测试,动态测试,基于测试的不同阶段,单元测试,集成测试,系统测试,验收测试,3,软件测试的内容,回归测试,功能测试,负载测试,压力测试,性能测试,易用性测试,安装与反安装测试,4,软件测试的内容,恢复测试,安全性测试,兼容性测试,内存泄露测试,比较测试,Alpha,测试,Beta,测试,5,黑盒测试和白盒测试,黑盒测试,白盒测试,两种测试方法从不同的角度出,发,反映了软件的不同侧面,也,适用于不同的开发环境,6,输入,输出,黑盒测试又称,功能测试,、数据驱动测试或,基于规格说明的测试,也可被成为用户测,试,主要应用于快速应用开发(,RAD,)环境,7,黑盒测试,黑盒测试法把程序看成一个黑盒子,完全不考虑程序内部结构和处理过程。,黑盒测试是在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。,黑盒测试又称功能测试。,8,黑盒测试,被测程序,需求说明,测试结果,产生,测试用例,输出,比较,9,黑盒测试,典型黑盒测试方法,等价类划分,因果图,边界值分析,10,黑盒测试,黑盒主要是为了发现以下几类错误:,是否有不正确或遗漏了的功能?,在接口上,输入能否正确地接受?能否输出正确的结果?,是否有数据结构错误或外部信息(例如数据文件)访问错误?,性能上是否能够满足要求?,是否有初始化或终止性错误?,11,白盒测试又称,结构测试,、逻辑驱动测试或基,于程序本身的测试,也可成为,程序员测试,,,主要应用于结构化开发环境,应用程序,12,白盒测试,白盒测试的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序结构和处理过程。,白盒测试按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。,白盒测试又称结构测试。,13,白盒测试,测试用例,被测程序,源程序,分析,覆盖情况分析,执行路径,14,白盒测试,典型白盒测试方法,静态分析,动态测试,15,白盒测试,使用白盒测试方法,主要想对程序模块进行如下的检查:,对程序模块的所有独立的执行路径至少测试一次。,对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次。,在循环的边界和运行界限内执行循环体。,测试内部数据结构的有效性等。,16,白盒测试与黑盒测试的比较,白盒测试,黑盒测试,测试依据,程序内部结构,规格说明,优点,能够对程序内部的特定部位进行覆盖测试,能站在用户立场上进行测试,缺点,无法检验程序的外特性,无法对未实现规格说明的程序内部欠缺部分进行测试,不能测试程序内部特定部位,如果规格说明有误,则无法发现,17,白盒测试与黑盒测试的比较,黑盒测试与白盒测试能够发现的错误,18,静态测试和动态测试,静态测试不执行被测试的软件。类似于汽车检查。,19,动态测试是在测试过程中执行被测试软件,类似于试车。,20,测试的过程,集成,测试,确认,测试,系统,测试,单元,测试,被测模块,已集成的软件,已确认的软件,可交付的软件,测试通过的模块,设计信息,软件需求,系统其它元素,单元,测试,被测模块,单元,测试,被测模块,验收,测试,用户核心流程,21,测试不同阶段,按测试阶段分类,测试可分,4,个主要阶段:单元测试、集成测试、系统测试和验收测试。,这是一种从小到大、循序渐进的测试过程。,单元测试是对程序员编写完成的一个个程序单元进行测试。,22,单元测试,单元测试,单元测试,单元测试,单元测试,单元测试,单元通常不是可运行的程序。,单元测试必须编写额外的可运行的测试驱动程序。,23,单元测试,单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。,软件单元测试的目的是检测程序模块对,详细设计说明书,的符合程度;软件单元测试依据是,单元测试计划,。,24,单元测试,软件单元测试由测试工程师编制测试用例进行测试,及针对程序模块进行多次循环反复的单元测试,并将测试结果记录在针对单元测试的,软件测试报告,上。,若程序模块通过单元测试,则按,配置管理规范,所规定的标识方法进行标识。,25,单元测试设计,测试模型,驱动模块:相当于所测模块的主程序。,桩模块:也叫做存根模块。用以代替所测模块调用的子模块。,测试用例,驱动模块,桩模块,2,被测模块,测试结果,桩模块,1,桩模块,n,26,单元测试设计,考虑方面,模块接口测试,局部数据测试,独立路径测试,出错处理测试,边界条件测试,模块接口,独立路径,边界条件,局部数据,模块,出错处理,27,单元测试设计,原则,为模块正常运行设计,为正向测试设计,为逆向测试设计,为满足特殊需求设计,为代码覆盖设计,28,单元测试执行,检查编码是否遵循软件编程规范和标准。,自动或手动分析程序。,设计测试用例并运行。,错误跟踪分析。,29,单元测试完成,单元测试,单元测试,单元测试,单元测试,单元测试,30,集成测试,单元测试,单元测试,单元测试,单元测试,单元测试,集,成,测,试,31,集成测试有渐增式和非渐增式两种方式,渐增式的集成中可以采用两种:“自顶向下”和“自底向上”。,集成测试中,会混合使用白盒测试和黑盒测试方法。,集成测试可以发现模块间接口以及全局数据结构等问题。,32,系统测试,系统测试,33,系统测试的目的是检查系统是否符合软件需求,系统测试采用黑盒测试方式,系统测试的主要内容有:功能测试、健壮性测试、性能效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装,/,反安装测试等。,为了保证测试的客观性,一般由机构的独立测试小组来执行系统测试。,34,验收测试,验收测试是由用户完成的测试,验收测试的内容与系统测试的内容类似,验收测试可以分成,Alpha,测试和,Beta,测试。,35,系统维护,二次开发,项目更新,单元测试,集成测试,系统测试,验收测试,回归测试,36,回归测试,回归测试的范围,测试全部用例,问题修改后的检验,测试高风险模块,/,系统,基于操作剖面选择测试,37,回归测试,回归测试的基本过程,识别出软件中被修改的部分,从原基线测试用例库,T,中,排除所有不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,其结果是建立一个新的基线测试用例库,T0,依据一定的策略从,T0,中选择测试用例测试被修改的软件,38,回归测试,回归测试的基本过程,如果必要,生成新的测试用例集,T1,,用于测试,T0,无法充分测试的软件部分,用,T1,执行修改后的软件,第,2,和第,3,步测试验证修改是否破坏了现有的功能,第,4,和第,5,步测试验证修改工作本身,39,测试各种分类间关系,
展开阅读全文