收藏 分享(赏)

软件测试知识点总结.doc

上传人:wspkg9802 文档编号:6395997 上传时间:2019-04-11 格式:DOC 页数:26 大小:539.50KB
下载 相关 举报
软件测试知识点总结.doc_第1页
第1页 / 共26页
软件测试知识点总结.doc_第2页
第2页 / 共26页
软件测试知识点总结.doc_第3页
第3页 / 共26页
软件测试知识点总结.doc_第4页
第4页 / 共26页
软件测试知识点总结.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、软件测试知识点总结第一次课 10.7 软件测试概述一 软件测试定义:使用人工或者自动的手段来运行或测定它是否满足规定的需求,或弄预期结果与实际结果之间的差别。二 软件测试的分类1按照开发阶段划分a) 单元测试:模块测试,检查每个程序单元嫩否正确实现详细设计说明中的模块功能等。b) 集成测试:组装测试,将所有的程序模块进行有序、递增的测试,检验程序单元或部件的接口关系c) 系统测试:检查完整的程序系统能否和系统(包括硬件、外设和网络、系统软件、支持平台等)正确配置、连接,并满足用户需求。d) 确认测试:证实软件是否满足特定于其用途的需求,是否满足软件需求说明书的规定。e) 验收测试:按项目任务或

2、合同,供需双方签订的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。2按照测试技术划分白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。-结构测试黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。灰盒测试:介于白盒测试与黑盒测试之间的测试。3 按照测试实施组织划分:开发方测 用户测试 第三方测试4 是否使备测软件运行:静态测试 动态测试。课后作业:1.软件测试与调试的区别? (1)测试是为了发现软件中存在的错误;调试是为证明软件开发

3、的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。 (4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。 (5) 测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的“飞跃“。 (6) 测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7) 大多数 测试的执 行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。2

4、.对软件测试的理解?软件测试就是说要去根据客户的要求完善它.即要把这个软件还没有符合的或者是和客户要求不一样的,或者是客户要求还没有完全达到要求的部分找出来。1.首先要锻炼自己软件测试能力,包括需求的分析能力,提取能力,逻辑化思想能力,即就是给你一个系统的时候,能够把整个业务流程很清晰的理出。2.学习测试理论知识并与你锻炼的能力相结合。 3.想和做。想就是说你看到任何的系统都要有习惯性的思考;做就是把实际去做练习,然后提取经验。总结测试用例,测试计划固然重要,但能力和思想一旦到位了,才能成为一名合格的软件测试工程师。第二次课 10.10 软件测试模型一、软件缺陷:(1)软件未达到产品说明书中已

5、经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标; (4)软件功能超出了产品说明书中指明的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。二、软件测试模型 H 模型(了解) V 模型:, V 模型的缺陷1、仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段2、忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。W 模型的概念:增加了软件各开发阶段中应同步进行的验证和确认(v$v)活动,明确了测试与开发的并行性. 1、测试伴随着整个软件开发周期2、测试的对象不仅仅是程序

6、,需求、设计和功能同样要测试3、根据 W 模型要求,一旦有文档提供,就及 时确定测试的条件、 编写测试用例四. 软件测试的原则4.1 完全测试的不可能性 4.2 软件测试是有风险的活动4.3.测试无法显示潜伏的软件缺陷和故障 4.4. 充分注意测试中的群集现象4.5 杀虫剂现象 4.6.并非所有的软件缺陷都要修复4.7. 80-20 原则 4.8.软件测试必须有预期结果 4.9. 应当把“ 尽早地和不断地 进行软件 测试”作为软件测试者的座右铭4.10. 程序员应该避免检查自己的程序4.11 追溯至用户需求 4.12 及时更新测试第三次课 10.14 等价类1、等价列划分设计方法:是把所有可能

7、的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。等价类是指某个输入域的子集合。在该子集合中各个输入数据对于揭露程序中错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试。有效等价类:对于程序的规格说明来说是合理的、有意义的输入数据构成的集合无效等价类:对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合等价类对于测试有两个重要的意义:完备性 无冗余性2、等价类的划分原则(1)按照区间划分: 一个有效等价类和两个无效等价类。(2)按照数值划分: n 个有效等价类和一个无效等价类(3)按照数值集合划分 一个有

8、效等价类和一个无效等价类(4)按照限制条件或规则划分:可确定一个有效等价类和若干个无效等价类(5)细分等价类3.等价类划分法的步骤(1)确定等价类(2)建立等价类表,列出所有划分出的等价类 (3)从划分出的等价类中按以下的 3 个原则设计测试用例:A 为每一个等价类规 定一个唯一的编号 B 设计一个新的 测试 用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。 C 设计一个新的 测试 用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。 习题:三角形问题。4.等价类划分法(1)弱一般等价类测试 特点: 不考虑无效

