ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:474.52KB ,
资源ID:3293419      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3293419.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件测试复习.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件测试复习.docx

1、软件测试复习第一章软件测试贯穿整个软件开发过程软件=程序+文档+DB程序=算发+数据结构一个软件产品从形成概念开始,经过开发、测试、使用和维护,直到最后退出使用的全过程称为软件生存周期。一般软件生存周期包括软件定义、软件开发、软件测试、软件使用与维护等几个部分。软件定义可分为软件系统的可行性研究和需求分析两个阶段,其基本任务是确定软件系统的工程需求。整个测试过程分单元测试、集成测试、系统测试以及验收测试四个阶段进行。测试的方法主要有白盒测试和黑盒测试。软件过程模型,如瀑布过程模型、螺旋过程模型和增量过程模型等软件能量成熟度模型(CMM)初始级、重复级、定义级、管理级、优化级。软件错误 导致 软

2、件曲线 激活 软件故障 产生 软件失效软件错误是指在软件生存期内的不希望出现或不可接受的人为错误,软件错误导致软件缺陷的产生。软件产生错误的原因:软件复杂性、交流不够、交流上有误解或者根本不进行交流、程序设计错误、需求变化、时间压力、代码文档贫乏和软件开发工具。软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态,此时若无适当措施(容错)加以及时处理,便产生软件失效。软件失效是指软件在运行过程中产生的不希望出现或不可接受的外部行为结果。MTBF

3、 mean time between failue 失效时间MTTF mean time to failue 开始对失效时间(平均失效时间)MTTR mean time to repaire 平均修复时间LRU 外场 可更换单元SRU 内场 可更换单元ISO/IEC 91261991标准规定的软件质量度量模型。它由3层组成,其中第1层称为质量特性(SQRC软件质量需求评价准则),第2层称为质量子特性(SQDC),第3层称为度量(SQMC)。这个模型定义了8个质量特性,即正确性、可靠性、可维护性、效率、安全性、灵活性、可使用性、互连性。所谓的内部质量是从内部观点出发的软件产品特性的总体,是针对内

4、部质量需求被测量和评价的质量。 内部质量特征主要包括:可维护性、灵活性、可移植性、可重用性、可读性、可测试性、可理解性。外部质量的定义是:软件产品在规定条件下使用时满足需求的程度。外部质量是从外部观点出发的软件产品特性的总体,它是当软件执行时,更典型地是使用外部度量在模拟环境中,用模拟数据测试时,所被测量和评价的质量,即在预定的系统环境中运行时可能达到的质量水平。外部质量特征主要包括:正确性、可用性、效率、可靠性、完整性、适应性、精确性、坚固性。简单地说,软件测试就是为了发现错误而执行程序的过程。 软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的

5、需求或弄清楚预期结果与实际结果之间的差别。” 软件测试 不等于 程序测试 软件测试贯穿于整个软件开发过程软件测试的目的是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。软件测试的规则:测试是一个程序的执行过程,其目的在于发现错误。一个好的测试用例很可能会发现至今尚未察觉的错误。一个成功的测试是发现至今尚未察觉的错觉的测试。测试的原则(8020 80%错误在20%的代码中): 1.所有的测试都应追溯到用户需求2.把“尽早和不断地测试”作为开发者的座右铭3.程序员应该避免检查自己的程序,测

6、试工作应该由独立的专业的软件测试机构来完成4. pareto原则5.设计测试用例时,应该考虑各种情况6.对测试错误结果一定要有一个确认的过程7.制定严格的测试计划8. 完全测试是不可能的,测试需要终止9.注意回归测试的关联性10.妥善保存一切测试过程文档V模型是最具有代表意义的测试模型 ,反映出了测试活动与分析设计活动的关系。V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。但是V模型也存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序运行的寻找错误

7、的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。 H模型揭示了软件测试是一个独立的流程,贯穿产品整个生命

8、周期,与其他流程并发地进行。Verification 验证 我们正确的构造了产品?Validation 确认 我们构造了正确的产品?模(1) 测试活动应与软件开发同步进行;(2) 测试对象不仅仅是程序还有需求设计等等;(3) 及早发现放假缺陷,降低成本。 软件测试分类: 1按测试方式分类 静态测试 动态测试2按测试方法分类 白盒测试 黑盒测试3按测试过程分类单元测试集成测试系统测试验收测试4按测试目的分类功能测试健壮性测试接口测试性能测试强度测试压力测试(压力负载测试)用户界面测试安全测试可靠性测试安装/反安装测试文档测试恢复测试兼容性测试软件测试流程1 制订测试计划2 设计测试方案3 测试准

