首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

精准测试实践

前段时间接到了一个输入法开关下发的功能,通过精准测试的理念,在测试效率和测试覆盖度上提升较大,在这里分享一下测试过程: ?...3、确定测试全集: 通过了解实现,确定测试全集为: 1、 全部策略正确性。 2、 所有单元策略正确性。‍...如果按照传统接口测试方法。每条大约设计和执行100条case,这样要14个工作日才能回归完毕。这种回归方式显然比较耗时。...于是想到了通过导流来减少回归工作量的方案,具体方案如下: 1、 将线上流量导到测试服务器。 2、 对比测试服务器和线上服务器的返回结果是否一致。...总结了一下,本次结合精准测试理念,对项目的提升如下: ? 整体开展精准测试的大体过程如下: ? 欢迎添加我们的搜狗测试微信号,与我们一起聊聊测试。 ?

1.9K30

精准测试系列《一》

这是无量测试之道的第200篇原创 在实际的软件生产交付过程中,我们通过单元测试、接口测试、功能测试、自动化测试等手段来保障软件质量;但是无论使用哪种测试手段,case 设计是否全面、精简,显得尤为重要。...在实际的项目测试过程中,case 的设计也会经常出现以下问题: 开发同学写了大量单元测试,有的公司可能做得很少的单元测试,一直重复执行一段代码逻辑,少数场景或异常代码逻辑并未执行到; 测试同学在设计的测试用例时经过多方的...无侵入的收集代码覆盖率数据;Super-Jacoco 除了支持 JVM 运行时间段的覆盖率收集外;还能够和环境无缝对接,收集服务端自定义时间段代码全量/增量覆盖率;并提供可视化的 html 覆盖率报表,协助覆盖率分析,支撑精准测试落地...总结: 有了增量代码的统计情况,加上二进制 jacoco.exec 的探针文件,再加上获取到的覆盖率报告我们就可以知道增量变更的代码执行覆盖率情况了,这样就可以知道我们的测试是否精准执行,保障了测试 case...的覆盖情况,从而使得我们可以做到精准测试

74700
您找到你想要的搜索结果了吗?
是的
没有找到

精准测试体系构建

如果能建立 代码与用例的映射关系, 当代码发生改动时推荐出关联的用例,就能让测试精准地回归,降低成本,提高效率。...到这里,虽然能推荐出测试范围,但是可能在准确性方面不尽如人意。 比如,当底层或公共代码发生改动时,由于这些代码关联的用例较多,系统会推荐出大量冗余用例,影响测试效率。 那如何提升推荐的精准度?...分析应用的静态代码得到的方法调用链类似静态测试,不够精准,同样需要结合动态调用链,采取动静结合的方式进行精简。...未来,一方面会持续迭代优化现有的能力,还会进一步完善整个精准测试体系,包括如下: 完善精准测试体系中的正向追溯,补齐能力,进一步解决 测什么,最大限度地辅助测试同学高效完成测试。...把这些能力嵌入到研发流程中,尽量做到测试过程中无感知完成精准测试

66110

软件测试|精准测试原理简介

图片这个时候就渴望有这么一个"最强大脑"图片眼过去就可以看出差异点(本次改动的逻辑)脑海中就有了差异的影响范围(缩小需要测试的范围)再一扫就看出哪些测试覆盖到了(确认测试覆盖率)以求达到一种精准测试的程度按照上面的描述...再者,我们日常的测试有很大一部分比例是接口测试,包括自动化也是,接口自动化用例很多。...那么如果可以通过调用链路找到本次修改所影响到的最上层的入口接口(等),那么通过接口与用例的关联关系,就可以推荐出本轮修改必须要执行的用例,提高用例的精准程度和更加明确的测试范围。...关于精准测试,这里有几个问题会困扰测试开发人员。这里给出一些建议,希望可以对读者有所益处。1、如果我的代码覆盖率达到100%了,是不是就可以说测试覆盖完全了,质量有保障了?...精准化是无法判断的,要靠大家自己去断言了。再者,覆盖到的代码都是开发按照自己理解的业务逻辑写的,如果他漏写了一些需求逻辑呢?那这部分就不存在覆盖的情况了。

60010

有赞精准测试实践

从单体转向分布式框架,测试也面临着一系列问题,如下: 对于分布式系统中的绝大部分应用,随着业务发展,自身应用代码复杂度会不断增加,如何准确、全面判定代码修改影响范围会越来越重要; 一些领域设计不太合理的业务架构...测试过程中会发现只是自身应用代码一个修改,会导致对外暴露的接口逻辑发生很大变动,此时测试人员需要判定出这个对外暴露的接口对上层应用到底有多大影响; 业务快速迭代导致测试时间不断压缩,全量回归是一个很困难的事情...,那么测试范围需要开发测试人员根据代码和业务熟悉程度精确把控,风险容易失控; 基于上述背景,我们研发了精准测试工具,作为应用上线质量的参考维度之一,集成到测试工具平台上供技术部门所有同事使用。...使用javaagent对内部方法进行代码织入,当执行自动化或者功能测试,可以记录一次请求经过的所有内部方法,这样形成的内部方法调用链将会记录aop和多态执行的真正的方法,静态的弱点会得到很大的补充。...一个接口可能被多个调用方调用,对于开发和测试人员一般最关注的是接口直属调用方和入口调用方以及整体的拓扑图,如下所示: ? ? 某些情况下,单条链路调用链详情也需要展示出来: ?

