2023年软件测试技术知识点整理.doc

上传人:知****量 文档编号:58295002 上传时间:2022-11-07 格式:DOC 页数:20 大小:467.54KB
返回 下载 相关 举报
2023年软件测试技术知识点整理.doc_第1页
第1页 / 共20页
2023年软件测试技术知识点整理.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《2023年软件测试技术知识点整理.doc》由会员分享,可在线阅读,更多相关《2023年软件测试技术知识点整理.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、软件测试的定义软件测试是一个过程或一系列过程,用来确认计算机代码完毕了其应当完毕的功能,不执行其不该有的操作。1软件测试与调试的区别? (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的对的性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除记录性调试外,结果是不可预见的。 (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。 (4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。 (5) 测试的执行是有规程的;调试的执行往往规定开发人员进行必要推理以至知觉的奔腾。 (6

2、) 测试经常是由独立的测试组在不了解软件设计的条件下完毕的;调试必须由了解具体设计的开发人员完毕。 (7) 大多数测试的执行和设计可以由工具支持;调式时,开发人员能运用的工具重要是调试器。2对软件测试的理解?软件测试就是说要去根据客户的规定完善它.即要把这个软件还没有符合的或者是和客户规定不同样的,或者是客户规定还没有完全达成规定的部分找出来。(1)一方面要锻炼自己软件测试能力,涉及需求的分析能力,提取能力,逻辑化思想能力,即就是给你一个系统的时候,可以把整个业务流程很清楚的理出。(2)学习测试理论知识并与你锻炼的能力相结合。 (3)想和做。想就是说你看到任何的系统都要有习惯性的思考;做就是把

3、实际去做练习,然后提取经验。总结测试用例,测试计划固然重要,但能力和思想一旦到位了,才干成为一名合格的软件测试工程师。二、软件测试的分类1按照测试技术划分(1)白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是对的的,检查软件内部动作是否按照设计说明的规定正常进行。-结构测试(2)黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。-性能测试(3)灰盒测试:介于白盒测试与黑盒测试之间的测试。2按照是否让备测软件运营划分(1)静态测试(2)动态测试3按照开发阶段划分(1)单元测试:模块测试,检查每个程序单元嫩

4、否正的确现具体设计说明中的模块功能等。(2)集成测试:组装测试,将所有的程序模块进行有序、递增的测试,检查程序单元或部件的接口关系(3)系统测试:检查完整的程序系统能否和系统(涉及硬件、外设和网络、系统软件、支持平台等)对的配置、连接,并满足用户需求。(4)确认测试:证实软件是否满足特定于其用途的需求,是否满足软件需求说明书的规定。(5)验收测试:按项目任务或协议,供需双方签订的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。4按照测试实行组织划分(1)开发方测试(2)用户测试(3)第三方测试三、软件测试的原则1测试用例中一个必需部分是对预期输出或结果的定义;2程序员应当避免

5、测试自己编写的程序;3编写软件的组织不应当测试自己编写的程序;4应当彻底检查每个测试的执行结果;5测试用例的编写不仅应当根据有效和预期的输入情况,也应当根据无效和未预料到的输入情况;6检查程序是否“未做其应当做的”仅是测试的一半,测试的另一半是检查程序是否“做了不应当做的”;7应避免测试用例用后既弃,除非软件自身就是一个一次性的软件;8计划测试工作时不应默许假定不会发现错误;9程序某部分存在更多错误的也许性,与该部分已发现错误的数量成正比;10软件测试是一项极富发明性、极具智力挑战性的工作。四、测试用例的设计1测试用例的定义(1)测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果

6、。(2)测试用例是执行的最小实体。 2特性:(1)最有也许抓住错误的;(2)不是反复的、多余的;(3)一组相似测试用例中最有效的;(4)既不是太简朴,也不是太复杂。3设计测试用例的基本准则测试用例的代表性、测试结果的可鉴定性、测试结果的可再现性。五、黑盒测试1等价类划分法等价类划分法的设计方法:是把所有也许的输入数据,即程序的输入域划提成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。等价类是指某个输入域的子集合。在该子集合中各个输入数据对于揭露程序中错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试。有效等价类:对于程序的规格说明来说是合理

7、的、故意义的输入数据构成的集合无效等价类:对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合等价类对于测试有两个重要的意义:完备性 无冗余性等价类划分法的原则(a)按照区间划分: 一个有效等价类和两个无效等价类。(b)按照数值划分: n 个有效等价类和一个无效等价类(c)按照数值集合划分 一个有效等价类和一个无效等价类(d)按照限制条件或规则划分:可拟定一个有效等价类和若干个无效等价类(e)细分等价类等价类划分法的环节(a)拟定等价类(b)建立等价类表,列出所有划分出的等价类 (c)从划分出的等价类中按以下的3个原则设计测试用例:为每一个等价类规定一个唯一的编号设计一个新的测试用例,

8、使其尽也许多的覆盖尚未被覆盖的有效等价类,反复这一步,直到所有的有效等价类都被覆盖为止; 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,反复这一步,直到所有的无效等价类都被覆盖为止。 拟定等价类的方法(a)先考虑输入数据的类型(合法型和非法型);(b)再考虑数据范围(合法型中的合法区间和非法区间);(c)最后考虑输出结果,逆向设定输入。2边界值分析法边界值分析法就是对输入或输出的边界值进行测试特点:具有很强的发现程序错误的能力;测试用例来自等价类的边界;基本原理:故障往往发生在输入定义域和输出值域的边界上,而不是在其内部。方法:(a)一方面应拟定边界情况. (b)选取正好等于,刚

9、刚大于或刚刚小于边界的值作为测试数据标准边界值: min、min+、nom、max-、max 健壮边界值: min、min+、nom、max-、max min- max+例: 对于一个具有n个变量的程序,只让其中一个变量取极值,让其余的变量取正常值,被保存的变量依次取min、min+、nom、max-、max值,对每个变量都反复进行。n个变量的程序,边界值分析测试程序会产生4n+1个测试用例。3决策表法概述:决策表法是黑盒测试方法中最为严格、最具有逻辑性的测试方法。什么时候使用?程序输入输出比较多,输入之间、输出之间互相制约的条件比较多时,可以清楚地表达它们之间的各种复杂关系。条件桩条件项动作

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

11、2中的值也是T(F). 假如条件1的值是-(不关心),则条件2中的值是T,F,-,称条件1包含条件2,条件2可以撤去. 反复A,B就可以得到精简的决策表.NYNNYYNYNNNYYNY合并 包含构造决策表的环节:(a)拟定规则的个数;(b)列出所有的条件桩和动作桩;(c)填入输入项;(d)填入动作项,得到初始的决策表;(e)对初始的决策表化简。决策表测试法的合用范围(a)if-then-else逻辑突出;(b)输入变量之间存在逻辑关系;(c)涉及输入变量子集的计算;(d)输入和输出之间存在因果关系。4因果图方法概述:假如输入之间有关系,测试时必须考虑输入条件的各种组合,考虑适合于描述对于多种条

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

13、是1,若三者都不为1,则e1为0.与: 若c1和c2都是1,则e1为1,否则若有其中一个不为1,则e1为0.约束:实际问题中,输入状态之间也许存在某些依赖关系.E约束(异): a,b最多有一个也许为1,不能同时为1.I约束(或): a,b,c中至少有一个必须为1,不能同时为0.O约束(惟一): a和b必须有一个且仅有一个为1R约束(规定):a是1时,b必须是1,即a为1时,b不能为0M约束:对输出条件的约束,若结果a为1,则结果b必须为0.因果图生成测试用例的基本环节(a)找出因素和结果。(b)画出因果图。 (c)增长约束。(d)把因果图转化为鉴定表,并化简。(e)把鉴定表的每一列拿出来作为依

14、据,设计测试用例。例题(a)因素: C1:第一个字符是A; C2:第一个字符是B;C3:第二个字符是一个数字字找。结果: E1:给出信息L; E2:修改文献; E3:给出信息M。(b)因果图。(c)决策表。12345678C1C2C310111110101110010111010100100000E1E2E3不也许测试用例A3A5AMA&B3B5BMB*C2X6CMD*(d)设计测试用例测试用例1: 输入数据:A3 预期输出:修改文献测试用例2: 输入数据:AM 预期输出:给出信息M测试用例3: 输入数据:B3 预期输出:修改文献测试用例4: 输入数据:B* 预期输出:给出信息M测试用例5:

15、输入数据:C2 预期输出:给出信息L测试用例6: 输入数据:CM 预期输出:给出信息LM因果图法的优点:(a)考虑了多个输入之间的互相组合、互相制约关系;(b)可以帮助我们按一定环节,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题。六、白盒测试1白盒测试概述:白盒测试也称结构测试或逻辑驱动测试。2方法:程序结构分析;逻辑覆盖测试;基本途径测试。3原则:(1)保证一个模块中所有独立途径至少被测试一次;(2)所有逻辑值均需测试真(True)和假(False)两种情况;(3)检查程序的内部数据结构,保证其结构的有效性;(4)在取值上、下边界,即可操作范围内运营所有循环.4

16、逻辑覆盖测试:重要是测试覆盖率,以程序内在逻辑结构为基础的测试。6种:语句覆盖 判断覆盖 条件覆盖 鉴定-条件覆盖 条件组合覆盖 途径测试.语句覆盖:在测试时,一方面设计若干个测试用例,然后运营被测程序,使程序中的每个可执行语句至少执行一次 。鉴定:整体 控制。 涉及:a、单一条件鉴定; b、符合条件覆盖语句覆盖率:已执行的可执行语句占程序中可执行语句总数的比例鉴定覆盖:设计足够多的测试用例,使程序中的每个鉴定至少都获得一次“真值”或“假值”。条件覆盖:构造一组测试用例,使得每一鉴定语句中每个逻辑条件的也许值至少满足一次。满足条件覆盖的不一定满足鉴定覆盖,反之亦然。两者无直接关系。鉴定/条件覆

17、盖:设计足够的测试用例,使得鉴定中每个条件的所有也许(真/假)至少出现一次,并且每个鉴定自身的鉴定结果(真/假)也至少出现一次组合条件覆盖(MCC):设计足够的测试用例,使得每个鉴定中条件的各种也许组合都至少出现一次。满足组合条件覆盖的测试用例是一定满足鉴定覆盖、条件覆盖和鉴定/条件覆盖。修正条件鉴定覆盖(MCDC):需要足够的测试用例来拟定各个条件可以影响到包含的鉴定的结果,即规定满足两个条件。七、静态测试1静态测试不实际运营软件,重要对软件的编程格式、结构等方面进行评估。可以有人工进行,也可借助软件工具自动进行。2静态测试的方法 (1)代码检查:代码审查 代码走查 桌面检查 同行评分(略)

18、(2)代码审查:通常由4人组成,其中一人是协调人,一人是程序的编写者,其别人员通常是程序的设计人员以及测试专家。优点和作用:错误列表、高效、会后修正、增长修改错误清单、较早发现错误。(3)代码走查:为测试员的人会带着一些书面的测试用例参与会议(4)桌面检查:(a)完全没有约束(b)开发人员测试自己的程序(c)没有展示自己能力,缺少良好的效应。(效果远远逊于代码审查和代码走查)3静态结构分析:重要是以图形的方式表现程序的内部结构。4代码质量度量:功能性 可靠性 可用性 |有效性 可维护性 轻便性八、单元测试1单元测试的定义单元测试又称模块测试,是最小单位的测试,其依据是具体设描述,对模块内所有重

19、要的控制途径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术2单元测试的对象结构化程序,单元测试的单元是指单个子程序、函数或过程面向对象程序,单元测试的单元是指类或方法(通常为类)。3单元测试的目的将模块的功能与定义模块的功能规格说明或接口规格说明进行比较,揭示出模块与其规格说明之间存在的矛盾。4单元测试的人员:开发人员5单元测试的针对的问题(1)模块接口: 检查进出程序单元的数据流是否对的。(2)局部数据结构: 必须测试模块内部的数据能否保持完整性。(3)边界条件测试:重要检查临界数据是否对的解决。(4)独立途径测试:发现由于不对的的鉴定或不正常的控制流而产生的错误。(5)犯

20、错解决:规定能预见犯错的条件,并设立适当的解决对象,保证其途径的对的性。6单元测试的流程计划单元测试设计单元测试执行单元测试评估单元测试7. 计划单元测试(1)驱动模块(Drive):用来模拟被测试模块的上一级模块,相称于被测模块的主程序。它接受数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。(2)桩模块(Stub):用来模拟被测模块工作过程中所调用的模块。它们一般只进行很少的数据解决。 8设计单元测试(1)需要的信息模块的规格说明:模块的输入和输出以及模块的功能。模块的源代码。(2)测试用例的设计方法模块测试总体上是面向白盒测试的(静态、动态)后续测试针对较大的元素不易进行

21、白盒测试。后续测试着眼于发现其他类型的错误,不一定与程序逻辑结构有关。使用一种或多种白盒测试方法分析模块的逻辑结构,然后使用黑盒测试方法对照模块的规格说明补充测试用例。9.执行单元测试(1)设立测试环境(2)将测试环境初始化(3)执行测试过程。10.评估单元测试(1)测试完备性评估 (2) 代码覆盖率评估九、集成测试1集成测试的定义集成测试又称组装测试,集成测试是在单元测试的基础上,将所有模块按照设计规定组装成子系统或系统进行的测试活动。2集成测试的目的保证各单元组合在一起后可以按既定意图协作运营,并保证增量的行为对的,所测试的内容涉及单元间的接口以及集成后的功能。3集成测试的层次(1)模块内

22、集成测试(2)子系统内集成测试(3)子系统间集成测试4集成测试的流程5集成测试的方法(1)静态测试:只要指对概要设计的测试。(2)动态测试:以黑盒测试为主,需要了解内部细节时结合白盒测试6集成测试策略(1)非增量式集成:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。关键模块的特性:满足某些软件需求;在程序的模块结构中位于较高的层次(高层控制模块);较复杂、较易发生错误;有明拟定义的性能规定。(2)增量式集成:逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连

23、接过程中产生的问题。方法: 自顶向下增量式测试:深度优先、广度优先。 自底向上增量式测试混合增量式测试7不同集成测试方法的比较十、系统测试1 系统测试的目的将系统或程序与其初始目的进行比较,这意味着系统测试并不局限于系统,系统测试是一个试图说明程序作为一个整体是如何不满足其目的的过程。假如产品没有一组书面的、可度量的目的,系统测试也无法进行。2 系统测试的类型能力测试,容量测试,强度测试,易用性测试,安全性测试,性能测试,存储测试,配置测试,兼容性/配置/转换测试,安装测试,可靠性测试,可恢复性测试,合用性测试,文档测试,过程测试(1)能力测试判断目的文档提及的每一项能力(以区别功能测试中的功

24、能)是否都的确已经实现。通常是通过人工检查目的文档中定义了“要做什么” 。(2)容量测试是程序经受大容量数据的检查,目的是证明程序不能解决目的文档中规定的数据容量。容量测试需要大量的资源,不可进行过多。如何使操作系统的作业队列达成饱和容量。(3)强度测试使程序承受高负载或强度的检查。所谓高强度是指在很短的时间间隔内达成的数据或操作的数量峰值。(要与容量测试相区分)强度测试涉及时间因素,合用于在可变负载下运营的程序以及交互式程序、实时程序和过程控制程序。基于Web的应用程序也是最常接受强度测试的软件之一。如,1.在很短的时间内是操作系统的作业队列达成峰值; 2.web应用程序要解决一定容量的并发

25、用户。注:强度测试是对强度的界定很重要。(4)易用性测试每个用户界面是否都根据用户的智力、教育限度和环境规定进行了调整?程序的输出是否故意义、不模糊且无计算机杂乱信息?错误诊断信息是否直接,非计算机专业用户是否可以理解(这规定对错误进行精确的预测和具体的分类)?整体的用户界面是否在语法、惯例、语义、格式、风格和缩写等方面展现出了相称限度的完整性、一致性和同一性?系统是否包含过多或不太也许用到的选项?对于所有输入,系统是否返回了即时确认信息?程序是否易于使用?如区分大小写的规定用户是否清楚,不同层次菜单之间的浏览是否容易等。(5)安全性测试设计测试用例来突破程序安全检查。例如,可以设计测试用例来

26、规避操作系统的内存保护机制、破坏数据库管理系统的数据安全机制等。常用的测试用例设计方法是研究类似系统中已知的安全问题,然后生成测试用例,暴露被测系统中的类似问题基于Web的应用程序经常比绝大多数程序所需的安全测试级别更高,对于电子商务网站特别如此。(6)性能测试很多软件都有特定的性能或效率目的,这些特性描述为在特定负载和配置环境下程序的响应时间和吞吐率。应设计测试用例来说明程序不能满足其性能目的。(7)存储测试软件偶尔会有存储目的,例如描述程序使用的内存和辅存的容量以及临时文献或移出文献的大小。应设计测试用例来证明这些存储目的没有得到满足。(8)配置测试很多软件都支持多种硬件配置,可以运营在多

27、种操作系统下,使用多种web浏览器。通常也许的配置数量非常之大,以至于无法全面测试,但应当尽也许测试各种配置。(9)兼容性/配置/转换测试很多软件不是全新的,而是为了替换某些已有的系统。这样的软件往往涉及与已有系统的兼容以及从已有系统的转换过程,如升级数据库管理系统。(10)安装测试有些软件的安装过程非常复杂,测试安装过程是系统测试的一个重要部分。(11)可靠性测试所有测试都是为了提高软件的可靠性,但假如软件的目的中包含了对可靠性的特别描述,就必须设计专门的可靠性测试用例。(12)合用性测试对于软件的合用性和可维护性目的也必须测试。(13)可恢复性测试诸如OS、DBMS等软件通常都有可恢复性目

28、的,说明系统如何从硬件失败和数据错误中恢复过来。系统测试的一个目的是证明这些恢复机制不能对的发挥作用。可以故意将程序错误植入个系统中,判断系统是否可以从中恢复。这些系统的设计目的之一是平均恢复时间(MTTR)最小,测试目的之一就是证明系统不能满足MTTR的规定。(13)文档测试系统测试也需要检查用户文档的对的性和清楚性。(14)过程测试很多软件系统不是完全自动化的,其中涉及了很多人员操作过程。在系统测试中,必须对所有已规定的人工过程,如系统操作员、最终用户、数据库管理员的操作过程进行测试。十一、验收测试是将程序与其最初的需求及最终用户当前的需要进行比较的过程通常是由程序的客户或最终用户来进行,一般不认为是软件开发机构的职责最佳的方法是设计测试用例,尽力证明程序没有满足协议规定;假如这些测试用例都通过了,就可以接受该程序。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