测试一枚-记录工作-覆盖率(二)
真的是太颓废啦,本来计划上个周末更新的,硬生生拖了一天,这才第二次更新呀,就拖了,拖延症真要命。好啦进入正题,本人技术有限干货不多,只做记录使用。欢迎大佬提意见哈。
今天要记录的是Java代码覆盖率,之前一次测试过程中出现了一次线上bug,然后是具体案例:
需求为新增一种订单,订单标识为:订单类型为a,且订单渠道为100;订单列表不展示按钮“确认”,在不考虑回归用例的情况下,结合业务场景本次测试用例应该为:
1、订单类型为a的订单,同时订单渠道为100,订单列表不展示按钮“确认”;
2、订单类型不为a的订单,同时订单渠道不为100,订单列表展示按钮“确认”;
测试中2条用例全部测试通过,但是依然掉进了坑里;
(说明一下,因为在需求评审时,已经说明不会出现订单类型不为a,同时订单渠道为100的情况,--以上情况本系统不会出现,{但是其他系统会出现该订单};然后我们就这么天真的相信了,然后就掉坑啦)
具体说一下坑哈,
之前其他同学有个需求是订单渠道为100,订单列表不展示按钮“确认”,因为本次需求的产品、开发和测试均不了解之前的需求,所以在测试用例评审时已经出现遗漏,线上出现了订单类型为a,同时订单渠道不为100的订单,订单列表应该不展示按钮“确认”,展示结果相反;
开发代码:(不方便列出具体代码,以下仅为参考说明)
if(orderType==‘a’||orderChannel==100)
{
OrderList.confirm=false;
}
实际if中的orderType==‘a’一直未走到,满足orderChannel==100也可以达到相同的效果,所以疏忽掉了查看是否每个分支都覆盖;
分析原因:
1、需求未明确说明,未了解其他系统业务
2、测试用例未覆盖全面
3、测试用例评审未起到良好的作用
4、没有单元测试
5、没有统计覆盖率
以上5点如果有其中一点可以完成,都可以看出问题,避免线上bug;包含产品、开发和测试,作为一名测试,当然是要从测试出发,所以本次需求让我意识到测试覆盖率的重要性。
网上较多的覆盖率的工具大概有三个:
1、Jacoco:只能统计全量,不能统计增量
2、Cobertura:维护较少
3、Emma:基于jacoco
最火的就是jacoco,但是因为不同统计增量的,是一大缺憾,滴滴有一款开源的Java覆盖率工具super jacoco,可以统计增量覆盖率,通过两次commit id相比较,可以得出增量的覆盖率,还有一个问题就是多个用户的操作会造成覆盖率的污染,网上的一般解决方案为使用traceid或者session。
我们公司正在部署super jacoco,中间也有遇到之前未考虑到的问题,对于覆盖率会继续更新。
记录部署步骤,遇到的问题,以及解决方案。
也希望大家给支招哈。
测试一枚-记录工作-覆盖率(二)相关推荐
- 御用导航官方网站提醒提示页_电脑上使用便签记录工作计划如何设置闹钟定时提醒?...
平常工作日程事务比较多时,就很容易忘掉一些工作,这个时候很多工作族会选择经常使用的电脑工具来记录每日的工作计划,电脑如何设置闹钟定时提醒工作计划呢? 电脑便签可以用来记录工作计划闹钟定时提醒的软件,建 ...
- 职业成长微习惯(一):随手记录工作日志
按:半瓦工作11年,工资涨了4,5倍:有快速成长,也有懈怠和跳坑:不舒服中逐渐看到了未来更多的可能性.想写几篇文章分享我的四个微习惯:随手记录工作日志,英语(关注信息来源和非母语资料),基本功与素养, ...
- 使用计算机完成怎样的工作计划,电脑上使用便签记录工作计划如何设置闹钟定时提醒?...
原标题:电脑上使用便签记录工作计划如何设置闹钟定时提醒? 平常工作日程事务比较多时,就很容易忘掉一些工作,这个时候很多工作族会选择经常使用的电脑工具来记录每日的工作计划,电脑如何设置闹钟定时提醒工作计 ...
- 操作系统真象还原实验记录之实验二十三:硬盘分区,并编写硬盘驱动程序
操作系统真象还原实验记录之实验二十三:编写硬盘驱动程序 1.硬盘分区 1.1 创建Seven80.img硬盘 ./bximage -mode=create -imgmode=flat -hd=80 - ...
- 记录工作日常OracleSql-mybatis
Oracle SQL 用于记录工作中用到的oracle sql语句 表新增字段 表结构变动: 新增字段并指定字段类型 -- 新增一个字段,多个字段用小括号括起来,逗号分隔 alter table 表名 ...
- #飞特STS3215舵机测试与使用记录--附带基础样例-记录笔记-第三章
##飞特STS3215舵机测试与使用记录--附带基础样例-记录笔记-第三章 前言说明 协议与后期验证 细节以及遇到问题 (1)舵机可以摆动问题 (2)舵机是否能到达指定位置 (3)舵机在外力会出现移动 ...
- wincc报表日报表实例_工作系统二次开发二Python加工原膜切割日报表数据实例
#工作系统二次开发二Python加工原膜切割日报表数据实例 #当查询一个或多个工作令后在表格展示数据前按要求对数据进行二次处理,处理要求看如下 #1.加工单号和母卷物料编号相同则把除第一行外的领料有关 ...
- 今天刚刚开通了写播客的功能,以后记录工作学习的点点滴滴
2017年,新的开始,今年开始写播客,尽量记录工作学习的点点滴滴 转载于:https://www.cnblogs.com/yjk295722366/p/6368306.html
- 王家林 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程...
这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...
- RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案)
RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案) 参考文章: (1)RAISR-ma ...
最新文章
- 用 Windows Live Writer 2009 为我们的博客园写博客(图)
- 2021-10-15 红黑树 概念和平衡操作理解以及与AVL对比分析 恋上数据结构笔记
- Python面试题分享,不要错过哟!
- 如何理解const char*, char const*, char*const等
- java怎么接收前端请求_前端json post 请求 后端怎么接收
- USB-AUDIO初步分析
- win nginx html 配置,Windows服务器nginx安装与配置
- 【数据结构课设】家谱管理系统(内附源码)
- ssms远程服务器地址,SSMS如何远程到SQL SERVER?
- expdp报错ORA-39002: invalid operation,ORA-39070: Unable to open the log file
- 2D游戏和3D游戏的主要区别
- [c#]喜马拉雅、蜻蜓、荔枝FM音频批量下载器V1.3 by Levme开发手记
- 6个巧做PPT的实用小技巧,学会了瞬间让你的PPT酷起来!
- 辽宁最新特种工(塔式起重机)操作证模拟题库及答案解析
- 视频画中画怎么编辑?视频画中画软件分享。
- Qt 编译环境笔记 (qt.conf) (xxxx.pro)
- matlab 圆形模板ROI
- 入手评测锐龙r7 6800u和r7 6800h区别 r76800u和r76800h对比
- 国外顶尖的效果图公司有哪些?好比国内丝路水晶石这些?
- 影驰一口气发布四款SSD固态硬盘产品
热门文章
- AppCan学习笔记(2)-UI控件
- AI 科研入坑指南—中国人民大学赵鑫
- C++ Primer Plus学习(十三)——代码重用(has-a)
- 服务器两个内存为何只显示4g_windows7系统插入2个4G内存条却只显示4G的设置步骤?...
- you_get下载视频报错 don‘t panic, c‘est la vie. please try the following steps
- 影创发布首款头手6DoF MR眼镜鸿鹄,搭载高通骁龙XR2平台
- 鸿蒙系统和鸿鹄818,华为智慧屏将应用鸿蒙系统,搭载海思鸿鹄818芯片
- 十个必备的.NET开发小工具
- 含泪整理最优质马壁纸素材,你想要的这里都有
- 深度分析:OA产品的技术发展过程及未来趋势