覆盖率

星云精准测试有力提升金融复杂系统的测试能效

人走茶凉 提交于 2020-04-06 08:02:06
随着国内大数据、云计算、人工智能等新技术的发展,银行业的前中后台正面临着全面改造,金融科技是业务转型发展的一个核心发力点。金融行业信息系统集中度高、规模庞大、多系统之间关联性强、业务复杂、需求变化快,另外各种新旧系统错综交互,软件质量控制难度异常复杂。通过技术手段精准地追溯每一个数据路线,有效实现信息系统的高可靠性和易维护性,是金融业界共同的目标。 一、传统测试的局限     目前,在大部分金融机构中,主流的功能测试方法是黑盒测试辅之以一定量的自动化测试。由于自动化测试用例的维护问题较多,黑盒手工(功能)测试依然是主流。它有很多经典方法,如等价类、正交用例设计法以及近些年流行的探索性测试等。因黑盒测试方法总体依赖于业务经验,以及一定的测试“灵感”和临场发挥的“算力”,随着金融软件复杂性和迭代速度的不断加快、软件系统组合路径膨胀等问题,人脑的推算力显然远远跟不上了。即使很优秀的测试人员,也会因为状态问题而导致测试用例设计水准出现波动。后续测试覆盖不充分性日益凸显,剩余至少30%以上的漏测点。而白盒测试工具,因为技术没有跟上敏捷迭代的开发场景,目前在金融企业几乎很少在实际中应用。 二、精准测试概念的提出     如何快速定位金融大型信息系统的测试死角,用“可量化”和“可视化”的分析与测试手段,有效地发现程序深层隐藏的缺陷、提高信息系统投产质量、降低投产风险、增强投产信心

iOS自动化探索(十)代码覆盖率统计

馋奶兔 提交于 2020-04-04 06:03:47
Android 代码覆盖率统计 本周开始准备统计Android自动化用例的代码覆盖率,将最终使用的方法记录下来。 覆盖率监测的原理 覆盖率监测的原理跟iOS上的原理差不多,大致的思路参考下吧, iOS自动化探索(十)代码覆盖率统计 Android使用的是JaCoCO覆盖率统计工具 jacoco 原理篇 必要知识储备或条件: 项目源码 Android Studio开发环境 基本了解Android项目结构 基础adb操作 同样如果以上说的几个都不懂也行, 让开发帮忙做这些然后编个代码覆盖率统计的包给你测试, 测完把手机给开发取数据生成报告。 注意每次测试完先返回手机桌面把程序退到后台等几秒让app自己生成日志文件 下面开始讲步骤 步骤1:拉取项目代码 git clone XXXXXXXXXXX 步骤2:使用Android Studio打开项目 步骤3:配置build.gradle apply plugin: 'com.android.application' apply plugin: 'jacoco' //加载代码覆盖库jacoco jacoco { toolVersion = "0.7.9" //代码覆盖库jacoco版本号 } android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig {

星云精准测试有力提升金融复杂系统的测试能效

前提是你 提交于 2020-04-01 01:01:20
随着国内大数据、云计算、人工智能等新技术的发展,银行业的前中后台正面临着全面改造,金融科技是业务转型发展的一个核心发力点。金融行业信息系统集中度高、规模庞大、多系统之间关联性强、业务复杂、需求变化快,另外各种新旧系统错综交互,软件质量控制难度异常复杂。通过技术手段精准地追溯每一个数据路线,有效实现信息系统的高可靠性和易维护性,是金融业界共同的目标。 一、传统测试的局限   目前,在大部分金融机构中,主流的功能测试方法是黑盒测试辅之以一定量的自动化测试。由于自动化测试用例的维护问题较多,黑盒手工(功能)测试依然是主流。它有很多经典方法,如等价类、正交用例设计法以及近些年流行的探索性测试等。因黑盒测试方法总体依赖于业务经验,以及一定的测试“灵感”和临场发挥的“算力”,随着金融软件复杂性和迭代速度的不断加快、软件系统组合路径膨胀等问题,人脑的推算力显然远远跟不上了。即使很优秀的测试人员,也会因为状态问题而导致测试用例设计水准出现波动。后续测试覆盖不充分性日益凸显,剩余至少30%以上的漏测点。而白盒测试工具,因为技术没有跟上敏捷迭代的开发场景,目前在金融企业几乎很少在实际中应用。 二、精准测试概念的提出   如何快速定位金融大型信息系统的测试死角,用“可量化”和“可视化”的分析与测试手段,有效地发现程序深层隐藏的缺陷、提高信息系统投产质量、降低投产风险、增强投产信心

