双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

[百度分享]Python脚本覆盖率分析方法介绍(一)

rethee rethee 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
背景
Python凭借其面向对象的特点,清晰简洁的语法以及丰富而强大的类库,已经在越来越多的应用领域中获得了青睐。测试工作中涉及的Python脚本也越来越多,这就产生了通过统计的覆盖率来衡量测试效果的需求,二进制程序可以使用BullseyeCoverage进行覆盖率分析,Python脚本是否也有比较好的工具来进行覆盖率分析呢,这里介绍一个针对python脚本的覆盖率分析工具。

Coverage3.3.1基本功能介绍
Coverage是一个用于统计python代码覆盖率的工具,支持HTML报告生成,最新版本支持对分支覆盖率进行统计。
获取地址:http://pypi.python.org/pypi/coverage
官方站点:http://nedbatchelder.com/code/coverage/

安装
Coverage支持Python2.5/2.6/3.1,和其他python第三方module安装方式相同, 获获取后python setup.py install即可。

运行
Coverage支持两种运行方式:一种是命令行的方式,另一种方式是通过在脚本中调用Coverage的API来控制覆盖率的统计,下面一一介绍。

(1)命令行方式
这种方式比较简单,只需要指定被测脚本,不用对被测代码进行任何修改。
安装好Coverage后,会在python/bin/生成一个coverage脚本,通过调用coverage run <被测脚本>进行覆盖率分析。
Example:
coverage run test.py foo bar这样就完成了一次覆盖率分析,其中run是coverage的参数,test.py是被测脚本,foo、bar是test.py的调用参数。

(2)API方式
除了命令行方式,coverage提供了更灵活的API调用方式来进行覆盖率分析。
API方式需要在被测代码前后嵌入,举一个最简单的例子:
from coverage import coverage
cov = coverage()     #生成coverage对象
cov.start()         #开始分析
function_to_be_tested()    #待测函数
cov.stop()            #分析结束
cov.save()            #将覆盖率结果保存到数据文件

这样就通过在代码中调用API完成了对目标函数的覆盖率分析。
这种统计方式的好处在于可以灵活的控制覆盖率分析start和stop的代码段,可以满足不同的需求。

查看覆盖率结果
通过(2)中介绍的方法完成覆盖率分析后,就可以查看覆盖率分析的结果了。Coverage提供了几种覆盖率结果的展现方式:
(1)简单文本方式
使用命令行coverage report,或者在代码中调用coverage对象的report方法可以获取简单文本格式的覆盖率结果:
Name             Stmts   Exec Branch BrExec Cover
--------------------------------------------------
Agent              261    101    104     29    35%
Async              497    247    114     39    46%
DNS                 67     28      8      1    38%
FIFOLogMonitor      53     21     12      0    32%
MachineMonitor     108     81     28     10    66%
RPC                269     94     64     12    31%
Settings            30     22      4      3    73%
TaskCommon          69     24     24      0    25%
Thread              54     33     10      2    54%
WDBDLogMonitor     221     53     90      1    17%
common             323     77    108      9    19%
--------------------------------------------------
TOTAL             1952    781    566    106    35%

Name是被分析Module的名称
Stmts/Exec表示语句总数/执行到的语句数
Branch/BrExec表示分支数/执行到的分支数
Cover表示覆盖率Cover=(Exec+BrExec)/(Stmts+Branch)

(2)HTML格式
使用命令行coverage html,或者在代码中调用coverage对象的html_report方法,可以获取html格式的覆盖率分析报告,并且提供对源码详细覆盖情况的标注报告,报告范例可以在http://nedbatchelder.com/code/coverage/sample_html/查看。

(3)XML格式
类似的,通过coverage xml或者调用coverage.xml_report来生成。

后续请看:[百度分享]Python脚本覆盖率分析方法介绍(二)
...全文

相关推荐

python 抓取百度云分享数据,百度云最新接口抓取分享链接

python 抓取百度云分享数据,百度云最新接口抓取分享链接。

muzuan.cn

python入门配套教程百度云分享.pdf

千锋教育 Python 视频教程 www.qfedu.com/video 做真实的自己-用良心做教育 python 入门配套教程百度云分享 Python 由于其简单,快速,库丰富的特点在国内使用的越来越广泛。最 近几年它出现了爆发式的增长,而且与中国人密切相关。所以,人多真的力量 大啊!好,小编重点该提重点了。python 教程百度云在此,请点击以下链 接: 千锋 Python 基础教程:http://pan.baidu.com/s/1qYTZiNE Python 课程教学高手晋级视频总目录: http://pan.baidu.com/s/1hrXwY8k Python 课程 windows 知识点:http://pan.baidu.com/s/1kVcaH3x Python 课程 linux 知识点:http://pan.baidu.com/s/1i4VZh5b Python 课程 web 知识点:http://pan.baidu.com/s/1jIMdU2i Python 课程机器学习:http://pan.baidu.com/s/1o8qNB8Q Python 课程-树莓派设备:

小虾仁芜湖

Python使用百度API上传文件到百度网盘代码分享

关于如何获取 access_token 这个可以自己查百度开放的OAuth 2.0 的 API。这里不做介绍。 第三方 Python 库 poster 复制代码 代码如下: # coding:UTF-8 import urllib import urllib2 __author__ = ‘Administrator’ from poster.encode import multipart_encode from poster.streaminghttp import register_openers register_openers() def upload(fileName):     “

weixin_38535428

baidu.rar_baidu_baidu api_搜索引擎api_百度搜索api_百度的API

调用百度APi来实现的简单搜索引擎,希望大家能用上。。。。

林当时

Python 一键获取百度网盘提取码的方法

主要介绍了Python 一键获取百度网盘提取码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

weixin_38672840
评论 73
收藏 已收藏
分享
返回顶部
rethee
脚本语言 37,738 成员 34,208 内容