当前位置:文档之家› 黑盒测试流程及方法

黑盒测试流程及方法

黑盒测试流程及方法
黑盒测试流程及方法

测试流程依次如下:

1.需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team

2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如

何合理分配安排资源等。---testing leader or testing manager

3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester

4.执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员)

5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员)

6.defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester

7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.

8.用户体验、软件发布等……

详细测试步骤:

1. 书写测试计划

2. 审核测试计划,未通过返回第一步

3. 书写测试用例;

4. 审核测试用例,未通过返回第三步

5. 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;(测试

报告必须覆盖所有测试用例)

6. 测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;(bug状态NEW)

7. 集成部经理接到bugzilla发过来的bug

7.1 对于明显的并且可以立刻解决的bug,将bug发给开发人员;(bug状态ASSIGNED);

7.2 对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改; (bug状态RESOLVED,决定设置为INVALID);

7.3 对于目前无法修改的,将这个bug放到下一轮次进行修改;(bug状态RESOLVED,决定设置为REMIND)

8. 开发人员接到发过来的bug立刻修改;(bug状态RESOLVED,决定设置为FIXED)

9. 测试人员接到bugzilla发过来的错误更改信息,应该逐项复测,填写新的测试报告

(测试报告必须覆盖上一次中所有REOPENED的测试用例);

10. 如果复测有问题返回第六步(bug状态REOPENED)

11. 否则关闭这项BUG(bug状态CLOSED)

12. 本轮测试中测试用例中有95%一次性通过测试,结束测试任务;

13. 本轮测试中发现的错误有98%经过修改并且通过再次测试(即bug状态CLOSED),返回第五步进行新的一轮测试;

14. 测试任务结束后书写测试总结报告;

15. 正规测试结束进入非正规测试,首先是ALPHA测试,请公司里其他非技术人员以用户角色使用系统。发现bug通知测试人员,测试人员以正规流程处理bug事件;

16. 然后是BETA测试,请用户代表进行测试。发现bug通知测试人员,测试人员以正规流程处理bug事件。(又叫用户体验测试UAT)

Bugzilla是Mozilla公司提供的一款开源的免费Bug(错误或是缺陷)追踪

系统,用来帮助你管理软件开发,建立完善的BUG跟踪体系。Bugzilla是一开源Bug Tracking System,是专门为Unix定制开发的。但是在windows平台下依然可以成功安装使用.Bugzilla是一个搜集缺陷的数据库。它让用户报告软件的缺陷从而把它们转给合适的开发者。开发者能使用bugzilla保持一个要做事情的优先表,还有时间表和跟踪相关性。不是所有的"bugs"都是软件缺陷。一些数据库中的内容是作为增强的请求(RFE)。一个RFE是一个严重级别字段被设为"enhancement"的"Bug".人们常说"bug",实际上意思是Bugzilla中的记

录,所以RFEs经常被称作bug。

黑盒测试

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把

程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程

序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否

能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内

部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。

功能不正确或遗漏;

界面错误;

输入和输出错误;

数据库访问错误;

性能错误;

初始化和终止错误等。

从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,

才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所

以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,

而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价

类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功

能图法、场景法等。

等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少

数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒测试用例设计方法。

划分等价类

1) 划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭

露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它

值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划

分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。

划分等价类准则

2)划分等价类的方法:下面给出六条确定等价类的原则。

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:

输入条件

输入条件有效等价类无效等价类

然后从划分出的等价类中按以下三个原则设计测试用例:

①为每一个等价类规定一个唯一的编号。

②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止。

③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止。

边界值分析法

边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。

(1)边界值分析方法的考虑:

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

(2)基于边界值分析方法选择测试用例的原则:

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

3)根据规格说明的每个输出条件,使用前面的原则1)。

4)根据规格说明的每个输出条件,应用前面的原则2)。

5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

7)分析规格说明,找出其它可能的边界条件。

错误推测法

错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.

错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

因果图法

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型)。

因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。

生成测试用例

(1) 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。

(2) 分析软件规格说明描述中的语义。找出原因与结果之间,原因与原因之间对应的关系. 根据这些关系,画出因果图。

