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

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

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

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

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

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

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

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

白盒测试的度量

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

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

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

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

精准化测试

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

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

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

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

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

    推荐阅读
  • 炸酥肉怎么炸绵滑香酥不腻(教你正宗炸酥肉)

    接着,取出腌制好的猪肉,并将里面的残渣,全部过滤掉。

  • 抖音vs快手分析(快手VS抖音谁更胜一筹)

    其中最适合大型品牌主的就是“挑战赛”,不仅热度高,传播力度也很大。

  • 16年途乐保养灯归零(睿蓝汽车定期保养的九大常规知识)

    6、蓄电池使用寿命2~3年,电池灯需要定期检查是否损坏。

  • 郁金香种植需要注意什么(教您正确种植郁金香)

    作为球根植物,郁金香是需要春化的。郁金香只能养三年,三代球之后球根会出现退化,有非常大的概率不开花。郁金香要相对深埋,土层与球根顶部之间保持2厘米左右厚度。通常郁金香种下后一个多月就会开花,开花后一定要将它搬到室外。郁金香开花后就是养球了,一直养到来年6月份。这期间在郁金香球根的周围会长出一两个小球,这就是郁金香的繁殖方式。周而复始,这就是家庭种植郁金香的正确方式。

  • 淘品牌的困境(淘品牌代表PBA要拓线下了)

    截至目前,PBA旗下产品已涵盖护肤、彩妆、香水、洗护、工具、营养食品等,产品SKU约200个,基本满足单品牌店的品类需求。而对于PBA品牌店的未来,苏桂强则表示,届时将对厦门首批6家品牌直营店进行评估,之后才会考虑直营店扩张及进军线下传统渠道等业务。

  • 安防监控弱电工程包括哪些(普通人也需要懂得安防基础知识)

    从类别上弱电系统被分出了楼宇设备监控、一卡通系统、安全防范系统、IPTV系统,结构化综合布线、触摸屏查询系统,数字会洗系统、机房建设、接地系统、及公放广播系统。

  • 小家电哪个辐射大(家电的辐射你了解多少)

    家电的辐射你了解多少滚叔收到的各种装修咨询中,有10%左右是关于装修污染的,其中约50%是关于甲醛、PH2.5的,还有50%是关于辐射的仅仅对付甲醛其实是不难的,一是从源头上控制,二是通过通风,也就是自然通风与机械通风,。

  • 笔记本电池控制芯片故障(笔记本电脑电池不能充电)

    1.今天给大家分享1台东芝笔记本不能充电分析,其售后服务中心反馈,客户使用1个月后就无法充电,在系统里面插入外接电源确定是不能充电,电池放在其他OK机台可以充电,交叉验证为机台不良导致.,今天小编就来说说关于笔记本电池控制芯片故障?

  • 淋病潜伏期多长时间(淋病潜伏期最长多少天)

    但如若应用抗生素,那么淋病潜伏期时间就会延长。第二阶段:发育阶段.淋球菌侵入机体约36小时完成一个生活周期。部分淋球菌死亡后排出毒素,从而引起对毒素的反应,开始出现临床症状。淋病潜伏期的症状一般男性慢性淋病潜伏期2~14日,通常以尿道轻度不适起病,数小时后出现尿痛和脓性分泌物。当慢性淋病病变扩展至后尿道时可出现尿频,尿急。慢性淋病检查可见脓性黄绿色尿道分泌物,尿道口红肿。

  • 老公隐瞒我没有生育能力怎么办(你有什么理由不去做生育检查)

    以下内容大家不妨参考一二希望能帮到您!老公隐瞒我没有生育能力怎么办1闺蜜儿子今年一岁多,二婚。但三年前,她还在和第一任丈夫跑遍各大医院治疗不孕不育。那时候她还跟我发牢骚:——医院也去了,各种检查也都做了,检查结果没问题啊,怎么就是怀不上呢?——他不愿意去啊——为什么?哦,我记得闺蜜说过他们以前有过一个孩子,但当时时机不对,所以做了人工流产。所以男人理所当然认为自己的生育能力是没问题的。