9、数据 ,测试用例使用每个等价类中的一个值(2)强 一般等价 类测试 特点:每一个有效等价 类要选择至少一个测试用例(3)弱健壮等价类测试对于有效输入: 使用每个有效 类的一个值对于无效输入: 测试 用例只使用一个无效值,其余值都是有效的(4)强 健壮等价 类测试每个有效等价类和无效等价类都至少要选择一个测试用例第四次课 10.17 等价类划分(续)1.测试用例的定义(1)测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。(2)测试用例是执行的最小实体。 2、特征:(1)最有可能抓住错误的;(2)不是重复的、多余的;(3)一组相似测试用例中最有效的;(4)既不是太简单,也不是太复

10、杂。3、设计测试用例的基本准则测试用例的代表性 测试结果的可判定性 测试结果的可再现性4、确定等价类的方法(1)先考虑输入数据的类型(合法型和非法型)(2)再考虑数据范围(合法型中的合法区间和非法区间) (3)最后考虑输出结果,逆向设定输入5、常见等价类划分测试形式 针对是否对无效数据进行测试,可以将等价类测试分为两种: 1 、标准等价类测试(也称,一般等价类测试) 2、健壮等价类测试 弱健壮(5) :A (Anom, Bnom) B (Anom,Bmin-)C (Anom,Bmax+) D (Amin-,Bnom) E (Amax+,Bnom)强健壮(9) :(Amin- ,Bmin-) (

11、 Amin- ,Bmin+) (Amin+, Bmax+) (Amax+, Bmin-).第五次课 10.21 边界值分析法1、边界值分析法就是对输入或输出的边界值进行测试2、特点:具有很强的发现程序错误的能力;测试用例来自等价类的边界;3、基本原理:故障往往发生在输入定义域和输出值域的边界上,而不是在其内部。4、方法:1、首先应确定边界情况. X Y abd有 两 个 变 量 x、 y的 程 序 的 输 入 域c2、选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据5、标准边界值: min、min+、nom、max-、max健壮边界值: min、min+、nom、max-、max min-

12、 max+6、例7、对于一个含有 n 个 变量的程序,只 让其中一个变量取极值,让其余的变量取正常值,被保留的变量依次取 min、min+、nom、max-、max 值,对每个变量都重复 进行。n 个变量的程序,边界值分析测试程序会产生 4n+1 个测试用例。第六次课 10.24 -决策表方法1.概述:决策表法是黑盒测试方法中最为严格、最具有逻辑性的测试方法。2.什么时候使用?程序输入输出比较多,输入之间、输出之间相互制约的条件比较多时,可以清楚地表达它们之间的各种复杂关系。3.决策表通常由四部分组 成: 规则条件桩: 列出问题的所有 条件条件桩条件项动作桩动作项条件项:针对条件桩给出的条件列

13、出所有可能的取值动作桩:给出问题规定的可能采取的操作动作项:与条件项紧密相关,指出在条件项的各组取值情况下应采取的动作规则:项中的每一列是一条规则,每一条规则是一组测试用例。4.决策表的化简(1)合并 :如果一个条件项(表中某列中的条件值) 和另外一个条件项所产生的动作是相同的,且两个条件项对应的每一行的值只有一个是不同的,则可以将其合并.合并的项除了不同值变成”不关心” 条目外,其余不变(2)包含: 如果两个条件项的动作是相同的,对任意条件 1 的值和条件 2 中对应的值,如果满足:A.如果条件 1 的值是 T(F),则条件 2 中的值也是 T(F). B.如果条件 1 的值是-( 不关心)

14、, 则条件 2 中的值是 T,F,-,称条件 1 包含条件 2,条件 2 可以撤去. 重复 A,B 就可以得到精简的决策表.NYNNYYNYNNNYYNY合并 包含5.构造决策表的步骤:(1)确定 规则 的个数 (2)列出所有的条件桩 和动作桩(3)填入 输入 项 (4)填入动作项,得到初始的决策表 (5)对初始的决策表化简6 决策表测试法的适用范围(1)if-then-else 逻辑突出 (2)输入变量之间存在逻辑关系(3)涉及 输入 变量子集的 计算 (4)输入和输 出之间存在因果关系第七次课 10.28-因果 图方法1、概述:如果输入之间有关系,测试时必须考虑输入条件的各种组合,考虑适合