(3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现. 为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。

(4) 把因果图转换为判定表。

(5) 把判定表的每一列拿出来作为依据,设计测试用例。

从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而

线性地增加。

前面因果图方法中已经用到了判定表。判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。

判定表组成法

条件桩(Condition Stub):列出了问题的所有条件.通常认为列出的条件的次序无关紧要。

动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束。

条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值。

动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列。

判定表的建立步骤

①确定规则的个数。假如有n个条件.每个条件有两个取值(0,1),故有2n种规则。

②列出所有的条件桩和动作桩。

③填入条件项。

④填入动作项.等到初始判定表。

⑤简化.合并相似规则(相同动作)。

B. Beizer 指出了适合使用判定表设计测试用例的条件:

①规格说明以判定表形式给出,或很容易转换成判定表。

②条件的排列顺序不会也不影响执行哪些操作。

③规则的排列顺序不会也不影响执行哪些操作。

④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。

⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。

正交试验设计法

就是使用已经造好了的正交表格来安排试验并进行数据分析的一种方法,目的是用最少的

测试用例达到最高的测试覆盖率。

场景法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一

事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到

软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直

黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可

能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);

也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如

备选流2和4)。[2]

基本流和备选流

流程

测试计划

首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

测试设计

将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

测试开发

建立可重复使用的自动测试过程。

测试执行

执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

测试评估

结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

缺点

1. 结果取决于测试用例的设计,测试用例的设计部分优势来源于经验,OUSPG的东西很值得借鉴

2. 没有状态转换的概念,目前一些成功的例子基本上都是针对PDU来做的,还做不到针对被测试程序的状态转换来实现

白盒测试方法

一、白盒测试概念 1、定义 白盒测试又称结构测试、透明盒测试、逻辑驱动测试、基于代码的测试。盒子指被测试的软件,白盒指盒子是可视的。白盒测试是一种测试用例设计方法,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例。白盒测试主要针对被测程序的源代码,主要用于软件验证,不考虑软件的功能实现,只验证内部动作是否按照设计说明书的规定进行。 2、目的 我们一方面注重软件功能需求的实现,另一方面还要注重程序逻辑细节,主要是因为软件自身的缺陷,具体如下: 1)逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。日常处理往往被很好地了解,而“特殊情况”的处理则难于发现。 2)我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行。程序的逻辑流有时是违反直觉的,只有路径测试才能发现这些错误。 3)代码中的笔误是随机且无法杜绝的。笔误出现在主流上和不明显的逻辑路径上的机率是一样的。很多被语法检查机制发现,但是其他的会在测试开始时才会被发现。 4)功能测试本身的局限性。如果程序实现了没有被描述的行为,功能测试是无法发现的,例如病毒,而白盒测试很容易发现它。 3、目标 采用白盒测试必须遵循以下几条原则,才能达到测试的目标: 1)保证一个模块中的所有独立路径至少被测试一次。 2)所有逻辑值均需测试真(true) 和假(false)两种情况。 3)检查程序的内部数据结构,保证其结构的有效性。 4)在上下边界及可操作范围内运行所有循环。 4、黑白灰区别 黑盒测试技术:也称功能测试或数据驱动测试,只关注规格说明中的功能,测试者在程序接口对软件界面和软件功能进行测试,它只检查实现了的功能是否按照“用户需求说明书”的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。主要用于软件确认测试,结合兼容、性能测试等方面,但黑盒测试不能保证已经实现的各个部分都被测试到。黑盒测试适用于各阶段测试。 白盒测试技术:只关注软件产品的测试,深入到代码一级的测试,它是知道产品内部结构,通过测试来检测产品内部动作是否按照“设计规格说明书”的规定正常进行,按照程

常用的四种黑盒测试用例设计方法

常用的四种黑盒测试用例设计方法 1.等价划分。所谓等价类划分是指一套被选择的值,这些值分别代表了许多众多 的可能输入值,程序对其处理的方式都是一样的。等价类划分的方法作为继边界值分析方法之后补充的测试用例设计试用的一种方法。划分等价类、确定测试用例。 等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。 等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。 2.边界值分析。在设计测试用例确定输入和输出参数时,大多数情况下都是用边 界值分析方法,采用边界值分析设计的测试用例发现程序错误能力最强。边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

3.错误推测法。人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而 有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。 4.因果图。如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选 用因果图法。如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。

黑盒测试方法实例

黑盒测试方法实例分析 一:三角形问题(等价类划分法) 例:输入三个整数为三角形的三条边的长度值,程序打印输出这个三角形为不等边的,等腰的,或是等边三角形。 分析: 设三边分别为A,B,C,如能构成三角形的三边,须: ●A>O,B>0,C>0,且A+B>C,B+C>A,A+C>B; ●如是等腰三角形,则要判断A=B||A=C; ●如是等边三角形,须判断是否A=B,且B=C,且A=C; 由此可得三角形等价类设计表:

