本次课程学习目标
掌握测试用例概念
掌握黑盒测试设计方法并熟练选用
测试用例(test case)的定义
软件测试的本质是针对要测试的内容确定一组测试用例
测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果
测试用例是执行的最小实体
测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且达到程序所设计的执行结果
一个好的测试用例特点
最有可能抓住错误的
一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试(Grenford J. Myers 《The art of Software Testing》)
不重不漏
一组相似测试用例中最有效的
既不是太简单,也不是太复杂
测试用例的好处
避免盲目测试
提高测试效率
重点突出,目的明确
通用化和复用化使测试工作易于展开
软件更新后只须更新对应的用例,降低工作强度,缩短项目周期
测试用例组成关键元素
编号/I/D名称/目的/前提条件/操作步骤/预期结果/实际结果/设计人员
测试用例设计
定义:
所谓的测试用例设计就是将软件测试的行为活动,作一个科学化的组织归纳。
目的:就是为了能将软件测试的行为转换为可管理的模式。
测试用例设计原则
代表性
能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的
输入数据、操作和环境设置等
测试结果的可判定性
测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果
测试结果的可再现性
对同样的测试用例,系统的执行结果应当是相同的
等价类
背景:
通常情况下,考虑测试输入数据所有可能的组合是不现实的,须从可能的所有测试用例中进行合理的选择,采用等价类划分方法可以实现这个目的。
定义:
将软件或系统的输入(或输出)分成不同的组,对于同一个组的输入,软件或系统应该有相似的表现行为,就好像系统是以相同的方式对这些输入进行处理,通常把这种技术称为等价类划分。
划分规则
1、如果输入条件规定了取值范围或值得个数的情况况下,可以确立一个有效等价类和两个无效等价类
2、如果规定了输入数据的个数,则可以划分一个有效等价类和两个无效等价类
3、如规定了输入数据的一组值,且程序对于不同输入值作不同的处理,则每个允许的输入值是一个有效等价类,所有不允许的输入值是一个无效等价类
4、如果规定了输入数据必须遵守的规则,可确定一个有效等价类,若干个无效等价类
5、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
6、在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小等价类
等价类划分法测试用例设计
步骤一:确立了等价类后,建立等价类表,并为每一个等价类确定一个唯一的编号
步骤二:设计一个测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类,重复这一步骤,使所有有效等价类均被覆盖
步骤三:设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步骤,使得所有无效等价类均被覆盖
等价类划分法步骤
1、确定有效类、无效类
2、细分有效类和无效类
3、选择代表值
4、生成测试用例
边界值
定义:对输入或输出的边界值进行测试的一种方法。通常作为等价类方法的补充
与等价类的区别
不是从等价类中随便挑一个作为代表,而是使等价类的每个边界都要作为测试条件
不仅考虑输入,也考虑输出
边界值分析基本思想:Min,Min+,Nor,Max-,Max
次边界
普通边界条件是最容易找到的,它们在产品说明书中有定义,或者在使用软件的过程中确定。有些边界在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查。(如:2的乘方、ASCII字符表)
扩展-健壮性测试
健壮性测试是边界值分析的一种简单扩展,除了变量的五个边界值分析取值,还要通过采用一个略超过最大值(max+)的取值,以及一个略小于最小值(min-)的取值。
因果图
简介
等价类和边界值着重考虑程序的输入条件,因果图多为考虑输入条件之间的关系,相互组合、相互制约。
输入条件的相互组合,会产生新的情况,并且组合情况相当多
因果图法是从用自然语言书写的描述中找到因(输入条件)和果(输出或程序状态的改变),例用图解法分析输入的各种组合情况,从而设计测试用例
优点
考虑了输入条件的各种组合以及输入情况的约束条件
帮助测试人员高效率的开发测试用例
将自然描述语言转化为形式语言规格说明的一种严格的方法,可以指出规格说明书中的不完
备性和二义性
因果图基本逻辑符号
恒等:若ci是1,则ei也是1;否则ei为0
非:若ci是1,则ei是0;否则ei是1
或:若c1或c2是1,则ei是1;否则e1是0;可以有任意个输入
与:若c1和c2是1,则ei是1;否则ei是0。可以有任意个输入
约束
输入状态之间存在的依赖关系,称之为约束。某些输入条件不可能同时出现输出状态之间也存在约束
用特定的符号表示约束关系
约束关系定义
输入条件的约束
E:互斥;a和b中至多有一个为1,即a和b不可能同时为1
I:包含,a,b,c中至少有一个为1,即a,b,c不能同时为0
O:唯一,a和b必须有一个,且只有一个为1;
R:要求,a为1时,b必须为1,即不可能a为1时b为0
输出条件的约束
M:强制,若结果a是1,则强制结果b为0,而当a为0时,b的值不确定。因果图法设计用例的6个步骤
1、将需求规格说明分解为可执行的片段。这是必须的步骤,因为因果图不善于
处理较大的规格说明。如:在测试一个web页面设计时,我们可能会测试一个单独的菜单树,甚至是一个不太复杂的导航序列
2、确定规格说明书中的因果关系。所谓“因”,是指一个明确的输入条件或输入
条件的等价类。所谓“果”,是指一个输出条件或系统转换(输入对程序或系统状态的延续影响)。如:某个事务引起文件或数据库记录被修改,那么这种改变就是一个系统转换,反馈的确认信息就是一个输出条件。因果关系一旦确定下来,每个“因”和“果”都被赋予一个唯一的编号。
3、分析规格说明的语义内容,并将其转换为连接因果关系的布尔图(因果图)。
4、给图加上注解符号,说明由于语法或环境的限制而不能联系起来的“因”和“果”。--
约束
5、通过仔细的跟踪图中状态变化情况,将因果图转换成一个有限项的判定表。
6、将判定表中的列转换成测试用例。
判定表
在所有的黑盒测试方法中,判定表示最严格,最具有逻辑性的测试方法
定义:分析和表达多逻辑条件下执行不同操作的情况的工具
优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏
在一些数据处理问题当中,某个操作的实施依赖于多个逻辑条件的组合。不同的逻辑条件的组合,分别执行不同的操作。判定表特别适合处理这种情况
判定表通常由4个部分组成
规则:将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。
在判定表中贯穿条件项和动作项的一列就是一条规则。
条件桩:列出问题的所有条件
条件项:针对条件桩给出的条件列出所有可能的取值
动作桩:列出问题规定的可能采取的动作
动作项:指出在条件项的各组取值情况下应采取的动作
两个合并规则
规则合并1
有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。
规则合并2
与上图类似,无关条件项“-”可包含其它条件项取值,具有相同动作的规则可合并构造判定表5个步骤:
①列出所有的条件桩和动作桩
②确定规则的个数,2n个;
③填入条件项
④填入动作项,得到初始判定表
⑤简化决策表,合并相似规则
判定表的方法适用于具有以下特征的程序:
If-then-else逻辑突出,输入变量之间存在逻辑关系;
涉及输入变量子集的计算;
输入和输出之间存在因果关系
适用于使用判定表设计测试用例的条件:
①规则说明以判定表形式给出,或者容易转化为判定表
②条件的排列顺序不会也不应影响执行的操作
③规则的排列顺序不会也不应影响执行的操作
④当某一规则的条件已满足,并确定要执行的操作后,不必检验其它的规则
⑤如有某一个规则的条件要执行多个操作,这些操作的执行顺序无关紧要
常用的四种黑盒测试用例设计方法 1.等价划分。所谓等价类划分是指一套被选择的值,这些值分别代表了许多众多 的可能输入值,程序对其处理的方式都是一样的。等价类划分的方法作为继边界值分析方法之后补充的测试用例设计试用的一种方法。划分等价类、确定测试用例。 等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。 等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。 2.边界值分析。在设计测试用例确定输入和输出参数时,大多数情况下都是用边 界值分析方法,采用边界值分析设计的测试用例发现程序错误能力最强。边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
3.错误推测法。人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而 有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。 4.因果图。如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选 用因果图法。如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。
测试流程依次如下: 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)测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠 输入/输出数据满足的一对条件组成。 如何从状态迁移图中选取用例我们采用节点代替状态,弧线代替迁移,那么状态迁移图就转换成为一个程序的控制流程图,问题也就随之转换为路径测试的问题了。所以,功能图方法其实是是一种黑盒/白盒混合使用的用例设计方法。比如在功能图方法中,用到的逻辑覆盖与路径测试的概念和方法,就是属于白盒测试方法中的内容。(逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计方法,该方法要求测试人员对程序的逻辑结构有清楚的了解。由于覆盖测试的目标不同,逻辑覆盖可分为:语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖及路径覆盖。) 注意:测试人员应当注意区分黑盒测试中系统功能或者系统水平上的逻辑覆
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.基于正交矩阵的测试 网站的测试要求:
软件测试功能测试方法-黑盒测试
软件测试功能测试方法 软件测试功能测试方法功能测试方法 黑盒测试(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后再提交,看看系统是否做了处 理。
(又叫用户体验测试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个有效等价类和一个无效等价类。 ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个(从不同角度违反规则)。
黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误; 3)数据结构或外部数据库访问错误; 4)性能错误; 5)初始化和终止错误。 一、黑盒测试的测试用例设计方法 ·等价类划分方法 ·边界值分析方法 ·错误推测方法 ·因果图方法 ·判定表驱动分析方法 ·正交实验设计方法 ·功能图分析方法 等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.
1) 划分等价类: 等价类是指某个输入域的子集合.在该子集 合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可 以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较 好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义 的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软 件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何” 的条件的情况下,可确立一个有效等价类和一个无效等价类. ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). ⑥在确知已划分的等价类中各元素在程序处理中的方式不同 的情况下,则应再将该等价类进一步的划分为更小的等价类.
常用的测试方法 一、黑盒测试 1.黑盒测试其实是一种功能测试,主要在软件的接口处进行。主要测试的以下几类错误: ·是否有不正确或遗漏的功能 ·在给出的接口处正确的输入是否有正确的输出 ·是否有数据结构错误或外部信息访问错误 ·性能上是否满足要求 ·是否有初始化或终止性错误 2.黑盒测试用例 ·等价类划分 等价类即输入域的子集合,测试用例设计时应设计出对应的有效等价类和无效等价类 ·边界值 边界值法是对等价类划分方法的补充,主要是测试发生在输入和输出域边界上的错误.等价类划分和边界值着重考虑输入条件,但测试时还应考虑输入条件之间的关系,各种条件的组合情况,即因果图 ·因果图 根据输入条件间的关系生成判定表,根据判定表的每一列来设计测试用例·功能图 包括状态迁移图和逻辑模型 二、白盒测试 1.白盒测试是对软件过程性细节做细致的检查。主要对软件程序模块做以下检 查: ·对模块的所有路径至少执行一次 ·对模块的所有逻辑判断,取“真”和“假”两种情况各执行一次 ·在循环边界和运行界限内执行循环体 ·测试内部数据结构的有效性 2.白盒测试用例 1)逻辑覆盖 ·语句覆盖 ·分支覆盖 对程序模块中的每个取真分支和取假分支执行一遍 ·条件覆盖 对程序模块中的每个判断的每个条件执行一遍 由于以上的测试用例都有较大的缺陷,所以一般不会使用,采用条件组合覆盖更为合理有效 ·条件组合覆盖(逻辑覆盖的主要方法) 2)基本路径测试用例 测试步骤: ①根据详细设计或源代码导出程序控制流图 ②计算程序环路复杂性,即独立路径的数目(一条新的路径必须包含
一条新边) ③生成测试用例(辅助工具:图形矩阵) 测试策略 一、单元测试 1.单元测试时主要对模块的以下5个方面进行检查: ·模块接口 ·局部数据结构 ·边界条件 ·独立路径 ·出错处理 二、集成测试 1.集成测试时主要要考察程序的以下几个方面: ·各个模块连接时,穿越模块接口的数据是否会丢失 ·一个模块是否会对另一个模块的功能产生不利的影响 ·各个子功能组合起来,能否达到预期的父功能 ·全局数据结构是否有问题 ·单个模块的误差累积起来,是否会被放大,从而达到不可接受的程度 2.集成测试的组织和实施中考虑的因素: ·选用何种系统集成方法来进行集成测试 ·各个模块连接的顺序 ·模块代码编制和测试进度是否集成测试的顺序是否一致 ·测试过程中是否需要有专门的硬件 3.集成测试完成的标志 ·成功执行了测试计划中规定的所有组装测试 ·修正了所发现的错误 ·测试结果通过了专门小组的评审 三、确认测试 1.确认测试流程: ·进行有效性测试,即在模拟的环境下(可能是开发环境),运用黑盒测试的方法,验证所没软件是否满足需求说明书列出的需求。对于测试结果与预期结果不相符进,要提交一份问题报告。 ·软件配置复查 软件配置复查的目的是保证软件配置的所有成份都齐全,各方面的质量都符合要求。 ·a测试和?测试 a测试是一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。?测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试 ·验收测试 验收测试时软件开发人员和QA人员也应参加,由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试结果。
黑盒测试的7种测试方法 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。 黑盒测试有7种测试方法分别是等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、功能图法、正交实验法。下面将一一介绍。 等价类划分法等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。 1、划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类:与有效等价类的定义恰巧相反。设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件
常用黑盒测试的方法 黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误; 3)数据结构或外部数据库访问错误; 4)性能错误; 5)初始化和终止错误。 一、黑盒测试的测试用例设计方法 ·等价类划分方法 ·边界值分析方法 ·错误推测方法 ·因果图方法 ·判定表驱动分析方法 ·正交实验设计方法 ·功能图分析方法 等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输 入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价
类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类. ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类. 3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类: 输入条件有效等价类无效等价类 ... ... ... ... ... ... 然后从划分出的等价类中按以下三个原则设计测试用例:
UT = unit testing 单元测试 IT = integration testing 集成测试 ST = system testing 系统测试 UA T= User acceptance testing 用户接受测试(俗称:验收测试) 通用黑盒测试技术: 1. 等价类 2.边界值 3. 因果图 4. 通过测试和失败测试 5. 错误猜测 6. 随机测试 黑盒方法 1.1 功能分析法 1.2 等价类划分 1.3 因果图 1.4 边值分析 1.5 判定表驱动测试 1.6 逻辑驱动测试 1.7 自动测试用例生成方法 1.8 测试用例设计综合策略 特殊黑盒测试技巧: 1.状态图法 2. 测试大纲法 3. 自动测试工具 功能性测试的21种测试方法: 1.输入非法数据 2.输入默认值 3.输入特殊字符集(或数据类型的合法输入) 4.输入使缓冲区溢出的数据 5.输入产生错误的合法数据组合 6.产生同一个输入的各种的可能输出 7.输出不符合业务规则的无效输出 8.输出属性修改后的结果 9.屏幕刷新显示 10.数据结构溢出 11.数据结构不符合约束 12.操作数与操作符不符 13.递归调用自身 14.计算结构溢出 15.数据共享或关联功能计算出错
16.文件系统超载 17.介质忙或不可用 18.介质损坏 19.文件名不合法 20.更改文件访问权限 21.文件内容受限 设计功能和界面测试方法: 1.文本框、按钮等控件的测试: 文本框 命令按钮控件 单选按钮控件 Up-down控件文本框 组合列表框 复选框控件 列表框控件 滚动条控件 2.编辑操作窗体、插入、编辑、鼠标。 文档的测试 1.需测试的文档 2.文档测试的内容 3.测试文旦 安装的测试 1.安装测试 2. 运行测试 3. 卸载测试 4. 加密测试 设计兼容性测试 1.选择测试平台和应用程序版本 向前兼容和向后兼容。 选择测试平台和应用程序版本: i. 流行程度,使用比较普及的OS和软件平台。 ii. 年份。 iii. 类型。 iv. 生产厂商。 2.数据共享兼容 测试文件的保存和读取。 测试文件的导入和导出。 剪切、复制、粘贴是程序之间无需借助磁盘传输数据最常见的数据共享方式。确认数据可以利用剪贴板在不同程序间的相互复制。
黑盒测试(black—box testing)又称功能测试、数据驱动测试或基于规范的测试。用这种方法进行测试时,被测程序被当作看不见内部的黑盒。在完全不考虑程序内部结构和内部特性的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。因此黑盒测试是从用户观点出发的测试,黑盒测试直观的想法就是既然程序被规定做某些事,那我们就看看它是不是在任何情况下都做的对。完整的“任何情况”是无法验证的,为此黑盒测试也有一套产生测试用例的方法,以产生有限的测试用例而覆盖足够多的“任何情况”。由于黑盒测试不需要了解程序内部结构,所以许多高层的测试如确认测试、系统测试、验收测试都采用黑盒测试。 黑盒测试首先是程序通常的功能性测试。要求: 每个软件特性必须被一个测试用例或一个被认可的异常所覆盖;用数据类型和数据值的最小集测试;用一系列真实的数据类型和数据值运行,测试超负荷、饱和及其他“最坏情况”的结果;用假想的数据类型和数据值运行,测试排斥不规则输入的能力;对影响性能的关键模块,如基本算法、应测试单元性能(包括精度、时间、容量等)。 不仅要考核“程序是否做了该做的?”还要考察“程序是否没做不该做的2”同时还要考察程序在其他一些情况下是否正常。这些情况包括数据类型和数据值的异常等等。下述几种方法:(a)等价类划分,(b)因果图方法,(c)边值分析法,(d)猜错法,(e)随机数法,就是从更广泛的角度来进行黑盒测试。每一个方法都力图能涵盖更多的“任何情况”,但又各有长处,综合使用这些方法,会得到一个较好的测试用例集。 1.等价类划分 等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。 在考虑等价类时,应该注意区别以下两种不同的情况: 有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。 无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 确定等价类有以下几条原则: 如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“……项数可以从1到999……”,则可取有效等价类为“l考项数<999”,无效等价类为“项数<l,,及“项数>999”。 输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标识符应以字母开头……”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。 如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小等价类。
1:程序规定;输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。 2:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,所有记录分为3组,如图: 1、标题:改组只有一个记录,其内容是成绩报告的名字。 2、各题的标准答案:每个记录均在第80个字符处标以数字2。该组的记录: 第一个记录:第1~3个字符为试题数(1~999)。第10~59个字符是1~50题的标准答案(每个合法字符表示一个答案)。 第二个记录:是第51~100题的标准答案。 ……. 3、学生的答案:每个记录均在第80个字符处标以数字3。每个学生的答卷在若干个记录中给出。 学号:1~9个字符 1~50题的答案:10~59。当大于50题时,在第二、三、……个记录中给出。 学生人数不超过200,试题数不超过999。 程序的输出有4个报告: a)按学号排列的成绩单,列出每个学生的成绩、名次。 b)按学生成绩排序的成绩单。 c)平均分数及标准偏差的报告 d)试题分析报告。按试题号排序,列出各题学生答对的百分比。 1. 黑盒测试的具体技术方法有哪些? 答案: 黑盒测试的具体技术方法主要有边界值分析法、等价类划分法、因果图法、决策表测试法、场景法等。 2. 分析如何选择恰当的黑盒测试方法。 答案: 通常在决定测试策略时,有以下的参考原则: ①在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。 ②必要时采用等价划分类方法补充测试用例。 ③采用错误推断法再追加测试用例。 ④对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应当在补充更多的测试用例。
?常用的功能测试方法 ? ?首先测试程序的核心功能,然后测试辅助功能。 ?首先测试功能,然后测试性能。 ?首先测试常见情况,然后测试异常情况。 ?首先测试经过变更的部分,然后测试没有变更的部分。 ?首先测试影响大的问题,然后测试影响小的问题。 ?首先测试必须测试的部分,然后测试可选或没有要求测试的部分 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。 2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。 3. 检查按钮的功能是否正确:如update, cancel, delete, save等功能是否正确。 4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错. 5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错. 6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确. 7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错. 8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致 9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理. 10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息, 按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理. 11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型. 12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.
常用的功能测试方法 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。 2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。 3. 检查按钮的功能是否正确:如update(修改),cancel(取消),delete(删除),save(保存)等功能是否正确。 4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错. 5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错. 6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确. 7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错. 8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致 9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理. 10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理. 11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型. 12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.
手机黑盒测试介绍 手机黑盒测试介绍软件测试 黑盒测试(black—box testing)又称功能测试、数据驱动测试或基于规范的测试。用这种方法进行测试时,被测程序被当作看不见内部的黑盒。在完全不考虑程序内部结构和内部特性的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。因此黑盒测试是从用户观点出发的测试,黑盒测试直观的想法就是既然程序被规定做某些事,那我们就看看它是不是在任何情况下都做的对。完整的“任何情况”是无法验证的,为此黑盒测试也有一套产生测试用例的方法,以产生有限的测试用例而覆盖足够多的“任何情况”。由于黑盒测试不需要了解程序内部结构,所以许多高层的测试如确认测试、系统测试、验收测试都采用黑盒测试。 黑盒测试首先是程序通常的功能性测试。要求: 每个软件特性必须被一个测试用例或一个被认可的异常所覆盖。 用数据类型和数据值的最小集测试。 用一系列真实的数据类型和数据值运行,测试超负荷、饱和及其他“最坏情况”的结果; 用假想的数据类型和数据值运行,测试排斥不规则输入的能力; 对影响性能的关键模块,如基本算法、应测试单元性能(包括精度、时间、容量等)。 不仅要考核“程序是否做了该做的?”还要考察“程序是否没做不该做的2”同时还要考察程序在其他一些情况下是否正常。这些情况包括数据类型和数
据值的异常等等。下述几种方法:(a)等价类划分,(b)因果图方法,(c)边值分析法,(d)猜错法,(e)随机数法,就是从更广泛的角度来进行黑盒测试。每一个方法都力图能涵盖更多的“任何情况”,但又各有长处,综合使用这些方法,会得到一个较好的测试用例集。 1.等价类划分 等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。 在考虑等价类时,应该注意区别以下两种不同的情况: 有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。 无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 确定等价类有以下几条原则: 如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“……项数可以从1到999……”,则可取有效等价类为“l考项数<999”,无效等价类为“项数999”。 输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标