【文档说明】软件测试培训讲义课件.ppt,共(58)页,778.512 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-50468.html
以下为本文档部分文字说明:
软件测试物流系统研发部刘定文2009-5为打造中国第一物流品牌做好系统监理工作软件测试的目的测试流程标准化测试过程规范化促使软件生产更系统、更专业化软件测试的原则不应测试自己开发的程序设计测试用例时,不仅有确定的输入数据,还有确定的输出数据测试用例不仅有合理的,也要有非合理的除
了检查程序是否做完了它应该做的事,还要检查它是否做了不应该做的事。保留全部测试用例,作为软件的组成部分程序中存在错误的概率与在该段程序中已发现的错误数成正比教程目录第一课:测试模型第二课:测试分类第三课:验收测试第四课:系统测试第五课:集成测试第六课:单元测试第七课:基于
应用服务器的测试第八课:软件测试用例第九课:测试用例设计的基本原则第十课:软件测试用例设计方法第十一课:测试用例设计编写标准第十二课:测试用例的组织和跟踪第十三课:测试结果分析和质量分析报告第十四课:软
件测试项目管理第一课:测试模型:v模型软件测试模型:v模型、W模型一、v模型: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.集成测试方法4.集成测试方法集成测试主要有两种方法:1.非渐增式测试方法2.渐增式测试方法。非渐增式测试方法先分别测试每个模块,再把所有
模块按设计要求放在一起结合成所要的程序。渐增式测试方法把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。第五课:集成测试集成测试:1.集成测试定义2.集成测试目的3.集成
测试标准4.集成测试方法非渐增式与渐增式两种测试方法的比较:1.非渐增式测试方法需要编写的测试用例较多,工作量较大;渐增式测试方法开销小。2.渐增式测试方法发现模块间接口错误早;而非渐增式测试方法晚。3.非渐增式测试方法发现错误,较难诊断;而使用渐增式测试方法,如果发生错误则往往和最近加进来的那个
模块有关。4.渐增式测试方法测试更彻底5.渐增式测试方法需要较多的机器时间6.使用非渐增式测试方法,可以并行测试。第五课:集成测试集成测试:1.集成测试定义2.集成测试目的3.集成测试标准4.集成测试方法渐增式测试:自顶向下和自底向上两种方法。1.自顶向下集成从主控模块(“主程
序”)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。在组装过程中,可以使用深度优先的策略,或宽度优先的策略。M1M2M3S4M5M6M8S7图例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.自底向上集成:自底向上
测试是从“原子”模块(即软件结构最低层的模块)开始组装测试,因测试到较高层模块时,所需的下层模块功能均已具备。McMaMbD2D1D3族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:输入的数据范围是1~999,我们可以划分三类:x<1,1<=x<999,x>=9992.边缘值分析法用边缘特殊值测试。经验表明:程序往往在边缘情
况时犯错误,故测试边缘情况比较有效。EXP:int类型数据取值范围从-32768到32767,用例设计时取刚刚〈,刚刚〉=,三类边界进行设计第十课:软件测试用例设计的基本方法用例设计方法1.设计方法分类2.有关黑盒测试3.有关白盒测试4.方法-黑盒法5.方
法-白盒法6.方法-调试方法-黑盒法3.因果图法等价类法与边缘值分析法的缺点是没有检查各种输入条件的组合。因果图法则着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。示例:软件测试基本理论方法与工作流程.doc4.错误推测法
通过经验或直觉推测程序中可能存在的各种错误,从而有针对性设计测试用例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.测试项(testitem):测试用例应该准确地描述所需要测试的项及其特征,测试项应该比测试设计说明中所列出的特性描述更加具体,例如做Windows计算器应用程序的窗口测试,测试对象是整个的应用程序用户界面,这样测试项
就应该是应用程序的界面和特性要求,例如窗口缩放测试、界面布局、菜单等。第十一课:测试用例设计编写标准用例编写标准1.用例编写标准3.输入标准:用来执行测试用例的输入要求。这些输入可能包括数据、文件、或者操作(例如鼠标的左键单击,键盘的按键处理等),必要的时候,相关的数据库、文件也必须被罗列。4.输
出标准:标识按照指定的环境和输入标准得到的期望输出结果。如果可能的话,尽量提供适当的系统规格说明来证明期望的结果。5.测试用例之间的关联:用来标识该测试用例与其他的测试(或其他测试用例)之间的依赖关系。在测试的实际过程中,很多的测试用
例并不是单独存在的,它们之间可能有某种依赖关系,例如,用例A需要基于B的测试结果正确的基础上才能进行,此时需要在A的测试用例中表明对B的依赖性,从而保证测试用例的严谨性。第十二课:测试用例的组织和跟踪用例组织跟踪1
.用例的状态2.用例跟踪内容3.用例跟踪形式1.测试用例状态规定测试过程中,测试用例有三种状态:通过、未通过和未测试。根据在测试执行过程中测试用例的状态,实现测试用例的跟踪,从而进行测试有效性的检验。因此,测试用例的跟踪主要是针对测试过程中测试用例的执行和输出而
进行的跟踪,从而达到测试过程的可管理性和进行测试有效性评估。2.用例跟踪内容1.测试用例执行的跟踪:实现测试用例执行过程的跟踪可以有效地将测试过程量化。例如,执行一轮测试中,需要跟踪总共执行了多少测试用例,每个测试人员平均每天使用多少
测试用例,测试用例中通过、未通过以及未使用的占多少,未使用的原因是什么.测试人员工作量的跟踪不应该仅仅凭借测试用例的执行情况和发现的程序缺陷多少来判定,但至少,通过测试执行情况的跟踪可以大致判定当前的项目软件和测试的质量与进度
,并对测试的时间做出大致的推断。第十二课:测试用例的组织和跟踪用例组织跟踪1.用例的状态2.用例跟踪内容3.用例跟踪形式2.用例跟踪内容2.测试用例覆盖率的跟踪:测试用例的覆盖率指的是根据测试用例进行测试的执行结果与实际的软件存在的问题的比较,从而实
现对测试有效性的评估。3.用例跟踪形式1.书面文档2.电子表格3.自定义数据库第十三课:测试结果分析和质量分析报告测试结果分析1.缺陷分析2.总体质量分析1.缺陷分析1.缺陷分布报告:允许将缺陷计数作为一个或多个缺陷参数的函数来显示,生成缺陷数量与缺陷属性的函数,如缺陷在程序模块的横
向分布、严重性缺陷在不同的产生原因上的分布等。2.缺陷趋势报告:按各种状态将缺陷计数作为时间的函数显示,如缺陷数量在整个测试周期的时间分布。趋势报告可以是累计的,也可以是非累计的,可以看出缺陷增长和减少的趋势;3.缺陷年龄报告:是一种特殊类型的缺陷分布报告,显示缺陷处于活
动状态的时间,展示一个缺陷处于某种状态的时间长短,从而了解处理这些缺陷的进度情况。4.测试结果进度报告:展示测试过程在被测应用的几个版本中的执行结果以及测试周期,显示对应用程序进行若干次迭代和测试生命周期后的测试过程执行结果第十三课:测试结果分析和质量
分析报告测试结果分析1.缺陷分析2.总体质量分析2.总体质量分析1.问题分类:“分类”包括各种统计上的分项,例如,对应的源程序的位置,错误的严重级别(提示、警告、非失效性错误、失效性错误等),新发现的还是已有记录的错误。2.
趋势(时间序列)分析:根据所发现的软件缺陷历史数据进行分析,预测未来情况。第十四课:软件测试项目管理项目管理1.测试项目管理工具核心组件2.测试项目管理核心组件1.测试项目管理工具核心组件测试计划测试设计大纲测试用例测试环境搭建指南基础数据配置指南缺
陷报告测试报告测试总结第十四课:软件测试项目管理项目管理1.测试项目管理工具核心组件2.测试项目管理核心组件2.测试项目管理核心组件测试计划管理测试用例管理用例审核管理测试执行管理缺陷管理测试报告管理团队交流管理课程结束,谢谢大家!为打造专心,专注,专
业,专家型的测试团队而努力!