设计测试用例,输入顺序为A,B,C 二:找零钱最佳组合(边界值分析法) 例:假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种); 1:分析输入的情形 R:商店货品价格(R=<100且R为整数) P:顾客付款金额(0 100 (无效输出)(1) ●R <= 0 (无效输出)(2)

(1)(2)为R的无效输入 ●P > 100(多付)(无效输出)(3) ●0 < R < = 100 P < R (少给)(无效输出)(4) (3)(4)为P的无效输入 ●R<= P <= 100 (5) 0 < R < = 100 (6) (5)(6)同时满足,交易才能进行2:分析输出情形 设PR=P-R(即PR为找给顾客的余额) ●N50 N50 = 1 (PR>=50)(7) N50 = 0 (PR<50)(8) ●N10 4>=N10>=1 (40>=PR>=10) (9) N10 = 0 (PR<10) (10) ●N5 N5=1 (11) N5 = 0 (PR减去个位上钱数能被10整除)(如14-4=10)(12)●N1 4>=N1>=1 (13) N1 = 0 (PR为5的倍数)(14) 3:由上述输入/输出条件组合出可能的情形。 ●R > 100 (1) ●R <= 0 (2) ●0 < R <= 100, P > 100 (3) ●0 < R <= 100, P < R (4) ●0 < R <= 100, R <= P <= 100, RR = 50 (5)(6)(7) ●0 < R <= 100, R <= P <= 100, RR = 49 (5)(6)(8)(9)(11)

黑盒测试流程及方法

测试流程依次如下: 1.需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team 2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如 何合理分配安排资源等。---testing leader or testing manager 3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester 4.执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员) 5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员) 6.defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester 7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug. 8.用户体验、软件发布等…… 详细测试步骤: 1. 书写测试计划 2. 审核测试计划,未通过返回第一步 3. 书写测试用例; 4. 审核测试用例,未通过返回第三步 5. 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;(测试 报告必须覆盖所有测试用例) 6. 测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;(bug状态NEW) 7. 集成部经理接到bugzilla发过来的bug 7.1 对于明显的并且可以立刻解决的bug,将bug发给开发人员;(bug状态ASSIGNED); 7.2 对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改; (bug状态RESOLVED,决定设置为INVALID); 7.3 对于目前无法修改的,将这个bug放到下一轮次进行修改;(bug状态RESOLVED,决定设置为REMIND) 8. 开发人员接到发过来的bug立刻修改;(bug状态RESOLVED,决定设置为FIXED) 9. 测试人员接到bugzilla发过来的错误更改信息,应该逐项复测,填写新的测试报告 (测试报告必须覆盖上一次中所有REOPENED的测试用例); 10. 如果复测有问题返回第六步(bug状态REOPENED) 11. 否则关闭这项BUG(bug状态CLOSED)

黑盒测试基本方法状态迁移法

状态迁移法 一、概念 1.什么是状态迁移法 在定义状态迁移法之前,先介绍一下程序的功能说明。一个程序的功能说明通常由动态说明和静态说明组成。动态说明描述了输入数据的次序或转移的次序。静态说明描述了输入条件与输出条件之间的对应关系。对于较复杂的程序,由于存在大量的组合情况,因此,仅用静态说明组成的规格说明对于测试来说往往是不够的,必须用动态说明来补充功能说明。 功能图方法是用功能图形式化地表示程序的功能说明,并机械地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成: (1)状态迁移图用于表示输入数据序列以及相应的输出数据。用状态和 迁移来描述一个状态指出数据输入的位置(或时间),而迁移则指明状态 的改变,同时要依靠判定表或因果图表示的逻辑功能。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。 (2)逻辑功能模型用于表示在状态中输入条件和输出条件之间的对应关 系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。 (3)测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠 输入/输出数据满足的一对条件组成。 如何从状态迁移图中选取用例我们采用节点代替状态,弧线代替迁移,那么状态迁移图就转换成为一个程序的控制流程图,问题也就随之转换为路径测试的问题了。所以,功能图方法其实是是一种黑盒/白盒混合使用的用例设计方法。比如在功能图方法中,用到的逻辑覆盖与路径测试的概念和方法,就是属于白盒测试方法中的内容。(逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计方法,该方法要求测试人员对程序的逻辑结构有清楚的了解。由于覆盖测试的目标不同,逻辑覆盖可分为:语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖及路径覆盖。) 注意:测试人员应当注意区分黑盒测试中系统功能或者系统水平上的逻辑覆

