精华内容
下载资源
问答
  • 软件测试小论文 题目学生成绩评测系统 姓名 班级 学号 分数_ 精选文档 组长 组员 职责 得分 组员 职责 得分 组员 职责 得分 2 精选文档 题目学校考试评测系统规定按照学生成绩给出学生的优秀良好 及格等评价输入成绩...
  • 软件测试小论文 题目 :学生成绩评测系统 姓名 班级 : 学号 : 分数 _ _ _ _ 组长 组员 组员 组员 职责 得分 职责 得分 职责 得分 : ?题目 : 学校考试评测系统规定按照学生成绩给出学生得优秀良好 及格等评价输入成绩 ...
  • 通过实验主要掌握黑盒法和白盒法设计测试用例的技术。 二、实验内容 为以下的三角形程序设计一组测试用例。这个程序的功能是,读入代表三角形边长的3个整数, 判断他们能否组成三角形。如果能够组成,则输出三角形是...
  • 软件测试黑盒白盒测试用例.doc
  • 软件测试综合实训报告填写内容 黑盒测试实训一 1实训目的 理解黑盒测试的基本方法掌握等价类划分法边界值方法 2实验内容步骤及结果 实验内容程序有三个输入变量monthdayyearmonthday和year均为整数值并且满足1month...
  • 软件测试黑盒白盒.ppt

    2020-08-08 11:22:48
    2019/10/30 软件测试方法 2019/10/30 2 功能测试 数据驱动测试 结构测试 逻辑驱动测试 客户需求 事件驱动 输入 输出 2019/10/30 3 ? 黑盒测试 是从用户观点出发的测试它又称功 能测试数据驱动测试或基于规格说明书或...
  • 软件测试黑盒测试&白盒测试

    千次阅读 2020-07-08 21:17:06
    软件测试方法总结 黑盒测试方法 等价类划分法 :分为有效类和无效类,有效类即能够满足需求的输入,无效类真好相反。列如(要求输入1-100的数:那么有效类就是1-100的数,无效类就是除了1-100的数,如字母、特殊...

    软件测试方法总结

    黑盒测试方法

    • 等价类划分法 :分为有效类和无效类,有效类即能够满足需求的输入,无效类真好相反。列如(要求输入1-100的数:那么有效类就是1-100的数,无效类就是除了1-100的数,如字母、特殊符号、汉字、空格等)
    • 边界值分析法 :作为等价类的补充,例如输入1-100的数,那么边界值就主要测试1、2、50、99、100等数。
    • 因果图法:用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例。简单说就是由原因推结果
      例如 :有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
      分析
      原因:① 投入1元5角硬币; ② 投入2元硬币;
      ③ 按“可乐”按钮; ④ 按“雪碧”按钮; ⑤ 按“红茶”按钮。
      中间状态:① 已投币; ② 已按钮。
      结果:① 退还5角硬币; ② 送出“可乐”饮料
      ③ 送出“雪碧”饮料; ④ 送出“红茶”饮料。
      在这里插入图片描述
    • 场景法 :通过描述特定的场景来生成测试用例
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 正交实验设计法(有点小绕) :
      正交表具有以下两个特点。正交表必须满足这两个特点,有一条不满足,就不是正交表。
      1) 每列中不同数字出现的次数相等。这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。
      2) 在任意2列其横向组成的数字对中,每种数字对出现的次数相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性。
      在这里插入图片描述
    • 判定表驱动分析法 :判定表(Decision table)是另一种表达逻辑判断的工具。
      在这里插入图片描述
    • 错误推测法 :在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
    • 功能图分析法:这个我也没太明白,到底是个啥

    白盒测试方法

    静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

    动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

    白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:

    1.语句覆盖每条语句至少执行一次。

    2.判定覆盖每个判定的每个分支至少执行一次。

    3.条件覆盖每个判定的每个条件应取到各种可能的值。

    4.判定/条件覆盖同时满足判定覆盖条件覆盖。

    5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

    6.路径覆盖使程序中每一条可能的路径至少执行一次。
    今天就先到这吧,有空再写。

    展开全文
  • 实验1 黑盒测试 一实验目的与要求 1掌握等价类测试方法的原理步骤及应用 2掌握边界值分析法的原理步骤及应用 3掌握决策表测试方法的原理步骤及应用 二实验设备 1电脑PC 2office办公软件 三实验原理 一等价类测试法 1...
  • 软件测试黑盒白盒测试,对于考试很有用哦 !!!
  • 软件测试技术之白盒与黑盒软件测试对于白盒、黑盒测试技术,测试新人通常都喜欢问这类问题:1、目前所做的工作没有应用到白盒测试技术,都是手工测试,非常没有技术含量?2、很喜欢做测试,希望在测试工作中应用到...
  • 软件工程黑盒白盒测试

    千次阅读 2021-01-12 19:15:02
    重点掌握黑盒测试和白盒测试黑盒由白盒的区别: 黑盒测试: 检查程序各功能是否能实现,检查功能错误; 黑盒测试与软件的具体实现过程无关,只关心结果; 所以又被称为功能测试。 白盒测试: 检查内部操作...

    目的是为了应付期末考试,期末考试肯定会考测试的习题。

    一、概述

    先总览一下测试的分类:
    总览
    重点掌握黑盒测试和白盒测试。

    黑盒由白盒的区别:
    黑盒白盒
    黑盒测试

    • 检查程序各功能是否能实现,检查功能错误;
    • 黑盒测试与软件的具体实现过程无关,只关心结果;
    • 所以又被称为功能测试。

    白盒测试

    • 检查内部操作是否按规定执行,各功能是否得到充分的使用;
    • 所以又被称为结构测试。

    二、黑盒测试方法

    有很多种方法,这里主要讲解两种比较常用常考的方法,分别是等价类划分、边界值分析。

    2.1 等价类划分

    先来一个引例:
    NextDate 函数问题:

    • 是有三个变量 monthdayyear 的函数;
    • 输出为输入日期后一天的日期。

    例如:输入为1986年6月9日,则该函数的输出应为1986年6月10日。

    这个问题涉及到闰年的问题,因为闰年的日期是不一样的。


    等价类划分法是把程序的 输入域 划分为若干部分,然后从每个部分中选取少数代表性数据当作测试用例。

    引例中的输入域可以分为:年、月、日。

    划分等价类可分为两种情况:

    1. 有效等价类:是指有意义的、合理的输入数据所组成的集合。
    2. 无效等价类:是指无意义的、不合理的输入数据所构成的集合。

    在确立了等价类之后,建立 等价类表 ,列出所有划分出的等价类。

    日期问题的等价类表

    然后设计测试用例:

    • 首先为等价类表中的每一个等价类分别规定一个唯一的编号;
    • 设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。
    • 重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。
    • 设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。
    • 重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。

    现在我们总结一下等价类划分法的步骤:

    1. 确定输入域;
    2. 划分等价类;
    3. 建立 等价类表
    4. 对等价类进行 编号
    5. 设计测试用例覆盖所有的等价类。

    下面给一个例子,我们使用总结的方法完成这道题目。

    例题:某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用 等价类划分法 设计测试用例 。

    首先确定输入域:用户可以输入职称、职称兼工龄。

    划分等价类,等价类分为合理等价类和不合理等价类:合理等价类为教授、副教授、讲师、助教并且工龄大于2年。

    建立等价类表并进行编号:
    等价类表
    设计可以覆盖所有等价类的测试用例:
    测试用例

    2.2 边界值分析

    边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。

    步骤如下:

    1. 首先确定边界情况;
    2. 选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。

    举个例子:测试计算平方根的函数。

    ——输入:实数
    ——输出:实数
    ——规格说明:
           当输入一个 0 或比 0 大的数的时候,返回其正平方根;
           当输入一个小于 0 的数时,显示错误信息“平方根非法-输入值小于 0 ”并返回 0 ;
           库函数 Print-Line 可以用来输出错误信息。
    

    等价类划分:

    输入 (i) < 0(ii) >= 0
    输出 (a) >= 0(b) Error 
    

    测试用例:

    输入 4 ,输出 2 。对应于 (ii)(a) 。
    输入 -10 ,输出错误提示。对应于 (i)(b)
    边界值分析:划分 (ii) 的边界为 0 和最大正实数;
    划分 (i) 的边界为最小负实数和 0 。
    由此得到以下测试用例:
    	 输入 {最小负实数}
    	 输入 {绝对值很小的负数}
    	 输入 0
    	 输入 {绝对值很小的正数}
    	 输入 {最大正实数}
    

    例1:有二元函数 f(x,y),其中 x∈[1,12]y∈[1,31]

    采用边界值分析法设计的测试用例是:

    { <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> }
    

    推论:对于一个含有 n 个变量的程序,采用边界值分析法测试程序会产生 4n+1 个测试用例。

    例二:有函数 f(x,y,z) ,其中 x∈[1900,2100]y∈[1,12]z∈[1,31]

    采用边界值分析法设计的测试用例是:

    {
    <2000,6,1>, <2000,6,2>, <2000,6,30>, <2000,6,31>,
    <2000,1,15>, <2000,2,15>, <2000,11,15>, <2000,12,15>,
    <1900,6,15>, <1901,6,15>, <2099,6,15>, <2100,6,15>, 
    <2000,6,15>
    } 
    

    三、白盒测试方法

    白盒测试用到控制流图:控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示过程控制流的结构。

    主要使用到两种图形符号:节点和控制流线。

    流程图都可以转化为控制流图:
    转化
    下面介绍逻辑覆盖测试方法,也是常考的内容,要掌握。

    逻辑覆盖测试方法分为:

    • 语句覆盖;
    • 判定覆盖;
    • 条件覆盖;
    • 判定/条件覆盖;
    • 组合覆盖;
    • 路径覆盖。

    例如:程序

    If(A > 1 && B = 0)
       X = X / A;
    If(A = 2 || X > 1)
       X = X + 1;
    

    流程图

    L1 ( a → c → e )
    = {(A>1) and (B=0)} and {(A=2) or (X/A>1)}
    = (A>1) and (B=0) and (A=2) or (A>1) and (B=0) and (X/A>1)
    = (A=2) and (B=0) or (A>1) and (B=0) and (X/A>1)
    
    L2 ( a → b → d )
    = not {(A>1) and (B=0)} and  not {(A=2) or (X>1)}
    = { not (A>1) or not (B=0) } and { not (A=2) and not (X>1) }
    = not (A>1) and not (A=2) and not (X>1) or not (B=0) and not (A=2) and not (X>1)
    = not (A>1) and not (X>1) or not (B=0) and not (A=2) and not (X>1)
    
    L3 ( a → b → e)
    = not {(A>1) and (B=0)} and {(A=2) or (X>1)}
    = { not (A>1) or not (B=0)} and {(A=2) or (X>1)}
    = not (A>1) and (A=2) or not (A>1) and (X>1) or not (B=0) and (A=2) or not (B=0) and (X>1)
    
    L4 ( a → c → d )
    = {(A>1) and (B=0)} and not {(A=2) or (X/A>1)}
    = (A>1) and (B=0) and not (A=2) and not (X/A>1)
    

    3.1 语句覆盖

    语句覆盖就是设计足够多个测试用例,运行被测程序,使得每一可执行语句至少执行一次。

    在图例中,正好所有的 可执行语句 都在路径 L1 上,所以选择路径 L1 设计测试用例,就可以覆盖所有的可执行语句。

    测试用例
    测试用例流程图

    3.2 判定覆盖(分支覆盖)

    判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中 每个判断的取真分支和取假分支 至少经历一次。

    对于图例,如果选择路径 L1 和 L2 ,就可得满足要求的测试用例::
    【(2, 0, 4),(2, 0, 3)】覆盖 ace【L1】
    【(1, 1, 1),(1, 1, 1)】覆盖 abd【L2】
    
    如果选择路径 L3 和 L4,还可得另一组可用的测试用例:
    【(2, 1, 1),(2, 1, 2)】覆盖 abe【L3】
    【(3, 0, 3),(3, 0, 1)】覆盖 acd【L4】
    

    分支覆盖流程图

    3.3 条件覆盖

    条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的 每个条件的可能取值 至少执行一次。

    在图例中,我们事先可对所有条件的取值加以标记。例如:

    对于第一个判断:

    • 条件 A>1 取真为 T1,取假为F1;
    • 条件 B=0 取真为 T2,取假为 F2;

    对于第二个判断:

    • 条件 A=2 取真为 T3,取假为条件F3;
    • X>1 取真为 T4,取假为 F4
    测试用例           		   覆盖分支    		  条件取值
    【(2, 0, 4),(2, 0, 3)】    L1(c, e)  		T1 T2 T3 T4
    【(1, 0, 1),(1, 0, 1)】    L2(b, d)  		F1 T2 F3 F4
    【(2, 1, 1),(2, 1, 2)】    L3(b, e)			T1 F2 T3 F4
    
    或者:
    【(1, 0, 3),(1, 0, 4)】    L3(b, e) 			F1 T2 F3 T4
    【(2, 1, 1),(2, 1, 2)】    L3(b, e) 			T1 F2 T3 F4
    

    3.4 判定/条件覆盖

    设计足够多的测试用例,使得程序中 每个判定包含的每个条件的所有情况 (真/假)至少出现一次,并且 每个判定本身 的判定结果(真/假)也至少出现一次。

    满足判定/条件覆盖的测试用例一定同时满足判定覆盖和条件覆盖。

    测试用例           		   覆盖分支    		  条件取值
    【(2, 0, 4),(2, 0, 3)】    L1(c, e)  		T1 T2 T3 T4
    【(1, 1, 1),(1, 1, 1)】    L2(b, d)  		F1 F2 F3 F4
    

    3.5 组合覆盖

    通过执行足够的测试用例,使得程序中 每个判定的所有可能的条件取值组合 都至少出现一次。

    满足组合覆盖的测试用例一定满足判定覆盖、条件覆盖和判定/条件覆盖。

    1、A>1,B=0  作 T1 T2
    2、A>1,B≠0  作 T1 F2
    3、A≯1,B=0  作 F1 T2
    4、A≯1,B≠0  作 F1 F2
    5、A=2,X>1  作 T1 T3
    6、A=2,X≯1  作 T1 F3
    7、A≠2,X>1  作 F1 T3
    8、A≠2,X≯1  作 F1 F3
    
    测试用例          			覆盖条件     				覆盖组合
    【(2, 0, 4),  (2, 0, 3)】    (L1)	    	            1, 5
    【(2, 1, 1),  (2, 1, 2)】    (L3)	    	            2, 6
    【(1, 0, 3),  (1, 0, 4)】    (L3)	    	            3, 7
    【(1, 1, 1),  (1, 1, 1)】    (L2)	    	            4, 8
    

    就相当于是排列组合中的那个组合,把所有的情况都罗列出来。

    3.6 路径覆盖

    设计足够多的测试用例,要求覆盖程序中所有可能的路径。 从流程图和控制流图上可以看出,其中有 4 条可能的路径,分别是L1L2L3L4

    展开全文
  • 软件测试的心理学和经济学 软件测试的心理学 测试是为发现错误而执行程序的过程 测试的“成功”与“不成功” 成功:在测试某段程序时发生了错误,这些错误可以修复/本次测试可以最终确定再无其他可查出的错误 不...

    软件测试的心理学和经济学

    软件测试的心理学

    • 测试是为发现错误而执行程序的过程
    • 测试的“成功”与“不成功”
      • 成功:在测试某段程序时发生了错误,这些错误可以修复/本次测试可以最终确定再无其他可查出的错误
      • 不成功:未能适当地对程序进行检查,大多情况下未能找出错误的测试
    • 软件测试:为试图发现程序中错误(假设其存在)的破坏性的过程,一个成功的测试用例,通过诱发程序发生错误,可以在这个方向上促进软件质量的改进。

    软件测试的经济学

    黑盒测试

    • 测试目标与程序内部机制和结构完全无关,将重点集中放在发现程序不按其规范正确运行的环境条件
    • 判定标准:“穷举输入测试”
    • 穷举不可能,因此需要设计所有有效等价类测试用例和无效等价类测试用例

    白盒测试(逻辑驱动测试)

    • 允许检查程序内部结构,这种测试策略对程序的逻辑结构进行检查,从中获取测试数据
    • 穷举路径测试:使用测试用例执行所有可能的控制流路径
    • 缺点:路径数量多,不能保证程序符合其涉及规范,可能会缺少某些路径存在问题,不会暴露数据敏感错误

    软件测试的原则

    • 测试用例中一个必需部分是对预期输出或结果进行定义
    • 程序员应当避免自己编写的程序
    • 编写软件的组织不应当测试自己编写的软件
    • 应当彻底检查每个测试的执行结果
    • 测试用例的编写不仅应当根据有效或预料到的输入情况,而且也应当根据无效和未预料到的输入情况
    • 检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”、
    • 应避免测试用例用后即弃,除非软件本身就是一个一次性的软件
      • 回归测试:保留测试用例,当程序其他部件发生更动后重新执行
    • 计划测试工作时不应默许假定不会发现错误
    • 程序某部分存在更多错误的可能性,与该部分已发现错误的数量整正比

    代码检查、走查与评审

    代码检查、走查

    • 人工测试方法
    • “头脑风暴会”:找出错误,但不必找出改正错误的方法
    • 优点:一旦发现错误,能够在代码中进行精确定位,降低调试成本

    代码检查

    • 由程序编码人员逐条语句讲述程序的逻辑结构。讲述过程中,其他成员应该提问题、判断是否存在错误。
    • 对历来常见的编码错误列表分析程序

    用于代码检查的错误列表

    数据引用错误

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    数据声明错误在这里插入图片描述运算错误

    在这里插入图片描述
    在这里插入图片描述

    比较错误

    在这里插入图片描述
    在这里插入图片描述

    控制流程错误

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    接口错误

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    输入/输出错误

    在这里插入图片描述

    其他检查

    在这里插入图片描述在这里插入图片描述

    代码走查

    • 测试用例开会推演

    桌面检查

    • 单人进行的代码检查或走查

    同行评分

    在这里插入图片描述

    测试用例的设计

    • 先使用黑盒测试方法来设计测试用例,视情况使用白盒测试方法来设计补充的测试用例。
      在这里插入图片描述

    白盒测试

    在这里插入图片描述

    逻辑覆盖测试

    • 语句覆盖:设计的测试用例,可以覆盖每一条语句。
      • 一定能覆盖判定覆盖的测试用例
      • 存在某些条件的任意结果取值都没有影响
      • 可能会缺少某些路径
    • 判定覆盖:必须编写足够的测试用例,使得每一个判断都至少有一个为真和为假的输出结果。
      • 判定覆盖可以满足语句覆盖
      • 三个例外情况:
        • 程序中不存在判断
        • 程序或子程序/方法由着多重入口点。只有从程序的特定入口点进入时,某条特定的语句才可能执行到
        • 在ON单元的语句中,遍历每条分支路径并不一定能确保所有的ON单元都能执行到
      • 对于多重选择:判定覆盖准则将所以有判断的每个可能结果都至少执行一次,以及将程序或子程序的每个入口点都至少执行一次
    • 条件覆盖:编写足够的测试用例以确保将一个判断中的每个条件的所有可能的结果至少执行一次。
      • 有时可能不能满足判定覆盖的要求,只涵盖了部分判定结果
    • 判定/条件覆盖:将一个判断中的每个条件的所有可能的结果至少执行一次,将每个判断的所有可能的结果至少执行一次,将每个入口点都至少调用一次
      • 条件覆盖或判定/条件覆盖准则不一定会发现逻辑表达式中的错误
    • 多重条件覆盖:将每个判定中所有可能的条件结果的组合

    黑盒测试

    等价类划分

    • 步骤
      • 确定等价类:选取每一个输入条件将其划分为两个或更多的组
        • 有效等价类:程序的有效输入
        • 无效等价类:其他任何可能的输入条件
      • 生成测试用例
        • 为每个等价类设置一个不同的编号
        • 编写新的测试用例,尽可能多地覆盖那些尚未被涵盖的有效等价类,知道所有的有效等价类都被测试用例所覆盖
        • 编写新的用例,覆盖一个且仅一个尚未被涵盖的无效等价类,直到所有的无效等价类都被测试用例锁覆盖

    边界值分析

    • 边界条件的测试用例会具有更高的测试回报率
    • 边界条件:指的是输入和输出等价类中那些恰好于边界、或超过边界、或在边界以下的状态

    因果图

    • 边界值分析和等价划分的一个弱点是未对输入条件的组合进行分析。
    • 步骤
      • 将规格说明分解为可执行的片段
      • 确定规格说明中的因果关系。
        • 因:一个明确的输入条件或输入条件的等价类
        • 果:一个输出条件或系统转换
      • 分析规格说明的语义内容,并将其转换为连接因果关系的布尔图
      • 给图加上注解符号,说明由于语法或环境的限制而不能联系起来的“因”和“果”
      • 通过仔细跟踪图中的状态变化情况,将因果图转换成一个有限项的判定表。表中的每一列代表一个测试用例
      • 将判定表中的列转换成测试用例。

    错误猜测

    • 基本思想:列举出可能犯的错误或错误易发情况的清单,然后依据名单来编写测试用例。
    • 另一种思想:在阅读规格说明时联系程序员可能做得假设来确定测试用例

    测试策略

    • 如果规格说明中包含输入条件组合的情况,应首先使用因果图分析方法
    • 在任何情况下都应使用边界值分析方法
    • 应为输入和输出确定有效和无效等价类,必要情况下对上面确认的测试用例进行补充
    • 使用错误猜测技术增加更多的测试用例
    • 针对上述测试用例集检查程序的逻辑结构。
      • 判定覆盖
      • 条件覆盖
      • 判断/条件覆盖
      • 多重条件覆盖

    模块测试

    • 模块测试(单元测试):对程序中的单个子程序、子程序或过程进行测试的过程。
    • 目的:将模块的功能和定义模块的功能规格说明或接口规格说明进行比较

    测试用例设计

    • 模块测试总体面向白盒测试
    • 模块测试的用例设计过程:使用一种或多种白盒测试方法分析模块的逻辑结果,然后使用黑盒测试方法对照模块的规格说明以补充测试用例

    增量测试

    • 非增量测试:先独立地测试每个模块,然后再将这些模块组装成完整的程序
    • 增量测试:先将下一步要测试的模块组装到测试完成的模块集合中,然后再进行测试
    • 结论
      • 非增量测试所需的工作量要多
      • 如果使用增量测试,可以较早地发现模块中与不匹配接口、不正确假设相关的编程错误,尽早对模块组合进行集成测试
      • 使用增量测试,调试会更加容易
      • 增量测试会将测试进行的更加彻底,增量测试可能会暴露之前测试过的模块未发现的缺陷;非增量测试只对测试模块本身有影响。增量测试用使用先前测试过的模块,取代了非增量测试中使用的桩模块或驱动模块
      • 非增量测试所占用的及其时间少,需要的驱动模块和桩模块更多
      • 非增量测试可以进行并行操作

    自顶向下测试和自底向上测试

    • 增量测试要优于非增量测试。
    • 自顶向下测试和自底向上测试都是属于增量测试

    自顶向下测试

    • 从程序的顶部或初始模块开始。要成为合乎条件的下一个模块,至少一个该模块的从属模块事先经过了测试
    • 不足:无法建立所有测试环境

    自底向上测试

    • 开始于程序中的终端模块(此类模块不再调用其他任何模块)。要成为合乎条件的下一个模块,该模块的所有从属模块(它调用的模块)事先经过了测试
    • 不足:没有早期程序框架的概念

    比较

    自顶向下测试

    • 优点
    1. 如果主要的缺陷发上在程序的顶层将非常有利
    2. 一旦引入I/O功能,提交测试用例会更加容易
    3. 早期的程序框架可以进行演示,并可激发积极性
    • 缺点
    1. 必须开发桩模块
    2. 桩模块要比最初表现的更复杂
    3. 在引入I/O功能之前,向桩模块引入测试用例比较困难
    4. 创建测试环境可能困难,甚至无法实现
    5. 观察测试输出很困难
    6. 使人误解设计和测试可以交迭进行
    7. 会导致特定模块的完成延后

    自底向上测试

    • 优点
    1. 如果主要的缺陷发生在程序的底层将非常有利
    2. 测试环境比较容易建立
    3. 观察测试输出比较容易
    • 缺点
    1. 必须开发驱动模块
    2. 直到最后一个模块添加进去,程序才形成一个整体

    执行测试

    • 测试实际结果与预期结果不匹配
    • 模块存在错误
    • 测试用例不正确(需要对测试用例进行审查或检查)
    • 使用自动化测试减少重复劳动,降低对驱动模块代码的需求
    • 执行测试时,应该找出程序的副作用(模块执行了某些不该执行操作的情况)
    • 测试用例应该记录下来
    • 如果某个模块存在大量错误,那么这个模块可能包含更多的错误,需要进一步测试
    • 模块测试的目的是证明模块中存在错误
    展开全文
  • 白盒与黑盒的概念 黑盒测试技术 白盒测试技术 白盒与黑盒的比较 黑盒与白盒 X=2 Y=4 黑盒测试 又叫功能测试它关注的是被测软件功能的实 现而不是内部逻辑在黑盒测试中被测对象的内部结 构运作情况对测试人员是不可见...
  • 白盒测试:研究软件内部的程序逻辑和结构,验证是否满足软件需求,相当把软件当成一个可以看见内部结构的白色透明盒子去测试。 白盒测试设计测试用例的方法:语句覆盖、逻辑覆盖、路径覆盖、条件覆盖、 判定覆盖、...

      黑盒测试: 不关心软件内部的逻辑,是关心输入和输出是否达到预期效果,相当把测试的软件看成一个只有输入和输出的黑盒子。
      黑盒测试设计测试用例的方法:等价类、边界值、因果图法、正交法、场景法和错误猜测法


      白盒测试: 研究软件内部的程序逻辑和结构,验证是否满足软件需求,相当把软件当成一个可以看见内部结构的白色透明盒子去测试。
      白盒测试设计测试用例的方法:语句覆盖、逻辑覆盖、路径覆盖、条件覆盖、 判定覆盖、条件组合、判定组合、条件和判定组合。


      灰盒测试: 介于白盒和黑盒测试之间,既关心输入和输出,又关心程序内部结构。


      单元测试:

    展开全文
  • 软件测试中的黑盒白盒测试

    千次阅读 2020-12-10 11:03:22
    软件测试中,最常听到“黑盒测试”与“白盒测试”,它们是软件测试中最基本的测试方法。  那么究竟何为“黑盒”,何为“白盒”呢?下面就对其概念与常用方法进行一下介绍。 黑盒测试: 也称功能测试、数据驱动测试...
  • 黑盒测试用例设计 决策表法 概述 在一个程序中,如果输入输出比较 多,输入之间输出之间相互制约 的条件比较多,在这种情况下使用 决策表更合适,它可以清楚地表达 它们之间的各种复杂关系 决策表法是黑盒测试方法中最为...
  • 软件测试新手 白盒 黑盒测试 很适合新手学习的基础知识
  • 黑盒测试白盒测试用例设计

    千次阅读 2020-08-22 15:00:28
    黑盒测试、白盒测试和灰盒测试 **黑盒测试:**已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。通俗来讲就是只关心输入和输出、不关系软件内部代码逻辑实现。 白盒测试:考虑软件的内部代码...
  • 文档来源于网络文档所提供的信息仅供参考之用不能作为科学依据请勿模... 决策表法是黑盒测试方法中最为严 格最具有逻辑性的测试方法 文档来源于网络文档所提供的信息仅供参考之用不能作为科学依据请勿模 仿文档如有不当
  • 记录 软件工程-软件测试技术课件 文章目录著名的软件错误案例研究1、迪斯尼的狮子王2、...软件测试过程模型几个关键性的概念:错误 error失效 failure故障 fault三者的关系软件测试的原则软件测试技术黑盒测试白盒...
  • 黑盒测试和白盒测试黑盒测试 白盒测试 等价类划分 语句覆盖 边界值分析 判定覆盖 因果图分析 条件覆盖 错误猜想 判定/条件覆盖 多重条件覆盖 白盒测试:关注测试用例执行的程度...
  • 软件测试方法之黑盒测试与白盒测试 摘要:黑盒测试与白盒测试都是软件测试的重要方法。白盒测试是通过程序的源代码进行测试而不使用用户界面,它主要用于检测软件编码过程中的错误;而黑盒测试是是通过使用整个软件...
  • 软件测试 软件测试其实就是对程序进行一些操作,来发现程序所存在的缺陷,衡量软件的质量,并对其是否能满足设计要求进行评估的过程。 软件测试方法分类 基于直觉和经验的方法 Ad-hoc测试方法:强调测试人员...
  • 黑盒测试和白盒测试 一、白盒测试白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。 白盒测试的方法: ...
  • 么要进行白盒测试?1、逻辑错误和不正确假设与一条程序路径被执行可能性成反比。当我们设计和实现主流之外的功能、条件和控制时,错误往往开始出现在我们的工作中。日常处理往往能被很好的理解,而“特殊情况”的处理...
  • 用于初学者学习软件测试,用ppt呈现,基本可以了解整个软件测试的工具,以及如何使用
  • 因果图是怎么设计的,怎么转换为判定表,测试用例等。
  • 软件测试的目的 软件测试的原则 软件测试的方法有哪些? 测试过程的4个步骤 调试技术 软件测试与开发个阶段的关系 软件测试的目的 是程序编完之后必须要做的一件事 为了发现错误而执行程序的过程 软件...
  • 基本概念:黑盒测试又为功能测试,不看代码,只对软件的功能进行测试,只检查程序功能是否能够按照需求规格说明书的规定 正常使用,程序是否能够适当地接受输入数据而产生正确的输出信息,并且保持外部信息(数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,279
精华内容 8,511
关键字:

软件测试黑盒白盒测试