9、备和测试环境的建立4 执行测试5 测试评估6 测试总结软件测试人员应具备下列基本素质。1具有良好的计算机编程基础2具有创新精神和超前意识3不懈努力,追求完美4具有很强的沟通和交流能力5具有整体观念,对细节敏感6团队合作精神一段代码找BUG?经典种子公式(可靠性植入模型):植入N个发现n个BUG,t个其他BUG则 n/N=t/T T=tN/n步骤:1.功能(文档功能描述) 2.走查 3.设计测试用例 4.执行 5.撰写报告第二章制订测试计划第三章黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实现、每个实现了的功能是否符合要求,以及产品的性能是否满足用户的要求。 软件的黑

10、盒测试意味着测试要在软件的接口处进行,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符合它的功能说明,以及性能是否满足用户的要求。因此黑盒测试又叫功能测试或数据驱动测试。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试是一种

11、被广泛使用的逻辑测试方法,也称为结构测试或逻辑驱动测试。白盒测试对象基本上是源程序,是以程序的内部逻辑为基础的一种测试方法。白盒测试方法又可分为静态测试和动态测试。静态测试是一种不通过执行程序而进行测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。它瞄准的是纠正软件系统在描述、表示和规格上的错误,是任何进一步测试的前提。而动态测试需要软件的执行,当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析是动态测试的主要特点。动态测试主要验证一个系统在检查状态下是正确还是不正确。动态测试技术主要包括程序插桩、逻辑覆盖、基本路径测试等。 最常见的静态测试是

12、找出源代码的语法错误,这类测试可由编译器来完成,因为编译器可以逐行分析检验程序的语法,找出错误并报告。代码检查三大方法书:桌面检查、代码审查和走查方式。师:走查、审查、评审。对一下内容的检查:(1) 检查代码和设计的一致性; (2) 代码的可读性以及对软件设计标准的遵循情况; (3) 代码逻辑表达的正确性; (4) 代码结构的合理性; (5) 程序中不安全、不明确和模糊的部分; (6) 编程风格方面的问题等。控制了关键路径就控制了进度在软件动态测试中,程序插桩是一种基本的测试手段,有着广泛的应用。程序插桩方法是借助往被测程序中插入操作,来实现测试目的的方法,即向源程序中添加一些语句,实现对程序

13、语句的执行、变量的变化等情况进行检查。 逻辑覆盖我觉得肯定考,请认真看课本例题。从覆盖源程序语句的详细程度分析,逻辑覆盖标准有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。基本路径测试图基本路径测试法的步骤 (1) 画出程序控制流图 (2) 计算程序环路复杂性 进行程序的基本路径测试时,程序的环路复杂性给出了程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。 所谓独立路径,是指包括若干未曾处理的语句或条件的一条路径基本路径集不是惟一的,对于给定的控制流图,可以得到不同的基本路径集。 通常环路复杂性可用以下3种方法求得。 将环路复

14、杂性定义为控制流图中的区域数。 设E为控制流图的边数,N为图的结点数,则定义环路的复杂性为V(G)=EN+2。 若设P为控制流图中的判定结点数,则有V(G)=P+1。1语句覆盖 语句覆盖使程序中每个语句至少都能被执行一次。2判定覆盖 比语句覆盖稍强的覆盖标准是判定覆盖。按判定覆盖准则进行测试是指,设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。判定覆盖又称为分支覆盖。3条件覆盖 在设计程序中,一个判定语句是由多个条件组合而成的复合判定。 条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。4条件判

15、定组合覆盖 条件判定组合覆盖的含义是:设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。5多条件覆盖 多条件覆盖也称为条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的。例: int a,b,c; If(a0&b0) c=c/a; If(a1|c1) c=c+1;语句覆盖ace(2,2,4),(2,2,3)判定覆盖ace、abd或acd、abe(2,2,4),(2,2,3)TT(-1,-1,-1),(-

16、1,-1,-1)FF条件覆盖(2,2,4),(2,1,3)T1T2T3T4(-1,-1,-1),(-1,-1,-1)F1F2F3F4条件判定覆盖(2,2,4),(2,1,3)T1T2T3T4 T(-1,-1,-1),(-1,-1,-1)F1F2F3F4 F多条件覆盖(2,2,4),(2,1,3) a b a c(2,2,4),(2,1,3) T T T T(2,-1,1),(2,-1,2) T F T F(-1,2,2),(-1,2,3) F T F T(-1,-1,-1),(-1,-1,-1) F F F F1计算V(G)2独立路径数3C0、C1、C2(语句覆盖、分支覆盖、分支循环覆盖)V(

17、G)=E-N+2=11-7+2=6P1 ABCFGP2 ABDFGP3 ABEFGP4 ABCDFGP5 ABEDFGP6 ABDFGBDFGC0把ABCDEFG点覆盖=P1、P5或P1、P2、P3或P3、P4C1把所有IF、ELSE都走遍=P1、P2、P3、P4、P5C2把C1中加入循环=C1、P6或P1、P2、P3、P4、P5、 P6请仔细复习老师曾经留的作业和修改。符号测试技术:符号执行方法,通过分析源程序代码产生测试用例的技术,技术主要包括变量替换(静态测试方法)表达式简化和约束条件,可用于程序路径检查,程序证明等。黑盒测试技术:等价类划分是一种典型的、常用的黑盒测试方法。等价类的划分

