质量 测试 邱化峰 基于java代码的覆盖率在饿了么的应用_第1页
质量 测试 邱化峰 基于java代码的覆盖率在饿了么的应用_第2页
质量 测试 邱化峰 基于java代码的覆盖率在饿了么的应用_第3页
质量 测试 邱化峰 基于java代码的覆盖率在饿了么的应用_第4页
质量 测试 邱化峰 基于java代码的覆盖率在饿了么的应用_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

代码质量1初级使用代码覆盖率2中级使用代码覆盖率3高级使用使用代码覆盖率初级使用代码覆盖率美好生活触手可得主要绩效目标Branches•IFELSE•Case•?:•&&ty•判定结构的复杂度•独立线性路径条数•行覆盖Methods•方法覆盖Nocoverage:Nocoverage:NoinstructioninthelinehasbeenexecutedFullcoverage:AllinstructionsinthelinehavebeenexecutedPartialcoverage:Onlyapartoftheinstructioninthelinehavebeenexecuted美好生活触手可得色初级使用绿绿色黄黄色美好生活触手可得初级使用美好生活触手可得初级使用会看代码覆盖率的报告,知道各种颜色的含义知道那些行(代码)会看代码覆盖率的报告,知道各种颜色的含义知道那些行(代码)被执行过,那些未被执行过初级使用美好生活触手可得知知道通过代码覆盖率,补充测试用例代码复杂度的衡量标准,程序的可能错误和高的圈复杂度有着代码复杂度的衡量标准,程序的可能错误和高的圈复杂度有着很大关系,圈复杂度可以成为编码及重构的重要参考指标覆盖所有情况使用的最少用例数,在系统软件和军事软件有75%的在使用,将圈复杂度维持在10以下有很多实际的和经济的理由,低于10的软件是非常简单且很容易跟踪的,美好生活触手可得圈复杂圈复杂度最少用例最少用例数降低圈复杂度的重构技降低圈复杂度的重构技术美好生活触手可得使用的计算公式是V(G)=e–n+2,e代表在控制流图中的边的数量(对应代码中顺序结构的部分),n代表在控制流图中的节点数量,包括起点和终点(1、所有终点只计算一次,即便有多个return或者throw;2、节点对应代码中的分支语句)美好生活触手可得美好生活触手可得提提取函数—将独立业务活模块代码单独封装为函数算法替换算法替换—复杂的算法可能会导致Bug,满足功能的前提下,使用简单的算法分分解条件式—复杂的条件表达式封装为函数合合并条件式—将一系列得到相同结果的条件表达式合并查查询函数和修改函数分离—-单一职责原则,强调复用性合并合并重复的条件判断——不同的分支有相同的处理,提炼到分之外高级使用代码覆盖率1.自动化的回归并收集代码覆盖率2.查看代码覆盖率的历史记1.自动化的回归并收集代码覆盖率2.查看代码覆盖率的历史记录1.识别出所有被修改的方法(新增,删除和修改)2.可以有效的查看那些被修改的方法是否被测试到3.通过圈复杂度衡量代码的质量1.为什么要引入突变测试2.如何通过突变测试来衡量单元测试的质量3.突变测试的成本及收益及发展美好生活触手可得跟跟CI的持续集成高级使用精准的代码覆盖精准的代码覆盖率突变测突变测试美好生活触手可得跟跟发布系统的集成,重置代码覆盖率CI的持续集成美好生活触手可得跟跟发布系统的集成,获取代码覆盖率CI的持续集成美好生活触手可得跟跟Sonar的集成CI的持续集成美好生活触手可得跟跟Sonar的集成CI的持续集成美好生活触手可得识别识别出所有被修改的方法(新增,删除和修改)精准的代码覆盖率美好生活触手可得可可以有效的查看那些被修改的方法是否被测试到精准的代码覆盖率突变测试美好生活触手可得为为什么要引入突变测试Mutationtestingisatechniqueforsystematicallymutatingsourcecodeinordertovalidatetestsuites.Itmakessmallchangestoaprogram’ssourcecodeandthenrunsatestsuite;ifthetestsuiteeversucceedsonmutatedcodethenaflagisraised。Unittestingensuresyourproductioncodeisrelevant.Butwhatdoesensureyourtestingcodeisrelevant?Comediscovermutationtestingandmakesureyourneverforgetanotherassertagain.Intherealmoftesting,thecodecoveragemetricsisthemostoftentalkedabout.Aline(orabranch)isconsideredtohavebeencoveredifduringtestexecutionthislinehasbeenrun.However,itdoesn'tmeanthatthetesthasbeenusefuloreventhatanasserthasbeencoded.Mutationtestingcreatesmutantsfromcode-adeviationfromthewrittencode,andtestthemalso.Ifateststillpassesonamutant,thenthetestisnotrelevant突变测试美好生活触手可得如何如何通过突变测试来衡量单元测试的质量-/tigerqiu712/jgit-cookbook突变测试美好生活触手可得如如何通过突变测试来衡量单元测试的质量如何通过突变测试来衡量单元测试的质量如何通过突变测试来衡量单元测试的质量突变测试美好生活触手可得SurvivingmeanschangingthesourcecodedidnotchangethetestresultIt‘sbad!KilledmeanschangingthesourcecodechangedthetestresultIt’sgood突变测试美好生活触手可得突突变测试的成本及收益

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论