白盒测试方法习题及答案

[试题分类]:[04]白盒测试方法/[0400][综合]白盒测试方法 1. 下面不属于白盒测试能保证的是。 A. 模块中所有独立途径至少测试一次 B. 测试所以逻辑决策真和假两个方面 C. 在所有循环的边界内部和边界上执行循环体 D. 不正确或漏掉的功能 答案:D 分数:1 题型:单选题 难度:1 2. 因果图方法是根据()之间的因果关系来设计测试用例的。 A. 输入与输岀 B. 设计与实现 C. 条件与结果 D. 主程序与子程序 答案:A 分数:1 题型:单选题 难度:1 3. 使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准 A. 程序的内部逻辑 B. 程序的复杂程度 C. 使用说明书 D. 程序的功能 答案:A 分数:1 题型:单选题 难度:1 4. 软件测试中常用的静态分析方法是()和接口分析。 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 效率分析 答案:A 分数:1 题型:单选题 难度:1 5. 软件测试中常用的静态分析方法是引用分析和()。 A. 引用分析 B. 算法分析 C. 可靠性分析 D. 接口分析 答案:D 分数:1 题型:单选题 难度:1 6. 白盒方法中常用的方法是()方法。 A. 路径测试 B. 等价类 C. 因果图 D. 归纳测试

答案:A 分数:1 题型:单选题 难度:1 7. 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看作是() A. 路径的集合 B. 循环的集合 C. 目标的集合 D. 地址的集合 答案:A 分数:1 题型:单选题 难度:1 8. 软件测试白箱测试是对软件的结构进行测试,下述: I.边缘值分析n.语句测试 皿.分值测试IV .路经测试 )是其应包括的内容。 A. I B. n和皿 C.皿和V D. n .皿和V 答案:D 分数:1 题型:单选题 难度:1 9. 在进行单元测试时,常用的方法是()。 A. 采用白盒测试,辅之以黑盒测试 B. 采用黑盒测试,辅之以白盒测试 C. 只适用白盒测试 D. 只适用黑盒测试 答案:A 分数:1 题型:单选题 难度:1 10. 白盒测试法一般使用于()测试。 A. 单元 B. 系统 C. 集成 D. 确认 答案:A 分数:1 题型:单选题 难度:1 [试题分类]:[04] 白盒测试方法/[0401]逻辑覆盖法 11. 关于条件测试错误的是() A. 可以检查程序中所包含的逻辑条件 B. 条件中包含的错误有布尔算子错误 C. 条件中包含的错误有布尔变量错误 D. 条件中包含的错误有接口错误 答案:D 分数:1 题型:单选题 难度:1

黑盒测试的五种典型方法

1.等价类划分 等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。 在考虑等价类时,应该注意区别以下两种不同的情况: 有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。 无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 确定等价类有以下几条原则: 如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“……项数可以从1 到999……”,则可取有效等价类为“l考项数<999”,无效等价类为“项数<l,,及“项数>999”。 输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标识符应以字母开头……”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。 如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小等价类。 输入条件有效等价类无效等价类 。。。。。。 。。。。。。。。。。。。 。。。。。。。。。。。。 。。。。。。 根据已列出的等价类表,按以下步骤确定测试用例: 为每个等价类规定一个唯一的编号; 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖; 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使所有无效等价类均被覆盖。这里强调每次只覆盖一个无效等价类。这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题,但是没有注意选用一些“高效的”、“有针对性的”测试用例。后面介绍的边值分析法可以弥补这一缺点。 2.因果图 等价类划分法并没有考虑到输入情况的各种组合。这样虽然各个输入条件单独可能出错的情况已经看到了,但多个输入情况组合起来可能出错的情况却被忽略。采用因果图方法能帮助我们按一定步骤选择一组高效的测试用例,同时,还能为我们指出程序规范的描述中存在什么问题。

黑盒测试方法

