《软件测试技术》知识点整理

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

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

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

资源描述

一、软件测试的定义软件测试是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。1.软件测试与调试的区别?(1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。(2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。(3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。(5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的飞跃。(6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。(7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。2.对软件测试的理解?软件测试就是说要去根据客户的要求完善它.即要把这个软件还没有符合的或者是和客户要求不一样的,或者是客户要求还没有完全达到要求的部分找出来。(1)首先要锻炼自己软件测试能力,包括需求的分析能力,提取能力,逻辑化思想能力,即就是给你一个系统的时候,能够把整个业务流程很清晰的理出。(2)学习测试理论知识并与你锻炼的能力相结合。(3)想和做。想就是说你看到任何的系统都要有习惯性的思考;做就是把实际去做练习,然后提取经验。总结测试用例,测试计划固然重要,但能力和思想一旦到位了,才能成为一名合格的软件测试工程师。二、软件测试的分类1.按照测试技术划分(1)白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试(2)黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。--性能测试(3)灰盒测试:介于白盒测试与黑盒测试之间的测试。2.按照是否让备测软件运行划分(1)静态测试(2)动态测试3.按照开发阶段划分(1)单元测试:模块测试,检查每个程序单元嫩否正确实现详细设计说明中的模块功能等。(2)集成测试:组装测试,将所有的程序模块进行有序、递增的测试,检验程序单元或部件的接口关系(3)系统测试:检查完整的程序系统能否和系统(包括硬件、外设和网络、系统软件、支持平台等)正确配置、连接,并满足用户需求。(4)确认测试:证实软件是否满足特定于其用途的需求,是否满足软件需求说明书的规定。(5)验收测试:按项目任务或合同,供需双方签订的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。4.按照测试实施组织划分(1)开发方测试(2)用户测试(3)第三方测试三、软件测试的原则1.测试用例中一个必需部分是对预期输出或结果的定义;2.程序员应当避免测试自己编写的程序;3.编写软件的组织不应当测试自己编写的程序;4.应该彻底检查每个测试的执行结果;5.测试用例的编写不仅应当根据有效和预期的输入情况,也应当根据无效和未预料到的输入情况;6.检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了不应该做的”;7.应避免测试用例用后既弃,除非软件本身就是一个一次性的软件;8.计划测试工作时不应默许假定不会发现错误;9.程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比;10.软件测试是一项极富创造性、极具智力挑战性的工作。四、测试用例的设计1.测试用例的定义(1)测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。(2)测试用例是执行的最小实体。2.特征:(1)最有可能抓住错误的;(2)不是重复的、多余的;(3)一组相似测试用例中最有效的;(4)既不是太简单,也不是太复杂。3.设计测试用例的基本准则测试用例的代表性、测试结果的可判定性、测试结果的可再现性。五、黑盒测试1.等价类划分法①等价类划分法的设计方法:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。等价类是指某个输入域的子集合。在该子集合中各个输入数据对于揭露程序中错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试。有效等价类:对于程序的规格说明来说是合理的、有意义的输入数据构成的集合无效等价类:对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合等价类对于测试有两个重要的意义:完备性无冗余性②等价类划分法的原则(a)按照区间划分:一个有效等价类和两个无效等价类。(b)按照数值划分:n个有效等价类和一个无效等价类(c)按照数值集合划分一个有效等价类和一个无效等价类(d)按照限制条件或规则划分:可确定一个有效等价类和若干个无效等价类(e)细分等价类③等价类划分法的步骤(a)确定等价类(b)建立等价类表,列出所有划分出的等价类(c)从划分出的等价类中按以下的3个原则设计测试用例:·为每一个等价类规定一个唯一的编号·设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;·设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。④确定等价类的方法(a)先考虑输入数据的类型(合法型和非法型);(b)再考虑数据范围(合法型中的合法区间和非法区间);(c)最后考虑输出结果,逆向设定输入。2.边界值分析法①边界值分析法就是对输入或输出的边界值进行测试②特点:具有很强的发现程序错误的能力;测试用例来自等价类的边界;③基本原理:故障往往发生在输入定义域和输出值域的边界上,而不是在其内部。④方法:(a)首先应确定边界情况.(b)选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据⑤标准边界值:min、min+、nom、max-、max健壮边界值:min、min+、nom、max-、maxmin-max+⑥例:xnom,yminxnom,ymin+xnom,ymaxxnom,ymax-xmin,ynomxmin+,ynomxmax,ynomxmax-,ynomxnom,ynom⑦对于一个含有n个变量的程序,只让其中一个变量取极值,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-、max值,对每个变量都重复进行。n个变量的程序,边界值分析测试程序会产生4n+1个测试用例。3.决策表法①概述:决策表法是黑盒测试方法中最为严格、最具有逻辑性的测试方法。②什么时候使用?程序输入输出比较多,输入之间、输出之间相互制约的条件比较多时,可以清楚地表达它们之间的各种复杂关系。③决策表通常由四部分组成:规则条件桩:列出问题的所有条件条件项:针对条件桩给出的条件列出所有可能的取值动作桩:给出问题规定的可能采取的操作动作项:与条件项紧密相关,指出在条件项的各组取值情况下应采取的动作规则:项中的每一列是一条规则,每一条规则是一组测试用例。④决策表的化简(a)合并:如果一个条件项(表中某列中的条件值)和另外一个条件项所产生的动作是相同的,且两个条件项对应的每一行的值只有一个是不同的,则可以将其合并.合并的项除了不同值变成”不关心”条件桩条件项动作桩动作项XYabd有两个变量x、y的程序的输入域c条目外,其余不变(b)包含:如果两个条件项的动作是相同的,对任意条件1的值和条件2中对应的值,如果满足:–如果条件1的值是T(F),则条件2中的值也是T(F).–如果条件1的值是-(不关心),则条件2中的值是T,F,-,称条件1包含条件2,条件2可以撤去.–重复A,B就可以得到精简的决策表.合并包含⑤构造决策表的步骤:(a)确定规则的个数;(b)列出所有的条件桩和动作桩;(c)填入输入项;(d)填入动作项,得到初始的决策表;(e)对初始的决策表化简。⑥决策表测试法的适用范围(a)if-then-else逻辑突出;(b)输入变量之间存在逻辑关系;(c)涉及输入变量子集的计算;(d)输入和输出之间存在因果关系。4.因果图方法①概述:如果输入之间有关系,测试时必须考虑输入条件的各种组合,考虑适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。适合于检查程序输入条件的各种组合情况。②因果图法的基本思想:首先从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变),然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例.③基本符号原因结果通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。NYNNYY√√-NY√NNN-YY√√N-Y√恒等:c1为1,则e1也为1,否则e1为0.非:若c1是1,则e1为0,否则e1是1.或:若c1或c2或c3是1,则e1是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)把判定表的每一列拿出来作为依据,设计测试用例。⑥例题(a)原因:C1:第一个字符是A;C2:第一个字符是B;C3:第二个字符是一个数字字找。结果:E1:给出信息L;E2:修改文件;E3:给出信息M。(b)因果图。C1C2C310E1E2E3∨~∧~(c)决策表。12345678C2c1C1C2C310111110101110010111010100100000E1E2E3不可能√√√√√√√√√测试用例A3A5AMA&B3B5BMB*C2X6CMD*(d)设计测试用例测试用例1:输入数据:A3预期输出:修改文件测试用例2:输入数据:AM预期输出:给出信息M测试用例3:输入数据:B3预期输出:修改文件测试用例4:输入数据:B*预期输出:给出信息M测试用例5:输入数据:C2预期输出:给出信息L测试用例6:输入数据:CM预期输出:给出信息LM⑦因果图法的优点:(a)考虑了多个输入之间的相互组合、相互制约关系;(b)能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题。六、白盒测试1.白盒测试概述:白盒测试也称结构测试或逻辑驱动测试。2.方法:程序结构分析;逻辑覆盖测试;基本路径测试。3.原则:(1)保证一个模块中所有独立路径至少被测试一次;(2)所有逻辑值均需测试真(True)和假(False)两种情况;(3)检查程序的内部数据结构,保证其结构的有效性;(4)在取值上、下边界,即可操作范围内运行所有循环.4.逻辑覆盖测试:主要是测试覆盖率,以程序内在逻辑结构为基础的测试。6种:语句覆盖判断覆盖条件覆盖判定-条件覆盖条件组合覆盖路径测试.①语句覆盖:在测试时,首先设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次。·判定:整体控制。包括:a、单一条件判定;b、符合条件覆盖·语句覆盖率:已执行的可执行语句占程序中可执行语句总数的百分比②判定覆盖:设计足够多的测试用例,使程序中的每个判定至少都获得一次“真值”或“假值”。③条件覆盖:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。满足条件覆盖的不一定满足判定覆盖,反之亦然。两者无直接关系。④判定/条件覆盖:设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定

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

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

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

×
保存成功