百摩网
当前位置: 首页 生活百科

白盒测试和黑盒测试的功能(技术分享白盒测试方法论)

时间:2023-06-07 作者: 小编 阅读量: 2 栏目名: 生活百科

白盒测试和黑盒测试的功能白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。一般使用代码覆盖率作为白盒测试的主要度量指标。现阶段只能通过Jacoco等覆盖率统计的工具,自己去实现精准化测试平台。

白盒测试和黑盒测试的功能?白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试白盒测试是一种测试用例设计方法盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的"白盒"法全面了解程序内部逻辑结构,对所有逻辑路径进行测试"白盒"法是穷举路径测试在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据,我来为大家讲解一下关于白盒测试和黑盒测试的功能?跟着小编一起来看一看吧!

白盒测试和黑盒测试的功能

白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法。盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构,对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

白盒测试通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

白盒测试的度量

根据待测产品的内部实现细节来设计测试用例。白盒测试的执行手段可以涵盖单元测试、集成测试。一般使用代码覆盖率作为白盒测试的主要度量指标。

代码覆盖率常见概念
  • 语句覆盖:每行代码都要覆盖至少一次(最基础,不能保证完整度)
  • 判定覆盖:判定表达式的真假至少覆盖一次
  • 判定/条件覆盖:判定覆盖与条件覆盖都必须覆盖
  • 条件组合覆盖:判定表达式中的所有条件组合都需要覆盖
  • 分支覆盖:控制流中的每条边都要被覆盖一次
  • 路径覆盖:所有的路径都要尽量覆盖
  • 指令覆盖:一行代码会被编译为多条指令,尽可能的覆盖所有指令
  • 方法覆盖:每个方法至少要被覆盖一次
  • 类覆盖:每个类至少被覆盖一次
覆盖率统计的工具
  • EMMA:是一个开源、面向 Java 程序的测试覆盖率收集和报告工具。它通过对编译后的 Java 字节码文件进行插桩,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。
  • Cobertura:是一款优秀的开源测试覆盖率统计工具,它与单元测试代码结合,标记并分析在测试包运行时执行了哪些代码和没有执行哪些代码以及所经过的条件分支,来测量测试覆盖率。除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的、执行不到的代码来优化代码,最终生成一份美观详尽的 HTML 覆盖率检测报告。
  • Jacoco:是一个开源的覆盖率工具,针对 Java 语言,是现在最流行的 Java 覆盖率统计工具。
流程覆盖

流程覆盖用路径覆盖率表达,是利用代码执行流代表流程。执行时需要对流程进行裁剪获得一个适合业务的小规模的业务子集。

流程覆盖率 = 测试经过的路径 / 业务子集路径

精准化测试

精准化测试是一套计算机测试辅助分析系统。精准化测试的核心组件包含软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统。这些功能完整的构成了精准化测试技术体系。

精准化测试强调代码调用链与黑盒测试用例之间的关联。可以根据代码变更自动分析影响范围。比如说研发修改了 1 行代码,功能用例有 1000 条,其实很多用例和这 1 行代码是没有关系的。精准化测试可以判断出有哪些测试用例和改动的这 1 行代码有关系。比如说这 1000 条用例当中,只有 20 条和修改的代码有关系。那么测试的范围可以大大缩减,测试效率就会提高。

精准化测试还有一个很有价值的作用,就是在黑盒测试过程中,借助代码流程覆盖率指导测试活动。比如在黑盒测试结束之后,观察代码的覆盖情况,发现有一些路径没有被覆盖到,这个时候就需要继续补充用例,一直到代码流程可以很全面的覆盖。这是系统测试与底层白盒测试相结合的一个方法。

精准化测试还可以用线上数据推导有效的测试用例。比如测试一个系统,这个系统是有大量历史数据的。这时就可以提取其中一段时间的数据,使用这些数据继续测试这个系统。测试完成后统计这些测试数据中哪些数据对于测试覆盖率的增加是有帮助的。可以使用大数据的方法,自动提取出对于测试覆盖率有增益效果的数据。这种方法可以看出哪些测试数据覆盖的代码是相同的。这些测试数据其实就属于同一个集合,在这种集合中,只取一个测试数据就可以。利用线上数据反推有效测试用例也是精准化测试的重要作用。