黑盒测试方法 第4章黑盒测试方法 ——基于正交矩阵的测试 1 0.agenda 1、基于正交矩阵的测试 2 1.基于正交矩阵的测试 3 1.基于正交矩阵的测试 网站的测试要求: 不同的浏览器: IE9 , IE10 , IE11 , chrome , Firefox , Mozilla,safari,opera 不同的插件:Realplayer,Mediaplayer,无插件不同的客户 OS : WinXP , Win7 , Win8 , Android , iOS , S60 不同的Web服务器:IIS,Apache,Weblogic,Tomcat 不同的服务器 OS : Linux , Unix , Windows2019 , Windows2019HPC 4 1.基于正交矩阵的测试 可能采用的测试策略: 尝试测试所有的输入组合选择部分组合进行测试随机选择部分组合进行测试采取 特殊的测试技术(如结对测试),选择可能发现大部分bug的子集进行测试 5 1.基于正交矩阵的测试

正交矩阵是数字的二维矩阵,其特征为选择矩阵中任何两列都覆盖了数字的所有两两组合。正交矩阵符号:L4(23) L4表示有4行 23表示矩阵有3列(3个参数),每列有2个输入值(每个参数有2 个不同取值)组合常用的有L8(27) 、 L9(34) 、 L16(45)等 编号 1 2 3 4 1 1 1 2 2 2 1 2 1 2 3 1 2 2 1 6 1.基于正交矩阵的测试 操作员的角色:管理员,普通操作人员操作的时间:正常上班时间,非上班时间不同的OS:Windows,Linux 编号 1 2 3 4 操作角色管理员管理员普通人员普通人员操作时间正常上班时间非上班时间正常上班时间非上班时间服务器OS Windows Linux Linux Windows 7 1.基于正交矩阵的测试 正交矩阵测试用例的设计步骤: 识别测试对象的参数或变量;确定每个参数的可能取值个数;选择正交矩阵,使得每列对应一个参数并且每列中的每个取值对应参数的不同取值;将测试对象实际的取值映射到正交矩阵;构建测试用例。 8 1.基于正交矩阵的测试 网站的测试要求:

白盒测试和黑盒测试实验报告

软件质量保证与测试 实验指导 计算机工程学院

测试环境配置 1.setting Junit (1) start Eclipse Select windows-preferences-java-build path –class path variables (2) click new, the figure of new variable entry is shown. (3) name JUNIT_LIB

select file-选择JUnit 插件所对应的JAR文件所在地,在Eclipse的安装目录的plugins目录中 2.JUNIT的组成框架 其中,junit.framework 和junit.runner是两个核心包。 junit.framework 负责整个测试对象的框架 junit.runner 负责测试驱动 Junit的框架又可分为: A、被测试的对象。 B、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。

C、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。 D、测试结果的描述与记录。(TestResult) 。 E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure) F、JUnit Framework中的出错异常(AssertionFailedError)。 JUnit框架是一个典型的Composite模式:TestSuite可以容纳任何派生自Test 的对象;当调用TestSuite对象的run()方法是,会遍历自己容纳的对象,逐个调用它们的run()方法。 3.JUnit中常用的接口和类 Test接口——运行测试和收集测试结果 Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。 它的public int countTestCases()方法,它来统计这次测试有多少个TestCase,另外一个方法就是public void run(TestResult ),TestResult是实例接受测试结果,run方法执行本次测试。 TestCase抽象类——定义测试中固定方法 TestCase是Test接口的抽象实现,(不能被实例化,只能被继承)其构造函数TestCase(string name)根据输入的测试名称name创建一个测试实例。由于每一个TestCase在创建时都要有一个名称,若某测试失败了,便可识别出是哪个测试失败。 TestCase类中包含的setUp()、tearDown()方法。setUp()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setUp()方法。tearDown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。 开发人员编写测试用例时,只需继承TestCase,来完成run方法即可,然后JUnit获得测试用例,执行它的run方法,把测试结果记录在TestResult之中。 Assert静态类——一系列断言方法的集合 Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一个AssertionFailedError异常,JUnit测试框架将

黑盒测试方法课程练习题及答案