1.1K31

精准测试及其工具(连载6)

比如函数以及类的成员函数的总数目,调用关系或者类的继承关系的深度、层次结构、语句总行数和总体复杂度,整体的测试覆盖率(分累积的结果和最后一次运行的结果,可选择语句、分支和MC/DC测试覆盖率标准)、整体的性能分析结果以及各模块所占的用时比例...、以及全局变量和静态变量的分析结果等;同时,又给出了各个模块具体的信息,包括:各模块的源码行数和复杂度、测试覆盖率分析结果、扇入扇出信息,高亮显示一个模块及其所有相关的模块,或者以任何一个模块为根生成局部子树等...、实现半自动高效率测试用例设计,进行逻辑流程查错,以及源码、测试用例和相关文档之间的双向自动追溯等。...(背景色为绿色表示有测试用例覆盖到该块:以SC0覆盖为参考标准)。...星云测试 http://www.teststars.cc 奇林软件 http://www.kylinpet.com 联合通测 http://www.quicktesting.net

56110

精准测试及其工具(连载12)

5.4测试缺陷-Bug信息汇总 图90显示的是测试缺陷-Bug信息汇总。 ? 图90测试缺陷-Bug信息汇总 1....Bug提交排行榜 给出提交Bug的测试工程师的排行榜,彩条图可以选择按照Bug级别显示,也可以选择按照Bug类型显示。如图92所示。 ?...覆盖率列表与单函数的覆盖率、复杂度雷达图 通过对单个函数的覆盖率的雷达图设置,用数字化的形式展示核心模块的测试充分度。如图94所示。 ? 图94覆盖率列表与单函数的覆盖率、复杂度雷达图 2....图95 函数对应的调用关系图 5.6复杂度统计信息 为了正对复杂度的风险,在数字化平台中给出了预警报告表和复杂度详细列表,对于安全系数高的客户,测试人员可以要求开发进行重新设计降低风险。...图97 复杂度列表 星云测试 http://www.teststars.cc 奇林软件 http://www.kylinpet.com 联合通测 http://www.quicktesting.net

43320

有赞iOS精准测试实践

故此我们团队做了很多研究,希望通过技术工具来提升移动端测试的质量和效率,这是我们研发移动端精准测试平台的初衷。...因此我们想要研发一个工具,可以支持手工测试的代码覆盖率分析,将两种测试手段的优势结合,这个工具就是移动端精准测试平台。 本文会从iOS端来介绍精准测试的实现原理和我们的实践经验。...精准测试的架构设计如图: ? 我们的系统分为 4 层:CI、数据采集、数据解析、数据可视化。 CI 层:主要负责插桩编译、APP 构建、APP 分发及 HOOK 脚本。...每周的发版之前,每天定时收集当日测试覆盖情况,同步给相关测试人员及开发,发版当天,会对本周所有发版内容回归测试的结果进行覆盖率统计,做成覆盖率周报发给团队进行信息同步。达到精准测试的目标。...五、总结与展望 通过精准测试系统,我们可以提升开发自测的质量和完善测试用例,目前我们的覆盖率报告还需要花费不少人力去分析和过滤,后续我们考虑对报告进行智能分析,输出更多维度的数据呈现。

2.2K32

精准测试及其工具(连载1)

图21 安装包J2EE_Enterprise_key_64bit内容 3.星云测试服务端启动 1、运行下的星云测试server目录中ThreadingTestServer.exe,启动后再启动ThreadingTestReportServer.exe...4.星云测试客户端启动 注:星云测试在线客户端的连接需要访问端口17262/17263,登录之前需要保证网络连接不存在限制。...配置IP地址完成后双击运行TTClient/TT.exe文件进入星云测试客户端。选择“文件->登录”,输入星云测试服务端的IP地址以及自己的用户名和密码即可登录。...图23 星云产品客户端登录界面 5.星云测试云报表平台服务启动 1、运行星云测试TTWeb目录下的bin\redis-2.4.5-win32-win64\32bit\redis-server.exe。...2星云工具插装编译说明 2.1 星云测试脚本插装编译说明 星云测试工具支持在Windows环境下脚本插装编译被测项目,需要使用星云编译工具JAVAForWindows工具包。

66230

精准测试及其工具(连载5)