15、于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。适合于检查程序输入条件的各种组合情况。2、因果图法的基本思想: 首先从程序规格说明书的描述中,找出因(输 入条件) 和果(输出结果或者程序状态的改变), 然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例.3.基本符号 原因 结果通常在因果图中用 Ci 表示原因,用 Ei 表示结果,各结点表示状态,可取值“0”或“1” 。“0”表示某状态不出现, “1”表示某状态出现。C2c1恒等: c1 为 1,则 e1 也为 1,否则 e1 为 0. 非: 若 c1 是 1,

16、则 e1 为 0,否则 e1 是 1.或: 若 c1 或 c2 或 c3 是 1,则 e1 是 1,若三者都不为 1,则 e1 为 0.与: 若 c1 和 c2 都是 1,则 e1 为 1,否则 若有其中一个不为 1,则 e1为 0.4约束:实际问题中,输 入状态之间可能存在某些依赖关系.E 约 束 (异): a,b 最多有一个可能为 1,不能同时为 1.I 约束 (或): a,b,c 中至少有一个必 须为 1,不能同时为 0.O 约束(惟一): a 和 b 必须有一个且仅有一个 为 1R 约束(要求):a 是 1 时,b 必须是 1,即 a 为 1 时,b 不能为 0M 约束:对输出条件的约

17、束,若结果 a 为 1,则结果 b 必须为 0.5、因果图生成测试用例的基本步骤1、找出原因和结果。2、画出因果图。 3、增加约束。4、把因果图转化为判定表,并化简。5、把判定表的每一列拿出来作为依据,设计测试用例。6.例题(1)原因: C1:第一个字符是 A; C2:第一个字符是 B; C3:第二个字符是一个数字字找.结果:结果: E1:给出信息 L; E2:修改文件; E3:给出信息 M;(2)因果图. (3)决策表。(4)设计测试用例测试用例 1: 输入数据 :A3 预期输出: 修改文件测试用例 2: 输入数据 :AM 预期输出: 给 出信息 M测试用例 3: 输入数据 :B3 预期输出

18、: 修改文件测试用例 4: 输入数据 :B* 预期输出: 给 出信息 M测试用例 5: 输入数据 :C2 预期输出: 给 出信息 L测试用例 6: 输入数据 :CM 预期输出:给出信息 LM1 2 3 4 5 6 7 8C1C2C3101111101011100101110101001000007.因果图法的优点:1.考虑了多个输入之间的相互组合、相互制约关系;2.能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题.第八次课 10.31 黑盒复习第九、十次课 11.4 11.7 白盒测试1、 白盒测试概述:白盒测试也称结构测试或逻辑驱动测试。2、

19、 方法:程序结构分析;逻辑覆盖测试;基本路径测试;3、 原则:1、保证一个模块中所有独立路径至少被测试一次;2.所有逻辑值均需测试真(True)和假(False)两种情况;3.检查程序的内部数据结构,保证其结构的有效性;E1E2E3不可能 测试用例A3A5AMA(闭合区域数+1)2. 给定流图 G 的环形复 杂度为 V(G),定 义为 V(G )=E-N+2,E 是流图中边的数量,N 是流 图中节点的数量.3. 给定流图 G 的环形复 杂度 V(G),定义为 V(G)=P+1,P 是流图46714810 11132134G 中判定节点的数量 .例:图中的圈复杂度,计算如下: 流图中有四个区域;

20、 V(G)=10 条边-8 结点+2=4; V(G)=3 个判定结 点+1=4 。(4)图矩阵节点 1 2 3 41 a 2 b 3 c4 d 图矩阵即流图的矩阵表示。其维数等于流图的节点数。每列和每行都对应于标识的节点,矩阵元素对应于节点的边。其中横坐标为起点, 纵坐标为终点。例:若矩阵记为 M,则 M(4,1)“d”, 边 d 的方向是节点 4 到节点 1第十二次课 11.14 测试用例设计-9-白盒最后1、 静态测试不实际运行软件,主要对软件的编程格式、结构等方1234abcd一 个 简 单 的 流 图面进行评估。可以有人工进行,也可借助软件工具自动进行。2、 静态测试的方法 (1)代码

21、检查:代码审查 代码走查 桌面检查 同行评分(略) 代码审查:通常由 4 人组成,其中一人是协调人,一人是程序的编写者,其他人员通常是程序的设计人员以及测试专家。优点和作用:错误列表、高效、会后修正、增加修改错误清单、较早发现错误。 代码走查:为测试员的人会带着一些书面的测试用例参加会议 桌面检查:(1)完全没有约束(2)开发人员测试自己的程序(3)没有展示自己能力,缺乏良好的效应。 (效果远远逊于代码审查和代码走查)3、静态结构分析:主要是以图形的方式表现程序的内部结构。4、代码质量度量:功能性 可靠性 可用性 |有效性 可维护性 轻便性第十三次课 11.18 单元测试1、单元测试的重要性时