星云精准测试有力提升金融复杂系统的测试能效

青春壹個敷衍的年華 提交于 2020-03-31 21:48:46
随着国内大数据、云计算、人工智能等新技术的发展,银行业的前中后台正面临着全面改造,金融科技是业务转型发展的一个核心发力点。金融行业信息系统集中度高、规模庞大、多系统之间关联性强、业务复杂、需求变化快,另外各种新旧系统错综交互,软件质量控制难度异常复杂。通过技术手段精准地追溯每一个数据路线,有效实现信息系统的高可靠性和易维护性,是金融业界共同的目标。 一、传统测试的局限   目前,在大部分金融机构中,主流的功能测试方法是黑盒测试辅之以一定量的自动化测试。由于自动化测试用例的维护问题较多,黑盒手工(功能)测试依然是主流。它有很多经典方法,如等价类、正交用例设计法以及近些年流行的探索性测试等。因黑盒测试方法总体依赖于业务经验,以及一定的测试“灵感”和临场发挥的“算力”,随着金融软件复杂性和迭代速度的不断加快、软件系统组合路径膨胀等问题,人脑的推算力显然远远跟不上了。即使很优秀的测试人员,也会因为状态问题而导致测试用例设计水准出现波动。后续测试覆盖不充分性日益凸显,剩余至少30%以上的漏测点。而白盒测试工具,因为技术没有跟上敏捷迭代的开发场景,目前在金融企业几乎很少在实际中应用。 二、精准测试概念的提出   如何快速定位金融大型信息系统的测试死角,用“可量化”和“可视化”的分析与测试手段,有效地发现程序深层隐藏的缺陷、提高信息系统投产质量、降低投产风险、增强投产信心

解决sonar单元测试覆盖率为0的问题

社会主义新天地 提交于 2020-03-26 11:07:29
3 月,跳不动了?>>> pom.xml中添加jacoco插件 <plugin> <groupId> org.jacoco </groupId> <artifactId> jacoco-maven-plugin </artifactId> <version> 0.7.9 </version> <configuration> <classDumpDir> target/classes </classDumpDir> <includes> <include> com///** </include> </includes> </configuration> <executions> <execution> <id> default-prepare-agent </id> <goals> <goal> prepare-agent </goal> </goals> </execution> <execution> <id> default-prepare-agent-integration </id> <goals> <goal> prepare-agent-integration </goal> </goals> </execution> <execution> <id> default-report </id> <goals> <goal> report </goal> </goals>

Python 代码覆盖率统计工具 coverage.py

与世无争的帅哥 提交于 2020-03-16 03:01:31
coverage.py是一个用来统计python程序代码覆盖率的工具。它使用起来非常简单,并且支持最终生成界面友好的html报告。在最新版本中,还提供了分支覆盖的功能。 官方网站: http://nedbatchelder.com/code/coverage/ win32版本下载地址: http://pypi.python.org/pypi/coverage 或者通过easy-install来安装: easy_install coverage 装好后,在c:\Python25\Scripts\(假设装在c盘)目录会有一个coverage.exe。通过这个exe基本上可以完成我们所有需要的功能。运行一下,如果发现少了那个模块,请先安装easy_install。 Coverage Command Line 命令行使用说明: 详见: http://nedbatchelder.com/code/coverage/cmd.html 最关键核心的几个参数使用如下: 1. run 执行代码覆盖率统计,只需要通过coverage的run参数执行被统计代码即可。 $ coverage run my_program.py arg1 arg2 跑完后,会自动生成一个覆盖率统计结果文件(data file):.coverage。如果要修改这个默认的文件名也可以,只要设置COVERAGE_FILE环境变量。

测试覆盖率之三——测试覆盖率100%相关的话题

