软件测试培训讲义.ppt_第1页
软件测试培训讲义.ppt_第2页
软件测试培训讲义.ppt_第3页
软件测试培训讲义.ppt_第4页
软件测试培训讲义.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

软件测试,物流系统研发部 刘定文 2009-5,为打造中国第一物流品牌做好系统监理工作,软件测试的目的,测试流程标准化 测试过程规范化 促使软件生产更系统、更专业化,软件测试的原则,不应测试自己开发的程序 设计测试用例时,不仅有确定的输入数据,还有确定的输出数据 测试用例不仅有合理的,也要有非合理的 除了检查程序是否做完了它应该做的事,还要检查它是否做了不应该做的事。 保留全部测试用例,作为软件的组成部分 程序中存在错误的概率与在该段程序中已发现的错误数成正比,教程目录,第一课:测试模型 第二课:测试分类 第三课:验收测试 第四课:系统测试 第五课:集成测试 第六课:单元测试 第七课:基于应用服务器的测试 第八课:软件测试用例 第九课:测试用例设计的基本原则 第十课:软件测试用例设计方法 第十一课:测试用例设计编写标准 第十二课:测试用例的组织和跟踪 第十三课:测试结果分析和质量分析报告 第十四课:软件测试项目管理,第一课:测试模型:v模型,软件测试模型 : v模型 、 W模型 一、 v模型: 模型反映出了测试活动与分析设计活动的关系。V模型指出: 单元和集成测试应检测程序的执行是否满足软件设计的要求; 系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标; 验收测试确定软件的实现是否满足用户需要或合同的要求。 V模型存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。,图例1:V 模型,第一课:测试模型:w模型,软件测试模型 : v模型 、 W模型 二、 W模型: W模型伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,测试与开发是同步进行的。 W模型有利于尽早地全面的发现问题。 例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。,图例2:W模型,第二课:测试分类,测试分类划分方法:1.按测试阶段、 2.按测试类型,按测试阶段: 1.设计阶段 2.单元测试阶段 3.集成测试阶段 4.系统测试阶段 5.验收测试阶段 6.回归测试(复测)阶段,按测试类型: 1.功能测试 2.界面测试 3.数据处理测试 4.流程测试 5.压力测试 6.并发测试 7.安全测试 8.性能测试 9.安装测试,第二课:测试分类,测试分类划分方法:1.按测试阶段、 2.按测试类型,按测试阶段: 1.设计阶段 2.单元测试阶段 3.集成测试阶段 4.系统测试阶段 5.验收测试阶段 6.回归测试阶段,1.设计阶段: 对需求分析结果,概要设计,详细设计书进行检查.分析工作量与人力资源配置编写软件测试计划。 2.单元测试: 单元测试完成对软件最小的结构的测试,一般用来验证模块的功能属性,它利用设计文档作为指导,主要使用白盒测试技术;但也可以测试其它项目,如性能、可用性等等,可使用“黑盒”或“白盒”方法进行。在单元测试中,检查出模块内部的错误是单元测试的主要工作。 单元测试时机: 紧接在编码之后,源程序编制完成并通过复审和编译检查完成。,测试分类划分方法:1.按测试阶段、 2.按测试类型,按测试阶段: 1.设计阶段 2.单元测试阶段 3.集成测试阶段 4.系统测试阶段 5.验收测试阶段 6.回归测试阶段,3.集成测试: 集成测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行集成测试以便发现与接口有关的各种错误。 为什么要做集成测试? 每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。主要原因是,模块相互调用时接口会引入许多新问题。 有那些常见问题? 数据经过接口可能丢失; 一个模块对另一模块可能造成不应有的影响; 几个子功能组合起来不能实现主功能; 误差不断积累达到不可接受的程度; 全局数据结构出现错误。,第二课:测试分类,测试分类划分方法:1.按测试阶段、 2.按测试类型,按测试阶段: 1.设计阶段 2.单元测试阶段 3.集成测试阶段 4.系统测试阶段 5.验收测试阶段 6.回归测试阶段,4.系统测试: 系统测试应该由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否正确 软件开发完毕后应与系统中其它成分集成在一起,此时需要进行一系列系统测试。包括恢复测试、安全测试、强度测试和性能测试等。 在系统测试时强调系统与外部设备联合调试。以检验系统完整性,正确性。 5.验收测试: 系统开发生命周期方法论的一个阶段,这时相关的用户和或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性控制。,第二课:测试分类,测试分类划分方法:1.按测试阶段、 2.按测试类型,按测试阶段: 1.设计阶段 2.单元测试阶段 3.集成测试阶段 4.系统测试阶段 5.验收测试阶段 6.回归测试阶段,6.回归测试: 回归测试就是漏洞修复完成后再对软件进行测试, 以确保软件没有产生“回归”或因修复而变得更 糟,这种测试一般要重新运行最初发现问题的原始测试程序。 回归测试有两个焦点: 1.有没有产生新的漏洞 2.修复是否确实使缺陷消除。,第二课:测试分类,测试分类划分方法:1.按测试阶段、 2.按测试类型,按测试类型: 1.功能测试 2.界面测试 3.数据处理测试 4.流程测试 5.压力测试 6.并发测试 7.安全测试 8.性能测试 9.安装测试,1.功能测试 对软件功能进行的测试,主要检查软件功能是否实现了软件功能说明书(软件需求)上的功能要求。 2.界面测试 对软件的用户界面进行的测试,主要检查用户界面的美观度、统一性、易用性等方面的内容。 3.数据处理测试 对软件数据接口进行的测试,主要检查软件数据处理中输入、处理、输出数据过程。 4.流程测试 按操作流程进行的测试,主要有业务流程、数据流程、逻辑流程、正反流程,检查软件在按流程操作时是否能够正确处理。,第二课:测试分类,测试分类划分方法:1.按测试阶段、 2.按测试类型,按测试类型: 1.功能测试 2.界面测试 3.数据处理测试 4.流程测试 5.压力测试 6.并发测试 7.安全测试 8.性能测试 9.安装测试,5.压力测试 在软件的极限条件下进行的测试,主要有对数据的极限值、边界值操作,对软件进行致命操作等。 6.并发测试 网络环境、并发环境、多用户条件下进行测试。 7.安全测试 对软件安全性方面的测试,主要检测软件中加密、解密、数据备份、恢复、病毒检测,网络架构问题。 8.性能测试 对软件整体性能的测试,对适应性、健壮性、可恢复性、灾难恢复能力 9.安装测试 在不同PC条件、操作系统、模拟客户机,网络环境进行安装测试.,第三课:验收测试,验收测试: 1.验收测试任务 2.验收测试内容 3.验收测试标准 4.配置复审 5.、测试 6.验收测试过程,1.验收测试任务: 验收测试的任务:功能和性能是否符合用户需求(需求分析文档)。 验收测试是向未来的用户表明系统能够像预定要求工作。经集成测试后。 2.验收测试内容: 1.安装(升级) 2.功能测试(正例、重要算法、边界、时序、反例、错 误处理) 3.性能测试(正常的负载、容量变化) 4.压力测试(临界的负载、容量变化) 5.配置测试 6.平台测试 7.安全性测试、恢复测试(在出现掉电、硬件故障或切换、网络故障等情况时,系统是否能够正常运行) 8.可靠性测试,第三课:验收测试,验收测试: 1.验收测试任务 2.验收测试内容 3.验收测试标准 4.配置复审 5.、测试 6.验收测试过程,3.验收测试标准: 1.软件是否符合需求所有功能和性能 2.文档资料是否完整(开发类文档) 需求分析说明书、概要设计说明书、 详细设计说明书、数据库设计说明书、 测试计划、测试报告、程序维护手册、程序员开发手册、用户操作手册、 项目总结报告。 3.准确人机界面 4. 配置复审: 验收测试的另一个重要环节是配置复审。复审的目的在于保证软件配置齐全、分类有序,并且包括软件维护所必须的细节。,第三课:验收测试,验收测试: 1.验收测试任务 2.验收测试内容 3.验收测试标准 4.配置复审 5.、测试 6.验收测试过程,5.、测试 验收测试时不可能完全预见用户实际使用程序的情况: 测试是指软件开发公司组织内部人员模拟各类用户行对即将布署软件产品(称为版本)进行测试,发现错误并修正。测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。 版本经过测试调整后产生。测试组织各方面的典型用户实际使用,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对版本进行改错和完善。 一般包括功能度、安全可靠性、易用性、可扩充性、兼容性、效率、资源占用率、用户文档八个方面。,第三课:验收测试,验收测试: 1.验收测试任务 2.验收测试内容 3.验收测试标准 4.配置复审 5.、测试 6.验收测试过程,6.验收测试过程 1.编制验收测试计划和项目验收准则:根据软 件需求和验收要求编制测试计划,制定需测试的测试项,制定测试策略及验收通过准则,并经过客户参与的计划评审。 2.测试设计和测试用例设计:根据验收测试计划和项目验收准则编制测试用例,并经过评审。 3.测试环境搭建:建立测试的硬件环境、软件环境等。(可在委托客户提供的环境中进行测试) 4.测试实施:测试并记录测试结果。 5.测试结果分析:根据验收通过准则分析测试结果,作 出验收是否通过及测试评价。 6.测试报告:根据测试结果编制缺陷报告和验收测试报告,并提交给客户。,第四课:系统测试,系统测试: 1.系统测试目的 2.系统测试对象 3.系统测试步骤,1.系统测试的目的 系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。 2.系统测试对象 系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试 3.系统测试步骤分为三个步骤: 1.模块测试,测试每个模块的程序是否有错误 2.组装测试,测试模块之间的接口是否正确; 3.确认测试,测试整个软件系统是否满足用户功能和性 能的要求。,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,1. 集成测试的定义 集成测试是单元测试的逻辑扩展。集成是指多个单元的聚合,许多单元组合成模块,而这些模块又聚合成程序的更大部分,如分系统或系统。 集成测试采用的方法是测试软件单元的组合能否正常工作,以及与其他组的模块能否集成起来工作。 测试构成系统的所有模块组合能否正常工作。集成测试所持的主要标准是软件概要设计规格说明,任何不符合该说明的程序模块都应该加以记载并上报。 2. 集成测试的目的 集成测试的目的是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接口以及集成后的功能。使用黑盒测试方法测试集成的功能。并且对以前的集成进行回归测试。,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,3. 集成测试的标准 集成测试应由专门的测试小组来进行(测试人员,开发人员,设计人员),整个测试活动在评审人员出席的情况下进行。 在完成预定的组装测试工作之后,测试小组应负责对测试结果进行整理、分析,形成测试报告。测试报告中要记录实际的测试结果、在测试中发现的问题、解决这些问题的方法以及解决之后再次测试的结果。此外还应提出目前不能解决、还需要管理人员和开发人员注意的一些问题,提供测试评审和最终决策,以提出处理意见。 检测标准: 1、成功地执行了测试计划中规定的所有集成测试; 2、修正了所发现的错误; 3、测试结果通过了专门小组的评审。,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,集成测试方法 集成测试主要有两种方法: 1.非渐增式测试方法 2.渐增式测试方法。 非渐增式测试方法 先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序。 渐增式测试方法 把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,非渐增式与渐增式两种测试方法的比较: 1.非渐增式测试方法需要编写的测试用例较多,工作量较大;渐增式测试方法开销小。 2.渐增式测试方法发现模块间接口错误早;而非渐增式测试方法晚。 3.非渐增式测试方法发现错误,较难诊断;而使用渐增式测试方法,如果发生错误则往往和最近加进来的那个模块有关。 4.渐增式测试方法测试更彻底 5.渐增式测试方法需要较多的机器时间 6.使用非渐增式测试方法,可以并行测试。,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,渐增式测试:自顶向下和自底向上两种方法。 1.自顶向下集成 从主控模块(“主程序”)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。在组装过程中,可以使用深度优先的策略,或宽度优先的策略。,M1,M2,M3,S4,M5,M6,M8,S7,图例3:自顶向下集成,深度优先:M1-M2-M5-M8-M6-M3-S7-S4,宽度优先:M1-M2-M3-S4-M5-M6-S7-M8,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,渐增式测试方法:自顶向下和自底向上两种方法。 1.自顶向下集成实施步骤: (1)对主控模块进行测试,测试时用存根程序代替所有直接附属于主控模块的模块。 (2)根据选定的结合策略(深度优先或宽度优先),每次用一个实际模块代替一个存根程序(新结合进来的模块往往又需要新的存根程序) (3)在结合下一个模块的同时进行测试 (4)为了保证加入模块没有引进新的错误,可能需要进行回归测试(即,全部或部分地重复以前做过的测试)。 从第2步开始不断地重复进行上述过程,直至完成。,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,渐增式测试:自顶向下和自底向上两种方法。 2.自底向上集成: 自底向上测试是从“原子”模块(即软件结构最低层的模块)开始组装测试,因测试到较高层模块时,所需的下层模块功能均已具备。,Mc,Ma,Mb,D2,D1,D3,族2,族3,族1,图例4:自底向上集成,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,渐增式测试:自顶向下和自底向上两种方法。 2.自底向上集成步骤: 1 把低层模块组织成实现某个子功能的模块(cluster); 2 测试驱动模块控制测试数据的输入和测试结果的输出; 3 对每个模块群进行测试; 4 删除测试使用的驱动模块,用较高层模块把模块群组织成为完成更大功能的新模块群。 从第一步开始循环执行上述步骤,直至整个程序构造完毕。,第五课:集成测试,集成测试: 1.集成测试定义 2.集成测试目的 3.集成测试标准 4.集成测试方法,两种集成策略比较: “自顶向下”法的主要优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。 “自顶向下”法的主要缺点:需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。,第六课:单元测试,单元测试: 1.单元测试定义 2.单元测试内容 3.单元测试过程,单元测试定义: 单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。,第六课:单元测试,单元测试: 1.单元测试定义 2.单元测试内容 3.单元测试过程,单元测试内容: 1.模块测试项目: 1.模块接口 2.局部数据结构 3.重要的执行通路 4.出错处理通路 5.影响上述各方面特性的边界条件 2.输入/输出的测试要点 1.参数数目和由调用模块送来的变元的数目是否相等? 2.参数的属性和变元的属性是否匹配? 3.传送给被调用模块的变元的数目是否等于那个模块的参数的数目? 4.传送给被调用模块的变元属性和参数的属性是否一致? 5.传送给内部函数的变元属性、数目和次序是否正确? 6.全程变量的定义和用法在各个模块中是否一致,第六课:单元测试,单元测试: 1.单元测试定义 2.单元测试内容 3.单元测试过程,单元测试内容: 3. 输入/输出的测试要点 1.格式说明书与输入/输出语句是否一致? 2.缓冲区大小与记录长度是否匹配? 3.文件结束条件处理了吗? 4.输入/输出错误检查并处理了吗? 5.输出信息中由文字书写错误吗? 4.局部数据结构的测试要点 1.错误的或不相容的说明 2.使用尚未赋值或尚未初始化的变量 3.错误的初始值或不正确的缺省值 4.错误的变量名字(拼写错或截短了) 5.数据类型不相容 6.上溢、下溢或地址异常,第六课:单元测试,单元测试: 1.单元测试定义 2.单元测试内容 3.单元测试过程,单元测试内容: 5. 计算中的常见错误 1.计算次序不对或误解了运算符的优先次序 2.混合运算(运算对象的类型彼此不相容) 3.变量初始值不正确 4.精度不够 5.表达式的符号表示错误 6.测试方案中的错误 1.比较数据类型不同的量 2.逻辑运算符不正确或优先次序的错误 3.当由于精度问题两个量不会相等时,程序中却期待着相等条件的出现 4.“差1”错(即,多循环一次或少循环一次) 5.错误的或不存在的循环终止条件 6.当遇到发散的迭代时不能终止循环 7.错误地修改循环变量,第六课:单元测试,单元测试: 1.单元测试定义 2.单元测试内容 3.单元测试过程,单元测试内容: 7.错误处理通路时常见错误 1.对错误的描述是难于理解的 2.记下的错误与实际遇到的错误不同 3.在错误进行处理之前,错误条件已经引起系统干预。 4.对错误的处理不正确 5.描述错误的信息不足以帮助确定造成错误的位置。,第六课:单元测试,单元测试: 1.单元测试定义 2.单元测试内容 3.单元测试过程,单元测试过程: 1.编写单元测试用例,标准软件详细设计书 2.测试用例审核 由审查小组参与审核 3.代码审查 人工测试程序可以由编写者本人非正式地进行,审查小组正式进行。 4.提交测试 5.执行测试用例 6.提交测试结果 7.回归测试 8.编写测试报告,第七课:基于应用服务器的测试,基于服务器的测试 1.服务器类型划分 2.WEB服务测试 3.数据库服务测试,1.应用服务器划分 1.Web 服务器重点 2.数据库服务器重点 3.实时通讯服务器 4.邮件服务器 5.群件服务器 6文件/打印服务器,第七课:基于应用服务器的测试,基于服务器的测试 1.服务器类型划分 2.WEB服务测试 3.数据库服务测试,2.WEB服务测试 测试内容: 1.文字测试:检查用户等级、术语、内容、准确度以及内容的时效性。 2.链接测试:测试所有链接是否能按照指示的那样正确链接到应当链接的页面;测试所链接的页面是否存在;确保不存在孤立页面(即没有链接指向的页面)。 3.图形、图像测试:确保有明确的用途;颜色的搭配;图片的大小和质量;所有图形是否能够正确载入和显示。 4.表单测试:检测域的大小;数据接收是否正确;可选域是否真正可选;提交操作的完整性等。 5.Cookies测试:Cookies是否起作用;是否按预定的时间进行保存;刷新对Cookies有何影响等 6.数据加密 7.目录访问权限 8.日志文件,第七课:基于应用服务器的测试,基于服务器的测试 1.服务器类型划分 2.WEB服务测试 3.数据库服务测试,1.数据库服务器典型性能问题 单一类型事务响应时间过长 数据库服务器负载 糟糕的数据库设计 事务粒度过大 批任务对普通用户性能的影响 并发处理能力差 锁冲突严重 资源锁定造成的数据库事务超时 数据库死锁,第八课:软件测试用例,软件测试用例 1.测试用例的定义 2.测试用例的作用 3.编制用例步骤,1.测试用例的定义 1.为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 2.对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。 3.软件测试的行为活动做一个科学化的组织归纳目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,第八课:软件测试用例,软件测试用例 1.测试用例的定义 2.测试用例的作用 3.编制用例步骤,2.测试用例在软件测试中发挥的作用 1、指导测试的实施 2、规划测试数据的准备 3、评估测试结果的度量基准 4、分析缺陷的标准 3.编制用例步骤 1、测试用例文档 编写测试用例文档应有文档模板,须符合内部的规范要求。测试用例文档将受制于测试用例管理软件的约束。 测试用例文档由简介和测试用例两部分组成。 简介部分编制了测试目的、测试范围、定义术语、参考文档、概述等。 测试用例部分逐一列示各测试用例。每个具体测试用例都将包括下列详细信息:用例编号、用例名称、测试等级、入口准则、验证步骤、期望结果(含判断标准)、出口准则、注释等。,第八课:软件测试用例,软件测试用例 1.测试用例的定义 2.测试用例的作用 3.编制用例步骤 4.详解用例文档,3.编制用例步骤 2、测试用例的设置 早期的测试用例是按功能设置用例。后来引进了路径分析法,按路径设置用例。目前演变为按功能、路径混合模式设置用例。 3、设计测试用例 测试用例可以分为基本事件、备选事件和异常事件。设计基本事件的用例,应该参照用例规设计规格说明书,根据关联的功能、操作按用例设计方法设计测试用例。而对孤立的功能则直接按功能设计测试用例。基本事件的测试用例应包含所有需要实现的需求功能,覆盖率达100%。 4.物流研发部测试用例详解 单元测试书_入库.xls,第九课:软件测试用例设计的基本原则,用例设计原则 1.用例设计原则,1.尽量避免含糊的测试用例 含糊的测试用例给测试过程带来困难,甚至会影响测试的结果。在测试过程中,测试用例的状态是唯一的清晰的测试用例使测试人员在测试过程中不会出现模棱两可的情况 2.尽量将具有相类似功能的测试用例抽象并归类 一直强调软件测试过程是无法进行穷举测试的。因此,对相类似的测试用例的抽象过程显得尤为重要,一个好测试用例应该是能代表一组或者一系列的测试过程。 3.尽量避免冗长和复杂的测试用例 主要目地是保证验证结果的唯一性。为的是在测试过程执行过程中,确保测试用例的输出状态唯一性,从而便于跟踪和管理。,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试,1.设计方法分类:黑盒测试,白盒测试 2.有关黑盒测试 1.黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 2.黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。 3.外部特性本身有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试,2.有关黑盒测试 黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。 1.功能不正确或遗漏; 2.界面错误; 3.数据库访问错误; 4.性能错误; 5.初始化和终止错误等。,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试,3.有关白盒测试 1.白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 2.将测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 3.“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试,方法-黑盒法 1.等价分类法 等价分类法是将输入数据的可能值分成若干“等价类”,每一类以一个代表性的测试数据进行测试,这个数据就等价于这一类中的其它数据。 该法的关键在于如何将输入数据分类。 EXP:输入的数据范围是1999,我们可以划分三类:x=999 2.边缘值分析法 用边缘特殊值测试。 经验表明:程序往往在边缘情况时犯错误,故测试边缘情况比较有效。 EXP:int类型数据取值范围从-32768到32767 ,用例设计时取刚刚 ,刚刚 = ,三类边界进行设计,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试,方法-黑盒法 3.因果图法 等价类法与边缘值分析法的缺点是没有检查各种输入条件的组合。 因果图法则着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。 示例:软件测试基本理论方法与工作流程.doc 4.错误推测法 通过经验或直觉推测程序中可能存在的各种错误,从而有针对性设计测试用例 5.功能图法 根据软件设计说明书,列举功能,关注判断条件,描述结果,每条独立路径(事务)编写一条测试用例的方法 LTK被动补货网络分析图.vsd,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试,方法-白盒法(逻辑覆盖法) 1.语句覆盖 即每个语句至少能执行一次 2.判定覆盖 判定覆盖又叫分支覆盖,含义是:每个判定的分支至少执行一次。 3.条件覆盖 即一个判断语句往往包含了若干条件。通过给出测试用例,使判断中的每个条件都获得各种可能的结果 4.判断/条件覆盖 选取足够多的测试数据,使判断中每个条件都取得各种可能值,使每个判断表达式也取到各种可能的结果。 5.条件组合覆盖 使得每个判断中条件的各种可能组合都至少出现一次。,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试,方法-调试法 1.基本任务 诊断和改正程序中的错误 2.调试策略 (1)试探法 调试人员分析错误征兆,猜想故障的大致位置,然后使用前述的一两种调试技术,获取程序中被怀疑的地方附近的信息。该策略缓慢而低效。 (2)回溯法 确定最先发现“症状”的地方,然后人工沿程序的控制流往回追踪源程序代码,直到找出错误根源或确定故障范围为止。 回溯法的另一种形式是正向跟踪,也就是使用输出语句检查一系列中间结果,以确定最先出现错误的地方。,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试法,方法-调试法 (3)对分查找法 如果已经知道每个变量在程序内若干个关键点的正确值,则可以用赋值语句或输入语句在程序中间点附近“注入”这些变量的正确值,然后检查程序的输出。如果输出结果是正确的,则故障在程序的前半部分;反之,故障在程序的后半部分。对于程序中有故障的那部分再重复使用这个方法,直到把故障范围缩小到容易诊断的程度为止。 (4)归纳法 所谓归纳法就是从个别推断一般的方法。从线索(错误征兆)出发,通过分析这些线索之间的关系而找出故障,具体步骤如下: A.收集有关的数据 B.组织数据 C.导出假设 D.证明假设,第十课:软件测试用例设计的基本方法,用例设计方法 1.设计方法分类 2.有关黑盒测试 3.有关白盒测试 4.方法-黑盒法 5.方法-白盒法 6.方法-调试法,方法-调试法 (5)演绎法 演绎法从一般原理或前提出发,经过删除和精化的过程推导出结论。 用演绎法调试开始时先列出所有看来可能成立的原因或假设,然后一个一个地排除列举出的原因,最后证明剩下的原因确实是错误的根源。具体步骤如下: A.设想可能的原因 B.用已有的数据排除不正确的假设 C.精化余下的假设 D.证明余下的假设,第十一课:测试用例设计编写标准,用例编写标准 1.用例编写标准,1.测试用例设计编写标准 在编写测试用例过程中,需要参考和规范一些基本的测试用例编写标准,在ANSI/IEEE829-1983标准中列出了和测试计划相关的测试用例编写规范和模板。 2.测测试用例设计模板中主要元素: 1.标识符(identification):每个测试用例应该有一个唯一的标识符,它将成为所有和测试用例相关的文档/表格引用和参考的基本元素,这些文档/表格包括设计规格说明书、测试日志表、测试报告等。 2.测试项(test item):测试用例应该准确地描述所需要测试的项及其特征,测试项应该比测试设计说明中所列出的特性描述更加具体,例如做Windows计算器应用程序的窗口测试,测试对象是整个的应用程序用户界面,这样测试项就应该是应用程序的界面和特性要求,例如窗口缩放测试、界面布局、菜单等。,第十一课:测试用例设计编写标准,用例编写标准 1.用例编写标准,3. 输入标准:用来执行测试用例的输入要求。这些输入可能包括数据、文件、或者操作(例如鼠标的左键单击,键盘的按键处理等),必要的时候,相关的数据库、文件也必须被罗列。 4. 输出标准:标识按照指定的环境和输入标准得到的期望输出结果。如果可能的话,尽量提供适当的系统规格说明来证明期望的结果。 5. 测试用例之间的关联:用来标识该测试用例与其他的测试(或其他测试用例)之间的依赖关系。在测试的实际过程中,很多的

温馨提示

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

评论

0/150

提交评论