22、间方面节省 测试效果明显 测试成本较低 产品质量直接2.1 单元测试的定义单元测试又称模块测试,是最小单位的测试,其依据是详细设描述,对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术2.2 单元测试的对象结构化程序,单元测试所说的单元是指函数,面向对象程序,单元测试的单元一般是指类。2.4 单元测试的人员:开发人员3、单元测试的内容模块接口: 检查进出程序单元的数据流是否正确。局部数据结构: 必须测试模块内部的数据能否保持完整性。边界条件测试:主要检查临界数据是否正确处理。独立路径测试:单元测试中最主要的测试。出错处理:要求能预见出错的条件,并设置适当

23、的处理对象,保证其路径的正确性。1、 输出的错误信息难以理解。2、 记录错误与实际遇到的错误不符。3、 在程序自定义出错处理运行之前系统介入。4、 异常处理不当。5、 错误陈述中未能提供做够的定位出错信息。6、4.、单元测试的方法5、单元测试的流程 计划单元测试 设计单元测试 执行单元测试 评估单元测试(1)驱动模块(Drive) 用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。(2)桩模块(Stub) 用来模拟被测模块工作过程中所调用的模块。它们一般只进行很少的数据处理。 5.3 执行单元测试(1)设置测试环境(

24、2)将测试环境初始化(3)执行测试过程。5.4 评估单元测试(1)测试完备性评估 (2) 代码覆盖率评估第十四次课 11.21 单元测试-JUNIT常用的断言方法断言方法 描述assertEquals(a,b) 测试 a 是否等于 bassertFalse(a) 测试 a 是否 为 false,a 是一个 Boolean 值assertNotNull(a) 测试 a 是否非空 ,a 是一个 对象或者 nullassertNotSame(a,b) 测试 a 和 b 是否没有都引用同一个 对象assertNull(a) 测试 a 是否 为 null,a 是一个对象或者 nullassertSame

25、(a,b) 测试 a 和 b 是否都引用同一个 对象assertTrue(a) 测试 a 是否 为 true,a 是一个 Boolean 值第十五次课 11.25 集成测试1、集成测试又称组装测试,集成测试是在单元测试的基础上,将所有模块按照设计要求组装成子系统或系统进行的测试活动。2、集成测试的目的确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确,所测试的内容包括单元间的接口以及集成后的功能。3、集成测试的层次(1)模块内集成测试(2)子系统内集成测试(3)子系统间集成测试4、集成测试流程5、集成测试方法:1)静态测试 只要指对概要设计的测试。2)动态测试:以黑盒测试为主,

26、需要了解内部细节时结合白盒测试6、集成测试策略 非增量式集成:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。关键模块的特征: 满 足某些 软件需求; 在程序的模块结 构中位于较高的层次(高层控制模块); 较 复杂 、较易发生 错误; 有明确定义的性能要求。 增量式集成:逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。方法: 1、自顶向下增量式测试 深度优先 广度优先。2、 自底向上增量式测试 3、混合增量式测试7、不同集成测试方法的比较

27、第十六次课 11.28 功能测试1、 确定功能测试的需求功能测试的基本目标:从用户需求出发,尽早的发现不满足用户需求,与产品说明书不一致的所有问题。、1、 程序安装启动正常,有相应的提示框,错误提示。、2、 每一项功能能正常运行,输出结果正确。、3、 能处理各种不正常的操作,对异常数据的输入可以进行提示容错处理等。、4、 系统的界面清晰美观。、5、 菜单按钮正常、灵活。、6、 软件升级后能继续支持旧版的数据,支持各种应用环境。2、 功能测试的内容:、1、 界面测试:指系统界面整体布置的合理性,以及是否能清晰美观。、2、 数据测试:能够正确的数据输入,对异常的数据输入有提示和容错处理。、3、 操作测试:所有菜单按钮设计符合操作习惯,能对操作有正确的响应。、4、 逻辑测试:合理清楚、流畅,不复杂。、5、 接口测试:与硬件设备的接口 第三软件接口 公共接口。3、所有测试方法都可以使用:例如等价类、边界值、因果图、决策表、场景。第十七次课 12.2 1、 可用性测试2、 安全性测试3、 兼容性测试4、 指标/协议测试5、安装 /卸载程序测试6、软件本地化测试

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 工作总结

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报