冒烟测试
活动时间:2017年7月27日 QQ群视频交流
活动介绍:TMQ在线沙龙第二十五期分享
本次分享的主题是:C++单元测试
共有217位测试小伙伴参加活动,在线观看视频人数 25人!
想知道活动分享了啥吗,
请往下看吧!
活动嘉宾
嘉宾简介
赵静,腾讯地图测试工程师,目前主要负责滴滴iOS SDK测试,诱导引擎的单元测试等。在iOS SDK、白盒测试等领域有比较丰富的经验。
分享主题
1、C++单元测试简介和意义
2、C++单元测试的常用技术
3、结合业务开展C++单元测试
问答环节
1、问:ttest是否开源?
答:ttest目前尚未开源,但ttest用到的核心功能—hook,这个是开源的,大家可以基于此来对gmock进行二次开发,hook开源URL为:https://code.google.com/archive/p/baiduhook/
2、问:千行Bug率是如何计算?只是统计新增代码行数?用什么工具?
答:千行bug率=(当前版本的有效bug数/该版本的变更代码行数)*1000,变更代码行数=新增行数+修改行数。
3、问:代码的圈复杂度,深度是怎么统计,用什么工具?
答:这两种都是用SourceMonitor进行统计的。
4、问:SourceMonitor是否开源?能用于其他语言(如java)吗?
答:SourceMonitor是一款免费的软件,运行在Windows平台下。它可对多种语言写就的代码进行度量,包括C、C++、C#、Java、VB、Delphi和HTML,并且针对不同的语言,输出不同的代码度量值。
5、问:C和java语言有其他比较好的开源的单元测试工具可以使用吗?
答:针对C语言,目前比较好的开源单测框架就是gtest了,只是需要针对gmock借助于hook技术做下二次开发,才能比较方便的进行mock。java的话,轻量级的单测框架一般用mockito,但这个框架支持的功能比较少,所以,我们组内用的是powermock,功能比较强大,不依赖开发的编码风格。
6、问:代码覆盖率是gtest算出来的吗?
答:覆盖率的计算gtest是不包含的,需要借助于gcov以及lcov来进行统计。gcov统计覆盖率数据,lcov用来生成可视化的图形界面。