首页 > 知识点讲解
       白盒测试
知识路径: > 嵌入式系统的项目开发与维护知识 > 嵌入式系统软件测试 > 嵌入式软件测试技术 > 测试方法 > 
被考次数:5次     被考频率:中频率     总体答错率:54%     知识难度系数:     
相关知识点:13个      
        白盒测试方法一般包括控制流测试(语句覆盖测试、分支覆盖测试、条件覆盖测试、修订的条件/判定覆盖MC/DC、条件组合覆盖测试、路径覆盖测试)、数据流测试、程序变异、程序插桩、域测试和符号求值等。
               控制流测试
               控制流测试依据控制流程图产生测试用例,通过对不同控制结构成分的测试验证程序的控制结构。所谓验证某种控制结构即指使这种控制结构在程序运行中得到执行,也称这一过程为覆盖。以下介绍几种覆盖:
               (1)语句覆盖。语句覆盖要求设计适当数量的测试用例,运行被测程序,使得程序中每一条语句至少被遍历,语句覆盖在测试中主要发现错误语句。
               (2)分支覆盖。分支覆盖要求设计适当数量的测试用例,运行被测程序,使得程序中每个真值分支和假值分支至少执行一次,分支覆盖也称判定覆盖。
               (3)条件覆盖。条件覆盖要求设计适当数量的测试用例,运行被测程序,使得每个判断中的每个条件的可能取值至少满足一次。
               (4)修订的条件/判定覆盖(MC/DC——Modified Condition/Decision Coverage)。修订的条件/判定覆盖要求设计适当数量的测试用例,运行被测程序,使得每个判定中的每个条件都曾独立的影响判定的结果至少一次(独立影响意思是在其他的条件不变的情况下,只改变一个条件,就可影响整个判定的值)。
               对安全性要求比较高的软件,一般采用此覆盖要求。此覆盖要求在测试用例的效率和数量之间较为平衡。
               (5)条件组合覆盖。条件组合覆盖要求设计适当数量的测试用例,运行被测程序,使得每个判断中条件的各种组合至少出现一次,这种方法包含了“分支覆盖”和“条件覆盖”的各种要求。
               (6)路径覆盖。路径覆盖要求设计适当数量的测试用例,运行被测程序,使得程序沿所有可能的路径执行,较大程序的路径可能很多,所以在设计测试用例时,要简化循环次数。
               以上各种覆盖的控制流测试步骤如下:
               (1)将程序流程图转换成控制流图。
               (2)经过语法分析求得路径表达式。
               (3)生成路径树。
               (4)进行路径编码。
               (5)经过译码得到执行的路径。
               (6)通过路径枚举产生特定路径的测试用例。
               控制流图是描述程序控制流的一种图示方式,它由结点和定向边构成。控制流图的结点代表一个基本块,定向边代表控制流的方向。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列单个条件的嵌套的判断。控制流图的基本结构如下图所示。
               
               控制流图基本结构
               数据流测试
               数据流测试是用控制流程图对变量的定义和引用进行分析,查找出未定义的变量或定义了而未使用的变量,这些变量可能是拼错的变量、变量混淆或丢失了语句。数据流测试一般使用工具进行。
               数据流测试通过一定的覆盖准则,检查程序中每个数据对象的每次定义、使用和消除的情况。
               数据流测试步骤:
               (1)将程序流程图转换成控制流图。
               (2)在每个链路上标注对有关变量的数据操作的操作符号或符号序列。
               (3)选定数据流测试策略。
               (4)根据测试策略得到测试路径。
               (5)根据路径可以获得测试输入数据和测试用例。
               动态数据流异常检查在程序运行时执行,获得的是对数据对象的真实操作序列,克服了静态分析检查的局限,但动态方式检查是沿与测试输入有关的一部分路径进行的,检查的全面性和程序结构覆盖有关。
               程序变异
               程序变异是一种错误驱动测试,是为了查出被测软件在做过其他测试后还剩余一些的小错误。本方法应用于测试工具。
               程序插装
               程序插装是向被测程序中插入操作以实现测试目的方法。程序插装不应该影响被测程序的运行过程和功能。
               有很多的工具有程序插装功能。由于数据记录量大,手工进行将是一件很烦琐的事。
               域测试
               域测试是要判别程序对输入空间的划分是否正确。该方法限制太多,使用不方便,供有特殊要求的测试使用。
               符号求值
               符号求值是允许数值变量取“符号值”以及数值。符号求值可以检查公式的执行结果是否达到程序预期的目的;也可以通过程序的符号执行,产生出程序的路径,用于产生测试数据。符号求值最好使用工具,在公式分支较少时手工推导也是可行的。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2019年下半年
   嵌入式系统设计..
   上午试卷 综合知识
第60题
选择题
软件测试的目的是发现软件的错误。使用白盒测试方法时,确定测试数据应根据(60)和制定的覆盖标准。

71%
   2018年下半年
   嵌入式系统设计..
   上午试卷 综合知识
第51题
选择题
白盒测试法设计测试用例的覆盖准则1般包括语句覆盖、判定覆盖、条件覆盖和路径覆盖。在这些覆盖准则中,最强和最弱的准则是(51)。

52%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有