当代码变更遇上精准测试的总结

作者: a3aac2d1b674 | 来源:发表于2018-08-01 10:46 被阅读4次

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由elyyan 发表于云+社区专栏

Martech 代码变更遇上精细化测试的总结

需求背景:

​ 敏捷模式下迭代频繁,回归测试时总是不知道变动的范围。Devlop 有的时候也不知道他改了哪些东西,影响到哪些节点,或者是很多人改的,彼此不知道。遇到有代码洁癖的,改了别人的代码,大家都不知道。通常情况是,要么测试范围定小了,遗漏了;要么测试范围过大,付出过多代价。每次回归,测试心里总没底,生怕漏了哪里。如何才能准确定位到变更范围呢?

项目测试过程的痛点:

1.迭代更新快,人力有限

2.多分支代码合入到主干分支,修改哪个文件哪个行,测试不可控。

3.代码更新影响哪些功能无感知

4.盲测,上线风险大

5.无法更加精准监控代码质量

6.不能做到高效精准,不可衡量ROI

解决方案:精细化测试探索

1流程图:

img

整体架构图

2录制自动化测试+phpcoverage 配合落地XDEBUG文件,解析覆盖率文件,生成文件-行号/函数-用例 映射关系表【phpcover_process.py】

XDEBUG_IP服务ip_DATE日期.txt 文件如下:

img

一个case涉及到的文件遍历明细

img

1个api->n个file->line_no集合->n个testcase集合

img

1个api->n个file->n个functionName->n个testcase集合

3基于git diff 针对版本号之间的差异化分析.【git_diff.py】

2.1过滤相关文件(phpunit,js,test文件,vendor公共库)

2.2记录当前代码分支版本号(分支-旧版本-新版本-系统-环境)

2.3针对新版本号和旧版本号 文件中行变化的明细入库(版本号-文件-旧行号-新行号-变更类型class fun)

img

diff 文件

img

项目-分支-旧版本-新版本-环境

img

版本号修改的文件(文件,旧行号,新行号,类,函数名,系统)

4生成命中的测试用例【down_accurate_case.py】

原理图:

img

待测json文件

img

生成需要执行的apiList 对应的caseId

5插桩-自动化测试(指定case_id顺序执行)-缺陷数量回写DB【accurate_runcase.py】

img

自动化测试执行日志

img

版本-执行的api-数据统计(执行数-发现bug数)

img

生成自动化测试报告

6统计精准测试效果数据统计【accurate_stat_image.py】

img

精准测试报告

7.最新跑完的测试覆盖率数据新增/更新/删除 文件-用例-行/函数 覆盖率关系表,形成闭环为下次精准测试做铺垫【phpcover_process.py】

总结

·精细化测试基于自动化覆盖率到达一定量的基础上去做比较有意义。

·通过这个探索能让我们更加深入的去了解被测系统及架构,在保障质量的前提下,在不断的版本迭代过程中更加高效、可靠、自信地制定合理的测试计划和执行我们的测试工作。

·被测系统php 语言+ git代码管理,暂不包含js的精准性测试,测试解析语言:python。

问答

单元测试调试

相关阅读

安全报告 | 2018上半年互联网恶意爬虫分析:从全景视角看爬虫与反爬虫

安全报告 | SSH 暴力破解趋势:从云平台向物联网设备迁移

给你的CVM安装一个面板吧!

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1158398?fromSource=waitui

欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~

海量技术实践经验,尽在云加社区

相关文章

  • 当代码变更遇上精准测试的总结

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由elyyan 发表于云+社区专栏 Martec...

  • 精准测试(3)

    精准测试分析是根据需求,代码等的变更情况,结合函数关系、模块关系、推荐的用例来进行测试分析,设计测试方案和用例,评...

  • 精准测试简介

    简介 传统测试在有变更时候没办法很高效精准的测试相应的改动造成的影响,而精准测试就是为了解决这个问题的精准测试将用...

  • 质量效能大会中一些概念的感悟

    精准测试: 精准测试是一套计算机测试辅助分析系统。精准测试的核心组件包含的软件测试示波器、用例和代码的双向[追溯]...

  • 常见面试题

    SVN在测试中的使用 Checkout代码 进行代码对比 从代码的差异中锁定测试范围 重点测试变更的代码涉及到的功...

  • 【5】精准测试技术

    精准测试技术解决的问题 1、可视化2、智能化3、可信4、精准 什么是精准测试方法 精准测试方法通过代码插装后打包部...

  • 学习笔记——需求跟踪矩阵的常见疑问

    1. 需求跟踪矩阵(RTM)有什么作用 a) 在需求变更、设计变更、代码变更、测试用例变更时,需求跟踪矩阵是目前经...

  • google测试之道

    测试执行和持续集成跟踪代码缺陷 分析代码变更影响的模块,每次执行相应模块的测试用例,加速测试周期,快速反馈 推行测...

  • 资料

    1、【软件测试】精准测试之测试用例与代码关联 https://www.bilibili.com/video/BV1...

  • Sping 同一个类中的方法调用,事物不生效

    前言:有时候在编写代码过程中,遇到事物不生效的问题,特此总结一下 代码如下 测试结果如下: 经过测试发现,当dem...

网友评论

    本文标题:当代码变更遇上精准测试的总结

    本文链接:https://www.haomeiwen.com/subject/mnylvftx.html