18、有以下两种不同的情况 有效等价类:是指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用它,可以检验程序是否实现了规格说明预先规定的功能和性能。 无效等价类 :是指对于程序规格说明来说,是不合理的、无意义的输入数据构成的集合。利用它,可以检查程序中功能和性能的实现是否有不符合规格说明要求的地方。划分等价类的方法如下: 按区间划分 按数值划分 按数值集合划分 按限制条件划分 按限制规则划分按处理方式划分在确立了等价类之后,建立等价类表,列出所有划分出的等价类,如表3-1所示。边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常输入等价类与输出等价类的边界,就是应着重

19、测试的边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。边界值分析 4N+1 N为变量个数健壮性分析 6N+1最坏情况测试 5的N次方边界值分析测试用例是最欢情况测试用例的真子集。某C语言标识符以字母,数字组合,标识符长度1-8,标识符不能为保留字,先声明后使用,在同一语句中标识符至少一个。输入有效等价类无效等价类第一字母组合长度使用个数字母开头_开头 字母、数字1-8先声明后使用=1非字母、非_开头非字母、非数字保留字08无声明使用0测试用例Tc1 int a12 , _xy ; A12=5 ;Tc2 int #a2 ; T

20、c3 int while ; Tc4 int a* ; Tc5 int x , ; Tc6 int a23456789 ; Tc7 int x ; Y=5; Tc8 int ; 一报表处理应用,要求用户输入日期的年月,假设日期限制在2000年1月到2030年12月,例如2001年1月用200101表示,若应用等价类测试方法,设计如下等价类表。输入合理等价类不合理等价类报表日期6位数字非6位数字年份范围2001-20302030月份范围1-1212等价类测试重复边界值分析的两个因素:健壮性和单/多缺陷假设。四种形式的等价类: 弱一般等价类、强一般等价类、弱健壮等价类、强健壮等价类。 弱一般等价类

21、 基于单缺陷假设,使用一个测试用例,尽可能多地覆盖有效等价类中的每个变量区间,也就是一个用例尽可能地覆盖多个区间。 强一般等价类 基于多缺陷假设,需要笛卡尔积的每个元素对应的测试用例。覆盖所有有效类。 弱健壮等价类 也称为传统的等价类测试,弱是考虑单缺陷假设,健壮是因为考虑了无效值。 有效输入,使用有效类(区间)的一个值,与弱等价类测试一样;无效输入,测试用例,拥有一个无效值,其余值都是有效的。 强健壮等价类 强是指多缺陷假设,健壮是考虑无效值。 因果图法(记得去看下,课本66、67) 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情

22、况。 利用因果图生成测试用例的基本步骤如下。 分析软件规格说明的描述中哪些是原因,哪些是结果。原因是输入条件或输入条件的等价类,结果是输出条件。 分析软件规格说明描述中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系,画出因果图。 标明约束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干标准的符号标明约束条件。 把因果图转换成判定表。 为判定表中的每一列设计测试用例。 通常在因果图中,用Ci表示原因,Ei表示结果,其基本符号如图3-15所示。正交对本试验分析,影响山楂液化率的因素很多,如山楂品种、山楂果肉的破碎度、果

23、肉加水量、原料pH 值、果胶酶种类、加酶量、酶解温度、酶解时间等等。经全面考虑,最后确定果肉加水量、加酶量、酶解温度和酶解时间为本试验的试验因素,分别记作A、B、C和D,进行四因素正交试验,各因素均取三个水平,因素水平表见表10-3所示。 水平试验因素加水量(mL/100g)A加酶量(mL/100g)B酶解温度()C酶解时间(h)D1101201.52504352.53907503.5分析A因素各水平对试验指标的影响。由表3可以看出,A1的影响反映在第1、2、3号试验中,A2的影响反映在第4、5、6号试验中,A3的影响反映在第7、8、9号试验中。A因素的1水平所对应的试验指标之和为KA1=y1

