【软件测试理论】(六) 白盒测试方法论说明
1. 白盒测试概念
白盒测试概念:
- 根据待测产品的内部实现细节来设计测试用例
- 白盒测试的执行手段是可以涵盖单元测试、集成测试
- 使用代码覆盖率作为白盒测试的主要度量指标
2. 代码覆盖率常见概念
- 语句覆盖:每行代码都要覆盖一次
- 判定覆盖:判定表达式的真假至少覆盖一次
- 判定/条件覆盖:判定覆盖与条件覆盖都必须覆盖
- 条件组合覆盖:判定表达式中的所有条件组合都需要覆盖
- 分支覆盖:控制流中的每条边都要被覆盖一次
- 路径覆盖:所有的路径都要尽量覆盖
- 指令覆盖:一行代码会被编译为多条指令,尽可能的覆盖所有指令
- 方法覆盖:每个方法至少要被覆盖一次
- 类覆盖:每个类至少被覆盖一次
3. 覆盖率统计
覆盖率统计工具(java):
- emma
- cobertura
- jacoco
统计工具的原理——插桩原理:
- 对jvm的字节码插桩
- 基于block插桩
- 计算覆盖的代码块
流程覆盖:
- 利用代码执行流代表流程
- 流程覆盖用路径覆盖率表达
- 对流程进行裁剪获得一个合适业务的小规模的业务子集
- 流程覆盖率=测试经过的路径/业务子集路径
精准化测试:
- 代码调用链与黑盒测试用例的关联
- 根据代码变更自动分析影响范围
- 黑盒测试过程中借助代码流程覆盖数据指导探索式测试
- 利用线上数据推导有效测试用例
- 代码流程分析与覆盖率统计
【软件测试理论】(六) 白盒测试方法论说明相关推荐
- 软件测试c语言代码_软件测试理论知多少?
有源医疗器械很多都是带有软件的,今天一起了解下软件测试理论:软件测试目的,软件测试定义,软件测试原则,软件测试分类,软件测试方法,测试基本流程. 软件测试定义:软件测试(英语:software tes ...
- 软件测试理论、方法、流程及规范
软件测试理论.方法.流程及规范 一.软件测试理论 1. 软件测试的定义: 使用人工和自动化测试的手段测试某个软件存在的错误或者缺陷的,目的在于检验是否满足了需求. 2. 软件测试的目的: 是想以最少的 ...
- 软件测试实验4白盒测试,软件测试实验报告白盒测试
<软件测试实验报告白盒测试>由会员分享,可在线阅读,更多相关<软件测试实验报告白盒测试(8页珍藏版)>请在人人文库网上搜索. 1.软件测试与质量课程实验报告实验3:白盒测试姓名 ...
- 分布式理论(六)—— Raft 算法
分布式理论(六)-- Raft 算法 前言 我们之前讲述了 Paxos 一致性算法,虽然楼主尝试用最简单的算法来阐述,但仍然还是有点绕.楼主最初怀疑自己太笨,后来才直到,该算法的晦涩难懂不是只有我一个 ...
- 软件测试中的白盒测试分析
伴随着软件测试技术的迅速发展,白盒和黑盒测试在测试行业中运用的越来越多.白盒测试相对于黑盒测试在很多地方是不同的,白盒趋向于对软件结构和代码进行测试,可以设计出测试用例. 可靠的软件白盒测试工程师可以 ...
- for循环软件测试,软件测试3.9白盒测试_循环测试
<软件测试3.9白盒测试_循环测试>由会员分享,可在线阅读,更多相关<软件测试3.9白盒测试_循环测试(10页珍藏版)>请在人人文库网上搜索. 1.白盒测试,循环测试,循环测试 ...
- 软件测试理论之测试用例设计六把刀
日常设计测试用例的时候,有许多经典的测试理论.比如边界法.等价法,这些经常用到我们日常的工作中.当然也有许多的理论,比如正交分解法是使用起来非常费劲.往往转化为实际的容易理解的测试语言就非常困难. 测 ...
- 软件测试(六):白盒测试
文章目录 白盒测试之代码审查 代码审查的范围 代码审查的方法 代码审查的规则 白盒测试之逻辑覆盖 单元测试 逻辑覆盖法 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 白盒测试之代码审查 ...
- 软件测试理论与经验--阅读笔记
第1章 测试员的角色 测试人员的角色到底是什么?能够定义的很清楚吗? 经验1-测试员是项目的前灯 测试就是要找到信息,有关项目或者产品的关键信息决策都需要根据这些信息来决定. 经验2-测试员的使命决定 ...
最新文章
- 云时代运维转型必读:容器运维模式的五大场景
- php猜数游戏63,PHP实现猜数游戏的代码实例分享
- BorderContainer的圆角问题
- java匿名对象赋初值_不想进BAT的Java程序员不是好程序员,BAT后端Java岗面试真题分享
- scrapy 中爬取时被重定向_一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程...
- Node.js CLI 工具最佳实践
- python文本文件不能用二进制文件方式读入_如何使用python函数以二进制形式读取文件?...
- 大数据技术之kafka (第 3 章 Kafka 架构深入 ) 消费者组案例
- 设计模式笔记之六:生产消费者模式
- Google开源的操作系统Fuchsia,专为大内存硬件设计
- 你真的懂网络安全行业吗?
- ps盖印图层在哪里_PS如何盖印图层?PS盖印图层快捷键
- 负载均衡器-Citrix
- Python-Django框架学习笔记——第一课:Hello World
- 读《不能承受的生命之轻》 的思考
- 网易邮箱无法正常登陆的解决技巧
- [转]DivX和XviD不能不说的故事
- 梯度下降算法与随机梯度下降算法:实现波士顿房价问题
- 用结构体指针访问结构体中的结构体指针(结构体指针的嵌套)
- EAUML日拱一卒-微信小程序实战:位置闹铃 (15)-实现监控点状态迁移功能