黑盒测试方法课程练习题 练习1 某城市的电话号码由三部分组成。第一部分为地区码:空白或三位数字;第二部分为前缀:非0或1开头的三位数;第三部分为主要电话号码:八位数字。 请用等价分类法来设计测试用例。 划分等价类: 输入等价类有效等价类无效等价类 地区码空白(1) 三位数字(2)不是空白(3) 有非数字字符(4)少于三位数字(5)多于三位数字(6) 前缀不是0开头(7) 不是1开头(8) 三位数字(9)0开头(10) 1开头(11) 有非数字字符(12)少于三位数字(13)多于三位数字(14) 电话号码八位数字(15)有非数字字符(16) 少于三位数字(17) 多于三位数字(18)设计测试用例: 选取数据覆盖等价类编号 234-12345678 (1)(7)(8)(9)(15) 123-234-12345678 (2)(7)(8)(9)(15) 123-234-12345678 (3) 1we-234-12345678 (4) 12-234-12345678 (5) 1234-234-12345678 (6) 123-012-12345678 (10) 123-123-12345678 (11) 123-a12-12345678 (12) 123-23-12345678 (13) 123-2345-12345678 (14) 123-234-1234567a (16) 123-234-12334 (17) 123-234-123456789 (18)

练习2 某城市的电话号码由三部分组成。第一部分为地区码:空白或三位数字;第二部分为前缀:非0或1开头的三位数;第三部分为主要电话号码:八位数字。 等价类结合边界值法: 选取数据覆盖等价类编号 234-12345678 (1)(7)(8)(9)(15) 123-234-12345678 (2)(7)(8)(9)(15) 123-234-12345678 (3) 1we-234-12345678 (4) 12-234-12345678 (5) 1-234-12345678 (5) 1234-234-12345678 (6) 12345-234-12345678 (6) 123-012-12345678 (10) 123-123-12345678 (11) 123-a12-12345678 (12) 123-23-12345678 (13) 123-2-12345678 (13) 123-2345-12345678 (14) 123-23456-12345678 (14) 123-234-12334 (17) 123-234-123 (17) 123-234-123456789 (18) 123-234-12345678912 (18) 练习3 有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。 请用因果图分析法来设计测试用例。 原因结果 (1)投入1元5角硬币(9)送出“可乐”按钮 (2)投入的是2元硬币(10)送出“雪碧”按钮 (3)按下“可乐”按钮(11)送出“红茶”按钮 (4)按下“雪碧”按钮(12)退还5角硬币 (5)按下“红茶”按钮 中间按钮: (6)按下“可乐”、“雪碧”、或“红茶”按钮 (7)退还5角硬币 (8)钱已付清

白盒测试方法详细说明

白盒测试方法 一、静态结构分析法 程序的结构形式是白盒测试的主要依据。研究表明程序员38%的时间花费在理解软件系统上,因为代码以文本格式被写入多重文件中,这是很难阅读理解的,需要其它一些东西来帮助人们阅读理解,如各种图表等,而静态结构分析满足了这样的需求。 在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据结构、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图标,可以清晰地标识整个软件系统的组成结构,使其便于阅读和理解,然后可以通过分析这些图标,检查软件有没有存在缺陷或错误。 其中函数调用关系图通过应用程序中各函数之间的调用关系展示了系统的结构。通过查看函数调用关系图,可以检查函数之间的调用关系是否符合要求,是否存在递归调用,函数的调用曾是是否过深,有没有存在独立的没有被调用的函数。从而可以发现系统是否存在结构缺陷,发现哪些函数是重要的,哪些是次要的,需要使用什么级别的覆盖要求...... 模块控制流图是与程序流程图相类似的由许多节点和连接节点的边组成的一种图形,其中一个节点代表一条语句或数条语句,边代表节点间控制流向,它显示了一个函数的内部逻辑结构。模块控制流图可以直观地反映出一个函数的内部逻辑结构,通过检查这些模块控制流图,能够很快发现软件的错误与缺陷 二、代码检查 代码检查包括桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面;发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的内容,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。 代码检查方法 1、代码检查法 (1)桌面检查:这是一种传统的检查方法,由程序员检查自己编写的程序。程序员在程序通过编译之后,对源程序代码进行分析、检验,并补充相关文档,目的是发现程序中的错误。由于程序员熟悉自己的程序及其程序设计风格,桌面检查由程序员自己进行可以节省很多的检查时间,但应避免主观片面性 (2)代码审查 由若干程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。代码审查分两步:第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为审查的依据。小组成员在充分阅读这些材料后,进入审查的第二步,召开程序审查会。在会上,首先由程序员逐句简介程序的逻辑。

软件测试功能测试方法-黑盒测试

软件测试功能测试方法-黑盒测试

软件测试功能测试方法 软件测试功能测试方法功能测试方法 黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误;