由于精准化测试需要对底层白盒测试相当了解,对于测试人员要求比较高,所以现在实现起来有一定的难度。目前行业中还没有开源的精准化测试的工具。现阶段只能通过 Jacoco 等覆盖率统计的工具,自己去实现精准化测试平台。

    推荐阅读
  • 铁树夏天换盆可不可以(铁树夏天换盆能吗)

    铁树夏天换盆可不可以铁树夏天可以换盆的,换盆后最好放在阴处摆放一段时间,苏铁每年春节都会张一轮新叶子的。花盆通常选用口径20~30厘米的中等盆。6~8月生长较快,这时气温长高,蒸发量大,浇水量可适当增加,除雨天外,每天应浇1次水。入秋后停止施肥。冬季气温低于0度时应移入室内越冬。铁树生长过程中,当植株主干高达40~50厘米,新叶长成时,应将下部枯弱黄叶割除一轮或至少两年进行1次,以保持树形的整齐丰满。

  • 南通全市公证机构恢复集中办理业务 江苏南通公证处在哪里

    南通市通诚公证处南通市经济技术开发区新开北路四海家园东门北侧四海家园文体中心,电话:85185333。南通市港闸公证处南通市港闸区委党校,电话:85301798。海安市公证处海安市海安镇长江中路86号。

  • 微信视频号怎么开通(微信视频号怎么开通商品橱窗)

    打开微信,选择发现。上传头像,填写名字、简介,选择性别、地区,点击创建即可。当微信全面开放视频号功能后,视频号会有新的开通方法,用户申请视频号会更加容易。

  • 衤字旁的字(个别字是怎么解释的)

    跟着小编一起来看一看吧!衤字旁的字初、被、袍、补、裤、袄、裙、褂、襟、裕、袜、裸、袒、衫、褐、衬、袖、褴、裨、襦、褛、褥、裱、袱、裆、衿、袂、襜、褪、裲、褔、袢、裺、褃、褦、裼、衲等。初,开始的:~夏。~冬,开始的一段时间:年~。本学期~,第一个:~伏。被,睡觉时覆盖身体的东西:~子。~褥,盖,遮覆:~覆。

  • 在家自制苹果罐头的方法(怎么制作苹果罐头)

    以下内容希望对你有帮助!在家自制苹果罐头的方法食材:苹果2个、冰糖适量、水适量。苹果去皮去核切小块。锅内放入能没过苹果的水,大火烧开。大火烧开,然后盖盖子转小火煮十分钟左右。煮到这种微透明的时候就可以了。稍微凉一点就可以装入容器放入冷藏就可以了。

  • 佘诗曼台庆歌曲(佘诗曼戴春荣音乐小品中秋攻略台词剧本完整版)

    卜钰:听说呀谁要是节目表演得好,谁就可能获得一份神秘的大礼。

  • 因翻唱而爆红的十首歌曲(十首被遗忘而又被翻唱走红的歌曲)

    2017年即将过去说起原唱、翻唱,多数情况下原唱是占据着主导的地位。相比BEYOND乐队演绎的版本,邓紫棋翻唱的该版本歌曲的情绪表现更加激烈。几天后,韩红版《天路》被送往春晚剧组,负责审查的朱彤、郎昆一听,当即过关。而在春晚亮相后,《天路》火遍了全国。他是林宥嘉,2007年7月以大学生的身份,夺得台湾中视主办的歌唱选秀节目《超级星光大道》第一季冠军,并获华研音乐从而能进入娱乐圈。2011年12月31日,王菲在跨年演唱会上亮嗓。

  • 2023广东文旅消费券5月21日怎么领 广州文旅惠民消费券怎么使用

    广东第二轮文旅消费券来了!2023年5月19日至5月21日期间,每日10:00-11:00发放,补贴券限量限时发放,先到先得,额满即止。

  • 黄帝战蚩尤黄帝的坐骑(黄帝的坐骑是应龙)

    史书上说,应龙是黄帝的坐骑,传说应龙背生双翅,鳞身脊棘,颈细腹大,尾尖长,四肢强壮,宛如一只生翅的扬子鳄。按到一般的推理,黄帝的坐骑是应龙,应龙满身龙鳞,背生双翅,是一派威武凶猛的形象,那么蚩尤的坐骑应该也必定是一种猛兽才行,要是这么想那就错了。熊猫这种天生靠卖萌为生的生物竟然是蚩尤的坐骑。

  • 地球上第一个生命的诞生(地球上的第一个生命是如何诞生的)

    在偌大的太阳系中,地球可能不是唯一存在生命的星球。意思是盘古创造出了世间大多数生物,人则是由女娲创造的。而且这些神明大多都是类人神明,表明当时的人类封建无知,也有一点过于自大。显然创世传说太过理想化,可能目前只有宗教信仰的人才会赞同这个说法。