24、+y2+y3=0+17+24=41,kA1= KA1/3=13.7;A因素的2水平所对应的试验指标之和为KA2=y4+y5+y6=12+47+28=87,kA2=KA2/3=29;A因素的3水平所对应的试验指标之和为KA3=y7+y8+y9=1+18+42=61,kA3=KA3/3=20.3。例2超短波跳频分组无线网络由超短波调频电台构成,采用分组的方式实现电台之间的信息传输,各电台之间可以互为中继,其测试软件界面如图。研究传输时间的影响因素,主要由电台个数、报文间隔、报文长度。采用正交表L9(34) 因素水平IDA电台个数(部)B报文间隔(分)C报文长度(字节)传输时间(秒)12110922

25、2507325100443150235321002263510107411003484210289455014F1j206647F1j44F1j28F1j / 3F1j / 3F1j / 3极差R18612753主次顺序 A B C优水平A1B3C2优组合A1B3C2 电台个数的极差最大,报文间隔次之,报文长度的极差最先。分别作出三个因素与传输时延的关系。从表和图可以看出,电台个数2,报文间隔5,报文长度50为最优组合。即A1B3C2,该测试用例不在这9次实验中,是测试结果分析得出。进一步用该组合进行测试验证。若计算后得出的最佳测试用例没有主观比较的结果好,说明对象比较复杂,因素、水平的选取不

26、全面,应另行安排测试,寻找更好的测试用例。若需对测试结果进一步分析给出误差分析,应采用方差分析法。第四章单元测试是对软件设计的最小单元模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。基于Xunit测试框架的测试工具Java编程中使用的JUnit,,NET程序编程中使用的NUit,CppUnit是C+单元测试工具VcTester与C+Test是VC配套的单元测试工具.Visual Unit单元测试工具分析覆盖率的工具:LogiScope、TrueCoverage/PurecOverage集成测试的实施方案有很多种,如:非增式集成测试和增量式集成测试、三明治集成测试、核心集成

27、测试、分层集成测试、基于使用的集成测试等。其中,常用的是非增式集成测试和增量式集成测试两种模式。增式测试方法(1) 自顶向下增式测试需要添加7个桩模块(2) 自底向上增式测试 需要添加4个驱动模块验收测试是在软件开发结束后,用户对软件产品投入实际应用以前,进行的最后一次之恋检验活动。系统测试和验收测试一般采用黑盒测试。回归测试是指软件系统呗修改或扩充后重新进行的测试,回归测试是为了保证对软件修改以后,没有引入新的错误而重新进行的测试。测试:在软件开发公司内部,由软件开发公司组织内部人员,模拟用户对软件产品进行测试。测试:软件开发公司组织用户,在日常工作中实际使用版本。第五章测试用例的三要素:I

28、D编号、输入、预期输出。测试用例是测试用例是执行的最小实体,是为特定的目的而设计的一组测试输入、执行条件和预期的结果。 可以把测试用例归为5大类: 白盒测试用例 软件各项功能的测试用例 用户界面测试用例 软件的各项非功能测试用例 对软件缺陷修正所确认的测试用例第六章软件缺陷简单说就是存在于软件(文档、数据、程序)之中的那些不希望,或不可接受的偏差,而导致软件产生的质量问题。按照一般的定义,只要符合下面5个规则中的一个,就叫做软件缺陷。软件未达到软件规格说明书中规定的功能;软件超出软件规格说明书中指明的范围;软件未达到软件规格说明书中指出的应达到的目标;软件运行出现错误;软件测试人员认为软件难于

29、理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好。软件缺陷的有效描述规则 单一准确 可以再现 完整统一 短小简练 特定条件 补充完善 不作评价软件缺陷的种类(1)功能不正常(2)软件在使用上不方便(3)软件的结构未做良好规划(4)功能不充分(5)与软件操作者的互动不良(6)使用性能不佳(7)未做好错误处理(8)边界错误(9)计算错误(10)使用一段时间所产生的错误(11)控制流程的错误(12)在大数据量压力之下所产生的错误(13)在不同硬件环境下产生的错误(14)版本控制不良所产生的错误(15)软件文档的错误软件缺陷的属性 (1)缺陷标识(2)缺陷描述与缺陷注释(3)缺陷类型(4)缺陷严重程度(5)缺陷产生可能性(6)缺陷的优先级(7)缺陷状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1