3)数据结构或外部数据库访问错误; 4)性能错误; 5)初始化和终止错误。 一、黑盒测试的测试用例设计方法 ·等价类划分方法 ·边界值分析方法 ·错误推测方法 ·因果图方法 ·判定表驱动分析方法 ·正交实验设计方法 ·功能图分析方法 等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等

价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规

黑盒测试

常用方法 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。 2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是 否都正确。 3. 检查按钮的功能是否正确:如update,cancel,delete,save等功能是否正确。 4. 字符串长度检查:输入超出需求所说明的字符串长度的内容,看系统是否检查字符 串长度,会不会出错. 5. 字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该 输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错. 6. 标点符号检查:输入内容包括各种标点符号,特别是空格,各种引号,回车键.看 系统处理是否正确. 7. 中文字符处理:在可以输入中文的系统输入中文,看会否出现乱码或出错. 8. 检查带出信息的完整性:在查看信息和update信息时,查看所填写的信息是不是 全部带出.,带出信息和添加的是否一致 9. 信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系 统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理. 10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”, 看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理. 11. 检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加要求 必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型. 12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同 时,也要注意,会不会报和自己重名的错. 13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处 理。

白盒测试方法实验报告

实验报告 课程名称软件测试题目白盒方法测试 院系信息工程学院 班级计算机 学号 学生姓名 指导老师 日期 2019年

一、实验题目 白盒方法测试 二、实验目的 使学生能够更进一步理解白盒测试方法。 能够区分语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖及路径覆盖所达到的覆盖层次,并能用各层次覆盖的设计思想设计相应的测试用例。 区分语句覆盖、判定覆盖、条件覆盖的异同,掌握其测试用例设计方法和程序特征; 三、实验环境 Windows系统平台和Dev-C++开发环境。 四、实验内容 某程序的逻辑设计如下图所示,自行分析程序结构,请为该程序设计测试用例使其分别满足:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖及路径覆盖,并按照测试用例测试程序,完善测试用例各项内容的填写。 #include using namespace std; int main() { int F=0; int T=0; int x,y; cin>>x>>y; if(x>=50&&y>=50) { F=1;} if(x+y>80) { T=2; } else { T=3; } cout<

4 五、实验步骤 1.依据程序逻辑结构图分析程序结构,找出程序的各种组合。 2.依据实验要求设计测试用例使测试达到特定覆盖。 3.选择自己熟悉的语言编写程序。 4.用各种测试用例测试程序。 5.1语句覆盖 特点:语句覆盖要求设计足够多的测试用例,运行被测程序,使得程序中每 条语句至少被执行一次。在本例中,可执行语句是指语句块1到语句块4中的语 句。 优点:可以很直观地从流程图得到测试用例,可以测试所有的执行语句。 缺点:语句覆盖不能准确的判断运算中的逻辑关系错误。假设第一个判断语 句if(x>=50 && y>=50)中的“&&”被错误地写成了“||”,即if(x>=50 || y>=50),使 用上面设计出来的一组测试用例来进行测试,仍然可以达到100%的语句覆盖。 在六种逻辑覆盖标准中,语句覆盖标准最弱的。

黑盒测试流程及方法

(又叫用户体验测试UAT) Bugzilla是Mozilla公司提供的一款开源的免费Bug(错误或是缺陷)追踪 系统,用来帮助你管理软件开发,建立完善的BUG跟踪体系。Bugzilla是一开源Bug Tracking System,是专门为Unix定制开发的。但是在windows平台下依然可以成功安装使用.Bugzilla是一个搜集缺陷的数据库。它让用户报告的缺陷从而把它们转给合适的开发者。开发者能使用保持一个要做事情的优先表,还有时间表和跟踪相关性。不是所有的"bugs"都是。一些数据库中的内容是作为增强的请求(RFE)。一个RFE是一个严重级别字段被设为"enhancement"的"Bug".人们常说"bug",实际上意思是Bugzilla中的记录,所以RFEs经常被称作bug。 黑盒测试 黑盒测试也称,它是通过测试来检测每个功能是否都能正常使用。在测试中,把看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于外部结构,不考虑内部,主要针对和软件功能进行测试。 注重于测试软件的功能需求,主要试图发现下列几类错误。 功能不正确或遗漏; 界面错误; 输入和输出错误; 访问错误; 性能错误; 和错误等。 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证,而就是将测试行为具体量化的方法之一。具体的黑盒方法包括等价类划分法、边界值分析法、错误推测法、、判定法、正交试验设计法、功能图法、法等。 等价类划分的办法是把的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒方法。 划分等价类 1) 划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 :与有效等价类的定义恰巧相反。 设计时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。 划分等价类准则 2)划分等价类的方法:下面给出六条确定等价类的原则。 ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。 ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个. ③在输入条件是一个的情况下,可确定一个有效等价类和一个无效等价类。 ④在规定了输入数据的一组值(假定n个),并且要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个(从不同角度违反规则)。

