1. 白盒测试概念

白盒测试概念:

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

2. 代码覆盖率常见概念

  • 语句覆盖:每行代码都要覆盖一次
  • 判定覆盖:判定表达式的真假至少覆盖一次
  • 判定/条件覆盖:判定覆盖与条件覆盖都必须覆盖
  • 条件组合覆盖:判定表达式中的所有条件组合都需要覆盖
  • 分支覆盖:控制流中的每条边都要被覆盖一次
  • 路径覆盖:所有的路径都要尽量覆盖
  • 指令覆盖:一行代码会被编译为多条指令,尽可能的覆盖所有指令
  • 方法覆盖:每个方法至少要被覆盖一次
  • 类覆盖:每个类至少被覆盖一次

3. 覆盖率统计

覆盖率统计工具(java):

  • emma
  • cobertura
  • jacoco

统计工具的原理——插桩原理:

  • 对jvm的字节码插桩
  • 基于block插桩
  • 计算覆盖的代码块

流程覆盖:

  • 利用代码执行流代表流程
  • 流程覆盖用路径覆盖率表达
  • 对流程进行裁剪获得一个合适业务的小规模的业务子集
  • 流程覆盖率=测试经过的路径/业务子集路径

精准化测试:

  • 代码调用链与黑盒测试用例的关联
  • 根据代码变更自动分析影响范围
  • 黑盒测试过程中借助代码流程覆盖数据指导探索式测试
  • 利用线上数据推导有效测试用例
  • 代码流程分析与覆盖率统计

【软件测试理论】(六) 白盒测试方法论说明相关推荐

  1. 软件测试c语言代码_软件测试理论知多少?

    有源医疗器械很多都是带有软件的,今天一起了解下软件测试理论:软件测试目的,软件测试定义,软件测试原则,软件测试分类,软件测试方法,测试基本流程. 软件测试定义:软件测试(英语:software tes ...

  2. 软件测试理论、方法、流程及规范

    软件测试理论.方法.流程及规范 一.软件测试理论 1. 软件测试的定义: 使用人工和自动化测试的手段测试某个软件存在的错误或者缺陷的,目的在于检验是否满足了需求. 2. 软件测试的目的: 是想以最少的 ...

  3. 软件测试实验4白盒测试,软件测试实验报告白盒测试

    <软件测试实验报告白盒测试>由会员分享,可在线阅读,更多相关<软件测试实验报告白盒测试(8页珍藏版)>请在人人文库网上搜索. 1.软件测试与质量课程实验报告实验3:白盒测试姓名 ...

  4. 分布式理论(六)—— Raft 算法

    分布式理论(六)-- Raft 算法 前言 我们之前讲述了 Paxos 一致性算法,虽然楼主尝试用最简单的算法来阐述,但仍然还是有点绕.楼主最初怀疑自己太笨,后来才直到,该算法的晦涩难懂不是只有我一个 ...

  5. 软件测试中的白盒测试分析

    伴随着软件测试技术的迅速发展,白盒和黑盒测试在测试行业中运用的越来越多.白盒测试相对于黑盒测试在很多地方是不同的,白盒趋向于对软件结构和代码进行测试,可以设计出测试用例. 可靠的软件白盒测试工程师可以 ...

  6. for循环软件测试,软件测试3.9白盒测试_循环测试

    <软件测试3.9白盒测试_循环测试>由会员分享,可在线阅读,更多相关<软件测试3.9白盒测试_循环测试(10页珍藏版)>请在人人文库网上搜索. 1.白盒测试,循环测试,循环测试 ...

  7. 软件测试理论之测试用例设计六把刀

    日常设计测试用例的时候,有许多经典的测试理论.比如边界法.等价法,这些经常用到我们日常的工作中.当然也有许多的理论,比如正交分解法是使用起来非常费劲.往往转化为实际的容易理解的测试语言就非常困难. 测 ...

  8. 软件测试(六):白盒测试

    文章目录 白盒测试之代码审查 代码审查的范围 代码审查的方法 代码审查的规则 白盒测试之逻辑覆盖 单元测试 逻辑覆盖法 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 白盒测试之代码审查 ...

  9. 软件测试理论与经验--阅读笔记

    第1章 测试员的角色 测试人员的角色到底是什么?能够定义的很清楚吗? 经验1-测试员是项目的前灯 测试就是要找到信息,有关项目或者产品的关键信息决策都需要根据这些信息来决定. 经验2-测试员的使命决定 ...

最新文章

  1. 云时代运维转型必读:容器运维模式的五大场景
  2. php猜数游戏63,PHP实现猜数游戏的代码实例分享
  3. BorderContainer的圆角问题
  4. java匿名对象赋初值_不想进BAT的Java程序员不是好程序员,BAT后端Java岗面试真题分享
  5. scrapy 中爬取时被重定向_一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程...
  6. Node.js CLI 工具最佳实践
  7. python文本文件不能用二进制文件方式读入_如何使用python函数以二进制形式读取文件?...
  8. 大数据技术之kafka (第 3 章 Kafka 架构深入 ) 消费者组案例
  9. 设计模式笔记之六:生产消费者模式
  10. Google开源的操作系统Fuchsia,专为大内存硬件设计
  11. 你真的懂网络安全行业吗?
  12. ps盖印图层在哪里_PS如何盖印图层?PS盖印图层快捷键
  13. 负载均衡器-Citrix
  14. Python-Django框架学习笔记——第一课:Hello World
  15. 读《不能承受的生命之轻》 的思考
  16. 网易邮箱无法正常登陆的解决技巧
  17. [转]DivX和XviD不能不说的故事
  18. 梯度下降算法与随机梯度下降算法:实现波士顿房价问题
  19. 用结构体指针访问结构体中的结构体指针(结构体指针的嵌套)
  20. EAUML日拱一卒-微信小程序实战:位置闹铃 (15)-实现监控点状态迁移功能

热门文章

  1. MiniGUI移植过程
  2. VS2008+AnkhSVN搭建源代码管理版本库
  3. GNU GRUB 2.02系统启动项管理设置
  4. 手机中SN、MEID、IMEI的意思
  5. 阿里天池数据分析入门 利用Pandas分析数据
  6. ccid 设备通讯(Linux)
  7. MAC地址漂移和应对(二)
  8. python识别重影验证码_python+opencv实现移动侦测(帧差法)
  9. 有一种空格叫做--不间断空格(空格保存到数据库变成了问号)
  10. 第四周项目3--单链表应用之逆置