软件测试技术理论--高效编写测试计划与设计测试用例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一章软件测试概述软件测试概述软件测试产生背景调试与测试程序规模增大软件测试概述软件测试概念软件测试前身:技术评审软件测试定义:为了发现错误而执行程序的过程软件测试概述软件测试目的帮助开发人员、测试工程师发现问题、分析问题减少软件的缺陷数目或者降低软件的缺陷密度提供软件的可靠性评估软件的性能指标增加用户对软件的信心测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行软件测试概述软件测试原则尽早和不断的测试测试人员独立测试程序测试输入数据与对应的预期输出结果合法输入和不合法输入及各种边界条件测试出的错误结果由不同人员确认关注集群现象制定严格的测试计划全面检查测试结果关注回归测试中的关联性妥善保存测试文档软件测试概述软件测试分类A黑盒测试白盒测试灰盒测试软件测试概述软件测试分类B静态测试动态测试软件测试概述软件测试分类C手动测试自动测试软件测试概述软件测试人员构成测试经理测试文档审核师测试工程师测试人员具备知识测试文档编写分析测试结果操作软件测试工具搭建测试环境软件业务理解设计测试用例计算机理论及开发经验开发流程及程序理解软件测试概述软件测试人员职业要求责任心沟通能力团队合作精神耐心、细心和信心保持怀疑态度创新性不断学习能力软件测试概述第二章软件测试流程软件测试基本流程需求测试单元测试系统测试集成测试验收测试回归测试软件测试流程需求测试概念在需求阶段对需求本身进行测试测试范围需求规格说明书测试内容描述不准确需求定义模糊需求用例不正确语言二义性软件测试流程需求测试注意项1、完整性2、正确性3、一致性4、可行性5、无二义性6、健壮性7、必要性8、可测试性9、可修改性软件测试流程单元测试目的检测程序模块中有无故障存在人员组成开发和测试人员意义发现问题多成本低降低集成测试负担软件测试流程集成测试非增量式集成测试法:整体集成法概念:单元测试后,将各模块直接连接起来作为一个整体进行测试特点:容易发现混乱难以定位出错原因、位置修改困难、易引入新错误软件测试流程软件测试流程abcdefg非增式集成法集成测试增量式集成方法:逐步集成——自顶向下增式集成(桩模块)——自底向上增式集成(驱动模块)特点:错误分散暴露易找出问题、修改软件测试流程桩模块(Stub)与驱动模块(Driver)桩模块(Stub)为被测模块编制模拟其下级模块功能的替身模块,以代替被测模块接口,接受或传递被测模块数据驱动模块(Driver)把相关数据传送给被测模块,启动被测模块软件测试流程自顶向下增式集成深度优先与广度优先集成步骤1、主控模块作为测试驱动,与主控直接相连的模块为桩模块2、根据深度或广度,下层模块一次一个替换为真正模块软件测试流程测试AAs3s1s2s4As3Bs2EAs3Bs2测试B测试CEADBC测试D测试EEAs3BC自顶向下增式测试(深度优先)软件测试流程测试AAs3s1s2s4As3Bs2s4As3BC测试B测试Cs4ADBC测试E测试DEADBC自顶向下增式测试(广度优先)软件测试流程自顶向下增式集成小结按系统控制结构,控制层次自顶向下组装及时验证主要控制及判断点选用深度优先,可以首先实现和验证一个完整的软件功能软件测试流程自底向上增式集成集成步骤1、驱动模块控制最底层模块并行测试2、实际模块代替驱动模块,与其直属子模块集成子系统3、子系统设置驱动模块测试4、重复步骤(2),(3),直到集成完成软件测试流程自底向上增式测试d1FDd3FDFd1E(1)d2C(2)(3)d1EB(4)(5)BCEA(6)软件测试流程优点缺点自顶向下测试开始便能看到系统框架需要提供桩模块桩模块表示数据困难如果模块间数据没有联系,桩模块数据难以形成自底向上测试驱动模块模拟参数调用,便于生成测试数据最后一个模块集成才能看到整个系统框架适合底部关键模块测试测试后期才能发现时序问题和资源竞争问题自顶向下增式和自底向上增式比较软件测试流程系统测试概念针对系统中各个组成部分进行的综合性检验目的证明系统性能(性能测试)人员构成系统测试人员用户代表软件设计者软件测试流程性能测试概念检验软件是否达到需求规格说明书中规定的各类性能指标意义1、评估系统的能力2、识别系统中的弱点3、系统调优软件测试流程验收测试概念向用户表明所开发的软件系统能够像用户预期的一样工作任务通过标准确定方法确定组织和可用资源确定测试结果分析法验收计划及评审设计验收测试用例执行测试分析测试结果,决定是否通过验收软件测试流程回归测试概念重复执行集成和系统测试的测试用例,或针对修改的程序编写目的确定修改的程序是否会导致本来工作正常的功能产生错误软件测试流程软件测试模型AV模型目的:反映测试活动与分析设计关系,缩短开发周期意义:表明了测试过程中不同级别,描述了测试和研发间对应关系局限性:忽视测试活动对需求分析,系统设计等活动的验证和确认功能软件测试流程V模型需求分析概要设计详细设计编码验收测试单元测试集成测试系统测试软件测试流程软件测试模型BW模型与V模型区别:双V模型组成,分别代表测试和开发过程意义:测试伴随整个软件开发周期,测试开发同步进行,有利于尽早发现问题,测试不仅是程序,包括需求和设计优点:有利于及时了解项目难度和测试风险,及早制定应对措施,显著减少总体测试实践,加快项目进度软件测试流程W模型软件测试流程用户需求需求分析与设计概要设计详细设计用户需求验收测试准备需求分析与设计系统测试准备概要设计集成测试准备详细设计单元测试准备编码单元测试集成实施交付验收测试系统测试集成测试第三章识别和描述BUG识别和描述BUGBUG概念程序中存在的错误,如语法错误、拼写错误或者不正确的程序语句,BUG可能出现在设计中,甚至在需求、规格说明或其他文档中BUG定义没有达到产品说明书表明功能语法错误拼写错误不正确程序语句与产品说明书不一致功能超出产品说明书范围没有达到用户期望标准易用性差识别和描述BUGBUG状态激活或打开(ActiveorOpen)已提交已修改(FixedorResolved)不修改(保留)延迟待讨论已验证关闭重新打开识别和描述BUGBUG等级划分严重死机,数据丢失,主要功能完全丧失,数据被破坏,系统崩溃较高系统主要功能丧失、数据不能保存,导致严重问题或致命错误一般系统部分功能没有完全实现,但不影响正常使用轻微微小问题,对功能几乎没有影响,产品及属性仍可使用识别和描述BUGBUG优先级1级紧急BUG应立即解决,否则无法测试2级很高BUG造成数据丢失,或死机现象,系统崩溃3级高BUG不符合系统的设计,或者某一主要功能未实现等4级中某些非主要的功能未实现,不影响其他功能的实现5级低不影响系统的功能实现识别和描述BUGBUG生命周期概念软件从被发现、报告到BUG被修改、验证直至最后关闭的完整过程简单的软件生命周期发现打开修复关闭BUG生命状态打开(open)缺陷修改(working)缺陷验证(verify)缺陷删除(cancel)缺陷关闭(close)缺陷延期(defer)识别和描述BUG第四章黑盒测试技术黑盒测试技术概念在完全不考虑程序内部结构和内部特性的情况下,注重于测试软件的功能性需求,测试者在程序接口处进行测试,只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,并保持数据库或文件的完整性黑盒测试在测试流程中的应用确认测试系统测试验收测试黑盒测试技术黑盒测试发现错误类型功能不对或遗漏界面错误数据结构或外部数据库访问错误性能问题初始化和终止错误黑盒测试技术黑盒测试优缺点优点不需要了解程序内部的代码及实现与软件的内部实现无关;从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便缺点测试结果取决于测试人员制作的测试用例不可能覆盖所有代码程序出现错误不易定位自动化测试复用率低黑盒测试技术黑盒测试方法等价类划分边界值分析因果图判定表场景法其他测试方法黑盒测试技术等价类划分概念把程序的输入域划分成若干部分,从每个部分中选取少数代表性数据当做测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其他值有效等价类和无效等价类有效等价类:无效等价类:黑盒测试技术等价类操作步骤1、确立等价类2、建立等价表3、列出所有划分出的等价类等价类划分原则1、为每一个等价类规定一个唯一的编号2、设计新的测试用例,尽可能多地覆盖尚未覆盖的有效等价类3、设计一个新的测试用例,使其仅覆盖一个无效等价类黑盒测试技术等价类划分例题A测试两位数加法计算机测试要求:测试两个参数的值相加后的结果是否正确其中:1、输入的数值在-99至99之间2、大于99或小于-99的输入应被拒绝,并显示错误信息解题思路1、确定等价类2、建立等价类表3、依照等价类表,划分所有等价类黑盒测试技术等价类划分例题B一个程序读入3个整数,把这3个数值看做一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、等腰的还是等边的1、设三条边2、确立等价类3、建立等价类表4、依等价类表,列出所划分的等价类,设计测试用例黑盒测试技术边界值概念与等价类划分依赖同一个基本原则,输入和输出划分成类,区别在于需考虑输出域边界产生的测试情况边界值设计用例原则1、如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚超越这个范围边界的值作为测试输入数据2、如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据3、如果输入条件规定了输入域或输出域的有序集合,应选取集合的第一个元素和最后一个元素作为用例4、如果程序中使用了内部数据结构,则选择该结构边界上的值作为测试用例5、分析规格说明,找出其他可能的边界条件黑盒测试技术黑盒测试技术边界值例题----等价类表补充边界值用例编号输入数值被测边界预期输出123-100-100(输入)错误信息456100100(输入)错误信息789-64+(-63)-127(输出)-12710111264+63127(输出)127-99+(-99)-10199+99101-64+(-64)-63+(-63)64+6463+63-198(错误信息)错误信息198(错误信息)错误信息错误信息-126错误信息126因果图概念比较等价类划分的方法和边界值分析的方法适用范围测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例局限性1、难以确定输入条件与输出结果之间的因果关系2、测试用例数量极大黑盒测试技术因果图例题两位数加法计算器1、确定输入(条件桩)2、确定结果(动作桩)3、确定条件桩之间关系4、制作判定表5、通过判定表得到测试用例表黑盒测试技术因果图小结分析输入条件(原因)与输出条件(结果)并标示分析原因与原因之间,原因与结果之间关系将分析结果转化为判定表将判定表每一列提取作为依据,设计用例黑盒测试技术判定表概念分析和表达多逻辑条件下执行不同操作的情况的工具判定表的组成1、条件桩(ConditionStub)2、动作桩(ActionStub)3、条件项(ConditionEntry)4、动作项(ActionEntry)黑盒测试技术规则1规则2规则3规则4规则5规则6C1TTTFFFC2TTFTTFC3TFTFA1XXXXA2XXXA3XX条件桩动作桩条件项动作项判定表样例黑盒测试技术条件桩12345678功率大于80马力00001111维修记录不全01010011运行超过5年00110101动作桩优先处理XXXXX其他处理XXX判定表例题例题:对功率大于80马力的机器且维修记录不全,或已运行5年以上的机器,应给予优先的维修处理(其他处理)黑盒测试技术因果图与判定表具体应用实例某厂发放工资,员工分为年薪制和月薪制,其中年薪制的员工犯普通错误扣工资2%,犯严重错误扣工资4%;月薪制的员工犯普通错误扣工资4%,犯严重错误扣工资8%黑盒测试技术场景法概念每个事件触发时的情景形成场景。而同一事件不同的触

1 / 147
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功