您好,欢迎访问三七文档
1.什么是白盒黑盒测试白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,2.测试方法:等价类划分、边界值分析方法、因果图、判定表等价类划分法就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。利用这一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。等价类划分法是一种系统性的确定要输入的测试条件的方法。边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。3.软件测试的二八原则80%的缺陷出现在20%的代码中。也即80%的bug多发生在软件的20%的模块。4.判定覆盖比条件覆盖有更强的逻辑性判定覆盖,也称为分支覆盖,它的基本思想是:设计若干测试用例,使被测程序中每个判定的取真分支和取假分支至少执行一次,即判断真假值均曾被满足。而条件覆盖的基本思想是:要编写足够的测试用例以确保将一个判断中的每个条件的可能结果至少执行一次。(1)判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。往往大部分的判定语句是由多个逻辑条件组合而成。(2)条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。5.在代码测试覆盖中,覆盖了条件的测试用例不一定会覆盖代码里的判定分支要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。条件覆盖:设计若干测试用例,执行被测程序以后要使每个判断中每个条件的可能取值至少满足一次。判断M表达式:设条件a0取真记为T1;假F1条件b0取真记为T2;假F2判断Q表达式:设条件a1取真记为T3;假F3条件c1取真记为T4;假F4我们用条件覆盖设计的思想就是让测试用例能覆盖T1、T2、T3、T4、F1、F2、F3、F4【优点】:增加了对条件判定情况的测试,增加了测试路径。【缺点】:条件覆盖不一定包含判定覆盖。例如,我们刚才设计的用例就没有覆盖判断M的Y分支和判断Q的N分支。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。6.因果图方法会根据输入输出的依赖关系来设计测试用例因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。7.质量模型包括:使用质量、内部质量、外部质量软件质量模型可以分为:内部质量和外部质量模型、使用质量模型,而质量模型中又将内部和外部质量分成六个质量特性,将使用质量分成四个质量属性,8.软件测试的核心理念及核心技术(救命题)9.程序规格规定:输入三个整数作为三边的边长构成三角形,当此三角形为一般三角形、等腰三角形和等边三角形的时候,分别计算。用等价类划分的方法进行用例设计输入条件要求:整数、三个数、非零数、整数输出条件要求:两边之和大于第三边,等腰,等边列出所有等价类:1.使用质量模型包括:有效性、生产力、满意度、安全性;2.基本软件的测试方法:单元测试、集成测试、系统测试;3.系统测试:功能测试、恢复测试、安全测试、性能测试、协议测试;4.软件测试越早,发现的问题越容易修改,投入的代价就越小。
本文标题:软件测试小结
链接地址:https://www.777doc.com/doc-5919291 .html