zoukankan      html  css  js  c++  java
  • 当代码变更遇上精准测试的总结

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

    本文由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涉及到的文件遍历明细

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

    img1个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)

    imgdiff 文件

    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),第一时间获取更多海量技术实践干货哦~

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

  • 相关阅读:
    ZOJ 3818 Pretty Poem
    HDU 4597 Play Game
    HDU 4497 GCD and LCM
    CSU 1335 高桥和低桥
    UVA 10791 Minimum Sum LCM
    CSU 1119 Collecting Coins
    CSU 1120 病毒
    UVA 12169 Disgruntled Judge
    HDU 1301 Jungle Roads
    POJ 1258 Agri-Net
  • 原文地址:https://www.cnblogs.com/qcloud1001/p/9399937.html
Copyright © 2011-2022 走看看