代码行数覆盖和分支覆盖和条件覆盖的区别?

如何对白盒测试质量进行量化,通常就是使用代码覆盖。
line coverage(行数覆盖), branch coverage(分支覆盖),condition coverage(条件覆盖)到底有什么区别呢? 是否行数覆盖100%则意味着分支覆盖100%,条件覆盖100%呢? 如果条件覆盖100%,则是否意味着分支覆盖100%以及行数覆盖100%。

行覆盖,顾名思义代码行数(也可以成为statement 语句)的覆盖。
分支覆盖是指代码if else while等有条件导致的分支时,分支的覆盖情况。
条件覆盖(通常现代定义,例如sonarqube), 是指每一个分支条件表达式里,所有条件的覆盖。

那么我们回到这个问题。 是否行数覆盖100%则意味着分支覆盖100%,条件覆盖100%呢? 如果条件覆盖100%,则是否意味着分支覆盖100%以及行数覆盖100%。 借助这个问题,来更深入看看他们到底有什么区别。
下面举2个例子。
更多…

moco mock server多个配置文件

当我们的mockserver需要的配置项越来越多时, 就会导致该配置文件非常大,每次定位查找和修改时非常困难。 moco mock server支持多个配置文件。
moco 支持多个配置文件的方式有2种方式。
1) 直接启动时指定多个配置文件(不建议)

利用通配符的方式,可以将该目录下所有的*.json 配置文件集合到一起并运行mock server。 问题是,*.json 的顺序并不是严格的按照alphabet的顺序解析配置。 所以比较多的配置文件,对配置的顺序有严格的要求时,建议使用如下的方式。
更多…

bing必应怀疑又被“强”2019年已经多日无法访问

用户可以暂时使用 www2.bing.com 域名来访问必应搜索服务。

备注: 从昨天2019-01-23日开始,北京地区电信和联通运营商已经无法直接访问bing.com的搜索服务。 2019-01-25 日已经恢复正常。

linux下redis cluster部署

#同样的方法,在7001,7002,7003,7004,7005 里创建 redis.conf. 记住redis.conf 里面的port 需要分别改成 7001,7002,7003,7004,7005
#备注: 如果我们使用replicas=1的话, 需要最少6个节点。即7000-7005 6个nodes。 其中最少需要3个master 节点。如果replicas=0 的话, 只需要3个节点是可以部署的。
#开启6个tab ssh 登录。 分别 cd 7000,7001,7002,7003,7004,7005
更多…

vs code ide中vue代码如何去掉 invalid-end-tag 的lint错误

vs code ide中vue代码如何去掉 invalid-end-tag 的lint错误
更多…

个别服务器出现git clone提示需要密码或者无法连接的问题

因为代码仓库地址变更, 昨天在更新git remote url时, 发现一个诡异的问题: 在部分服务器上进行下拉代码时提示如下错误(更新remote url之后)。

我重新执行克隆操作也是同样的错误:
git clone ssh://[email protected]/ibg/ibg_test.git (git clone [email protected]:ibg/ibg_test.git “[email protected]:ibg/ibg_test.git” == “ssh://[email protected]/ibg/ibg_test.git” ) ,在某些机器上可以正确拉取到代码,某些机器上拉取时提示

更多…

vue&webpack升级后代码无法runtime运行和编译的解决

前一段时间重装了系统, 准备重新调试下之前开发的简单spa应用(vue)。 安装了最新的node后, 重新安装vue和相关webpack,结果发现再次runtime运行和编译都不太正常。 尝试升级了很多package后, 还是有一些莫名其妙的错误。 除了package的要升级外, 可能还存在因为升级更新导致的config需要修改的情况。

尝试手动升级并解决的过程中,碰到有很多错误,均需要一点点排查比较费工夫。

例如:

更多…

茅台镇原浆酒10元领取一箱你中招了吗?

这其实就是一个冒充高端品牌,欺骗中奖,收取运输费实际卖产品的营销”骗局”。 今天移动支付后, 弹出一个刮刮卡, 出来了一个“茅台镇原浆酒10元一箱, 厂家指导价1788, 折扣0.1, 节省1778元”, 还以为中奖,仔细一看就完事了。 你还想要少许运输费和保价费99元。 哥,你是茅台镇不是茅台好嘛(的)。 卖99元可以的,但是别搞的好像自己是茅台一样。 不知道中招的人都是哪些人。 某猫,某东上他的价格就是99元6瓶。 你109买6瓶不算亏,但这不是茅台。针对于不到20块钱一瓶的酱香酒来说,感觉肯定不会是什么纯固态发酵, 所以喝点勾兑香精的美酒就行了。 打着混淆视听的来明目张胆的提示中奖骗人,这就是你的不对了。

android firefox 导入根证书

firefox浏览器(包含android平台)没有使用操作系统的证书库(意味着, 如果操作系统自己导入并存在的证书, firefox 并无法使用), 而是firefox自己独立的一套证书库 (这样就需要我们在firefox 浏览器中重新导入一份). 在桌面版本的firefox里(如windows) 可以在设置里进行导入证书. 但是android版本没有导入证书(证书管理)的入口. 但是我们可以通过firefox 打开证书并直接导入的方式.

例如我们有一个自签根证书CA.crt , 我们将此文件放到某个服务器上. 例如搭建一个内网的http服务, 将此CA.crt放到该服务器上. 通过android firefox 打开 http://192.168.1.2/CA.crt, firefox 自动下载该文件后, 发现是一个证书文件, 会自动提示加入到firefox的证书库. 这样firefox里就导入成功了.

参考资料:

  • firefox for andorid 是否使用了设备(系统的)的证书库
  • https://stackoverflow.com/questions/14981179/does-firefox-for-android-use-the-devices-certificate-store

  • 移动版本(例如android)的firefox如何修改我的证书列表
  • https://support.mozilla.org/zh-CN/questions/1140625

    android导入CA(自签名根证书)方法

    本内容在Oneplus 5T上经过验证.
    为什么要导入CA证书(通常的受信的CA证书已经预先导入到了我们的操作系统中), 自己导入的通常是企业内部或者自己创建的自签名根证书. (这里说的CA不是指导入用户凭证证书, 而是根证书Certificate authority) 在android系统中, 最直接的体现的是导入后, 前者证书会出现在用户凭证下. 而导入根证书, 该证书会出现在用户[信用]凭证下.
    更多…