白盒测试方法总结

白盒测试方法总结 一、静态结构分析法 程序的结构形式是白盒测试的主要依据。研究表明程序员38%的时间花费在理解软件系统上,因为代码以文本格式被写入多重文件中,这是很难阅读理解的,需要其它一些东西来帮助人们阅读理解,如各种图表等,而静态结构分析满足了这样的需求。 在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据结构、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图标,可以清晰地标识整个软件系统的组成结构,使其便于阅读和理解,然后可以通过分析这些图标,检查软件有没有存在缺陷或错误。 其中函数调用关系图通过应用程序中各函数之间的调用关系展示了系统的结构。通过查看函数调用关系图,可以检查函数之间的调用关系是否符合要求,是否存在递归调用,函数的调用曾是是否过深,有没有存在独立的没有被调用的函数。从而可以发现系统是否存在结构缺陷,发现哪些函数是重要的,哪些是次要的,需要使用什么级别的覆盖要求...... 模块控制流图是与程序流程图相类似的由许多节点和连接节点的边组成的一种图形,其中一个节点代表一条语句或数条语句,边代表节点间控制流向,它显示了一个函数的内部逻辑结构。模块控制流图可以直观地反映出一个函数的内部逻辑结构,通过检查这些模块控制流图,能够很快发现软件的错误与缺陷 二、代码检查 代码检查包括桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面;发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的内容,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。 代码检查方法 1、代码检查法

黑盒测试法定义及常用方法

黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误; 3)数据结构或外部数据库访问错误; 4)性能错误; 5)初始化和终止错误。 一、黑盒测试的测试用例设计方法 ·等价类划分方法 ·边界值分析方法 ·错误推测方法 ·因果图方法 ·判定表驱动分析方法 ·正交实验设计方法 ·功能图分析方法 等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.

1) 划分等价类: 等价类是指某个输入域的子集合.在该子集 合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可 以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较 好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义 的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软 件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何” 的条件的情况下,可确立一个有效等价类和一个无效等价类. ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). ⑥在确知已划分的等价类中各元素在程序处理中的方式不同 的情况下,则应再将该等价类进一步的划分为更小的等价类.

白盒测试流程

白盒测试指南 (说明:此白盒测试指南主要给白盒测试人员提供一些基本的白盒测试方法和技术,由于涉及的问题广泛,测试内容中的细节不一定准确和完整,还有待于各位的共同参与和不断完善,欢迎多交流!) 目的 本方案主要实施NC产品程序代码的白盒测试。使界面符合设计规范,适用于用户;保证程序创建的类与接口的完整与正确,以及程序模块单独正常运行。保证局部模块功能完备性,运行正确性与稳定性。 测试项 所要测试的类。如: nc.ui.bd.* nc.bs.bd.* nc.vo.bd.* 测试依据 1.N C产品需求报告; 需求规格说明书、用例描述清单 2.设计文档;(OOA、OOD、CRC卡) 如:AOM(Analysis Object Model)表示类间的静态关系,是多个相关的用例共用的。 ASD(Analysis Sequence Diagram)是按业务工作的顺序表示每一工作步骤执行时类间的动态关系。一个用例对应一个ASD。 CRC (Collaborators & Responsibilities Card)卡是一个类的完整表述 3.界面规范 4.编码规范 5.开发命名标准 通过的准则 1.界面测试通过的标准:界面的样式、大小、颜色、整体布局的设置;各种标签控件的使用及主 题描述以及事件源控件的使用、快捷键使用都应符合《NC系统应用框架需求报告》和《设计文档的相关规范》。 2.程序代码通过的标准:创建的类、接口、方法、属性应与《设计文档》保持一致;程序的各种 命名、注释、代码行的格式等应符合《程序开发命名标准》和《编码规范》;程序模块能独立稳定运行。 测试环境配置 1.测试工具: 2.软件环境: Client端: 操作系统:中文WINNT/2000 开发环境:VA3.5 专业版 待测试的源码包 Server端: 操作系统:WIN NT4.0

相关主题
文本预览
相关文档 最新文档