3星云客户端功能说明 精准测试云平台的逻辑可视化部分主要基于函数调用图、控制流程图和简易控制流程图这三个图形,其中函数调用图是函数模块级的逻辑图形,控制流程图和简易控制流程图是代码级的逻辑图形,这三种图形形成了源代码逻辑交替深入展示的一种形式...图45 显示测试覆盖率 采用专利:“一种用于白盒测试覆盖率计算可视化的测试装置及方法”的查看技术,对覆盖率指标进行剖析,用颜色的表示形式在代码中区分代码的分子、分母来告知覆盖率的计算过程。...图49 视图(二) 选择排序方式,覆盖率越大,测试的越全面,复杂度越大,说明程序越复杂,复杂度/覆盖率越大,说明存在Bug的可能性越大。...星云测试 http://www.teststars.cc 奇林软件 http://www.kylinpet.com 联合通测 http://www.quicktesting.net

41810

精准测试及其工具(连载2)

图21 安装包J2EE_Enterprise_key_64bit内容 3.星云测试服务端启动 1、运行下的星云测试server目录中ThreadingTestServer.exe,启动后再启动ThreadingTestReportServer.exe...4.星云测试客户端启动 注:星云测试在线客户端的连接需要访问端口17262/17263,登录之前需要保证网络连接不存在限制。...配置IP地址完成后双击运行TTClient/TT.exe文件进入星云测试客户端。选择“文件->登录”,输入星云测试服务端的IP地址以及自己的用户名和密码即可登录。...图23 星云产品客户端登录界面 5.星云测试云报表平台服务启动 1、运行星云测试TTWeb目录下的bin\redis-2.4.5-win32-win64\32bit\redis-server.exe。...2星云工具插装编译说明 2.1 星云测试脚本插装编译说明 星云测试工具支持在Windows环境下脚本插装编译被测项目,需要使用星云编译工具JAVAForWindows工具包。

59430

精准测试及其工具(连载9)

4 星云客户端企业项功能说明 4.1智能的回归测试用例选取分析算法 前置条件:最少要有一个用星云示波器做过数据的历史版本与一个需要回归新插装版本 精准测试云平台采用“一种基于测试用例与代码逻辑、源码版本关系矩阵的测试用例选取方法...”的回归技术,在回归测试时,基于智能算法,完全自动筛选计算出每个测试用例受影响的程序,用户可以根据此数据来进行用例回归测试的优先级排序,把高风险的用例测试放到前面,大大减少了回归测试的时间。...测试用例是关联工程的,所以同一工程下新建的版本继承了上面所有版本的测试用例,我们在进行智能回归测试用例选取的时候会用当前版本的代码去和以前版本代码去做对比,通过哪些对比得到哪些函数被改变了,并通过这些改变的函数对涉及到的测试用例做统计...图73回归在示波器页面的测试用例显示 4.2 测试用例的聚类分析算法 前置条件:有一定数量的测试用例数据 精准测试云平台根据的函数执行剖面的向量化信息,对测试用例进行聚类分析, 从类中检出中心点测试用例以及其附近的测试用例...聚类算法是通过测试用例的代码相似程度得出结果的,所以可以帮助我们划分出来有哪些测试用例的代码相似程度比较高,这样在我们聚的一类的测试用例Bug测试用例比较多的时候,我们在下个版本的时候可以着重测试该类测试用例

64630

精准测试及其工具(连载10)

4.3 缺陷定位算法 前置条件:有测试数据,测试用例有提交Bug 精准测试云平台根据测试用例的运行情况和测试用例覆盖到的函数这些信息,通过一定的计算,可确定每个函数可能存在缺陷的可疑度,然后针对可疑度较大的函数进行查看...在选择测试用例的时候,需要选择功能相近的测试用例(如登录成功和登录失败两个测试用例就是功能相近的测试用例),如果不能手动筛选出来测试用例,只需要运行聚类功能,对测试用例进行分类。...图78选择测试用例 4.4 最小测试用例集 前置条件:有测试数据。...精准测试云平台根据所有测试用例的覆盖块情况,计算出覆盖到所有块所需的最少的测试用例的集合,由于到后期测试用例越来越多,测试用例冗余也会越来越明显,主界面选择企业项下的最小测试用例集,弹出界面,点击界面分析按钮...图80分析非最小测试用例集 4.5 下载报表 前置条件:版本有数据,有覆盖率数据 精准测试云平台提供下载报表功能,下载报表文件类型提供WORD、PDF和EXCEL三种格式。

1.2K20

精准测试及其工具(连载8)

星云测试支持两个及以上版本进行对比函数的差异,对比之后列表展示函数变化。如图66和图67。 ? 图66进入“两个版本对比” ?...星云测试支持查看版本对比中修改以及添加代码的函数的覆盖率情况。如图68所示。 ?...图68查看版本对比中修改以及添加代码的函数的覆盖率 2.累计覆盖率 前置条件:工程下至少有两个版本,且这两个版本有覆盖率数据 多版本累计覆盖率是针对多个版本中的所有测试用例的覆盖率的累计,用户以最新版本为基线版本...,针对之前不同的测试场景累计该版本的覆盖率,从而得出函数的覆盖情况。...图70多版本累计覆盖率 星云测试 http://www.teststars.cc 奇林软件 http://www.kylinpet.com 联合通测 http://www.quicktesting.net

38522
领券