喜夏-厌秋 提交于 2020-03-16 00:04:07
原文发表于2008-12-10 21:39:48 上一篇文章中,介绍了 的意义之类的东西。测试覆盖率可以帮助我们检查测试质量,检查测试用例的有效率。如果有兴趣的话,可以阅读 测试覆盖率之二——测试覆盖率有什么用? 关于测试覆盖率,我个人的感觉是说的多,用的少。最近在网络上看到一篇文章,讨论一个问题“测试需要100%的覆盖率吗?”被 转载 了很多次,有兴趣的同行可以找来看看。的确,一想到测试覆盖率,立马就有完美主义者跳出来说100%。100%的测试覆盖率有什么好处呢? 1, 100%的覆盖率表示我们的测试覆盖到了所有语句,分支,条件 2, 100%的覆盖率表示我们测试考虑的很完全,我们可以回去睡大觉了~~ 测试仿佛在这里变得不那么可怖了,但是我们至少遗漏了两个重要的地方:怎么达到100%的测试覆盖率或者说是否能够达到100%的测试覆盖率,另外一个就是100%的测试覆盖率到底能告诉我们什么信息。 首先来讲,我们是否可以达到100%的测试覆盖率?如果我们简单的将测试覆盖率理解为需求覆盖率,代码覆盖率,那么我想这是可以达到的,只要拥有足够的时间,我们的测试覆盖到每一个需求点,我们的测试覆盖到每一条语句,每一个条件,每一个分支,看起来的确没有问题。但是我们还要考虑另外一个问题,是否由我们未曾列入到需求分析中的需求呢,这种情况是存在的,如果我们计算需求覆盖率是根据Feature Spec来的

SV中的覆盖率

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-14 15:39:10
SV采用CRT的激励形式,而判断验证进度的标准也就是覆盖率(coverage)。 覆盖率的两种指定形式:显式的,直接通过SV来指定出的,如SVA,covergroup。 隐式的,在验证过程中,随"register move"就可以由simulator得到的,如代码覆盖率等。 覆盖率类型:代码覆盖率---由仿真器直接提供,只能表示设计的冗余度,与spec关系不大。(toggle/expression/block) 功能覆盖率---与spec比较来发现,design是否行为正确,需要按verification plan来比较进度。(assertion/covergroup) 断言覆盖率---用于检查几个信号之间的关系,常用在查找错误。 漏洞率-------同一功能验证,运行多个seed,寻找bug 功能覆盖率的两个重要部分是采样的数据和数据被采样的时刻。数据被采样的时刻可以是1)使用wait或@来阻塞赋值,2)使用sample的方法。采样的数据则需要在代 码中加入覆盖组(Covergroup)和仓(Bin),覆盖组可以定义在类中,程序块,模块中。 使用覆盖组之前必须先进行实例化。所以一般在类中使用覆盖组时,将 覆盖组的实例化加在类的构造函数new()中 。Covergroup和Coverpoint的命名应当尽可能的明确,这样方便检查覆盖率文件。 class Driver_cbs

统计 Django 项目的测试覆盖率

本秂侑毒 提交于 2020-03-06 09:09:07
作者: HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们完成了对 blog 应用和 comment 应用这两个核心 app 的测试。现在我们想知道的是究竟测试效果怎么样呢?测试充分吗?测试全面吗?还有没有没有测到的地方呢? 单凭肉眼观察难以回答上面的问题,接下来我们就借助 Coverage.py ,从代码覆盖率的角度来检测一下我们的测试效果究竟如何。 Coverage.py (以下简称 Coverage)是 Python 测试界最为流行的一个库之一,用来统计测试覆盖率。测试覆盖率可以从一个角度衡量代码的质量,覆盖率越高,说明测试越充分,代码出现 bug 的几率也就越小。当然需要注意的是,测试覆盖率仅仅只是衡量代码质量的一个角度,即使是 100% 的覆盖率也不能说代码就是完美的,没有 bug 的。 安装 Coverage 要使用 Coverage,首先当然是安装它: $ pipenv install coverage --dev 因为只在开发时才用得到,所以使用 Pipenv 安装时加 --dev 选项将其标记为开发时的依赖库。 简单配置 Coverage Coverage 支持很多配置选项,为了方便,通常将这些配置写在名为 .coveragerc 的文件中,Coverage 运行时会从项目根目录读取这个配置文件

测试覆盖率Emma工具使用

孤街醉人 提交于 2020-02-21 11:36:37
Emma使用与分析 #什么是Emma EMMA 是一个开源、面向 Java 程序测试覆盖率收集和报告工具。它通过对编译后的 Java 字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。 EMMA 所使用的字节码插装不仅保证 EMMA 不会给源代码带来“脏代码”,还确保 EMMA 摆脱了源代码的束缚,这一特点使 EMMA 应用于功能测试成为了可能。 #如何使用 emma现在可以通过命令行,ant,maven,Jenkins等方式使用,这里只介绍通过maven和Jenkins来集成emma测试。 ##在Maven中的使用 直接运行mvn emma:emma,即可。 maven集成emma,需要两个插件,maven-surefire-plugin和emma-maven-plugin,如果之前没有安装,那么maven会自动下载这两个插件。 emma依赖于surefire的配置,默认执行src/test/java的junit测试。为了方便使用,最好在自己的pom里配置maven-surefire-plugin插件。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.8.1<