美文网首页软件测试
C端广告打点辅助工具

C端广告打点辅助工具

作者: zi萱 | 来源:发表于2019-05-31 18:08 被阅读26次

    背景简单交代一下,业务是广告平台,广告主要展现在C端,C端每接入一个广告位需要QA介入测试,主要针对广告展现、广告的pv/click的数据上报。
    由于历史原因,C端并不统一采用sdk方式接入。
    由于C端以及广告平台均是公司业务,cpc广告才刚刚开始接入,公司并未重视各接入方的收入情况,以及各种内部广告及宣传的融合。
    各种原因吧,导致上报数据不准确。这个风险性是显而易见的。(但总有人对风险视而不见)
    临时抱佛脚的修复,随着广告位越来越多,积攒的问题也会越来越多。

    有必要分析一番
    1. 关于上报数据问题:该是C端QA来保证质量还是广告QA来保证?
      理论上广告QA只需要保证请求展现、pv/click上报接口以及后续报表的正确,反作弊系统正常运作。可是由于业务的历史原因,这个责任落到了广告QA身上。(其实就是各方PK失败😢)
    • 所以广告QA该做什么呢?辅助自己或C端QA做上报校验,避免让自己陷入手工重复劳动的漩涡里。
    再来分析一番
    1. 什么样的需求会用到自动化工具呢?
      (1)新增广告位
      (2)C端优化
      (3)广告侧广告引擎优化=》影响展现
      (4)广告侧上报服务优化
      我们来讨论一下(1)(2)(4),(3)可以通过广告QA接口测试来保证质量,不做赘述。
    2. 如何做全自动/半自动化工具?
    • 我们是怎么手工测试的呢?
      以Android为例,一般通过抓包过滤上报请求,校验上报字段是否正确,再确定广告侧落库成功,报表展示正确。(一般上报请求数据丢入redis,广告侧从redis中取数据做分析落库等等。)
    • 哪里可以做辅助测试?
      (1)如果仅C端有更改,广告侧无更改,那么可以【抓包=》校验】,无需关注后续的落库和数据展示。
      (2)如果仅广告侧有改动,C端无改动,那么可以在redis中构造不同广告类型等上报数据,验证后端逻辑。
      (3)全有改动,需要做全流程测试,通过UI自动化,加后端逻辑校验,走全流程回归。
    • 效率提升?
      保守估计,之前一个广告位要测试要4小时,现在1小时内搞定。主要是纯手工眼睛会累瞎。
    今天主要说一下第(1)种方案,第(2)种很简单,第(3)种非常复杂,性价比不高。
    辅助打点测试方案:
    经过以上分析,针对C端有改动,广告侧无改动情况,方案图如下 image.png

    通过配置文件来配置需要校验的数据,抓包,过滤上报请求,校验上报字段正确性,做的好看一点可以输出报告。

    还有有几个小点想提一下:
    1. 我进了一个页面,一下子有10几条上报数据,怎么check?
      首先你要明确要测试广告位的上报条数,是上报一条还是多条,每条上报是否是一样的?只需要将自己需要校验的数据过滤出来并check就可以了
    2. 期望结果有多个,实际结果只要match上一个就算通过
    3. 有一些点我们未必可以check的很全,比如广告id,如果每次都有变化,最好用正则去match
    选型

    没做什么特别的对比分析,没什么权威性,不过可以说用起来还不错。
    原来想用一个基于nodejs的开源库,后来还是选择了mitmproxy,基于python的,选择自己熟悉的没错。

    整个程序可以说就是在分析数据,校验数据,输出校验结果,没别的了。整个工程不超过500行代码。

    由于没什么代码没什么通用性,就不分享代码了,大家可以动手做起来,代码虽不通用,但想法是可以借鉴的。

    附一下我的代码结构 image.png

    config/:存放期望结果配置
    core/:核心代码(每次执行后,再去生成html报告即可)
    report/:本次测试结果,缓存在这里
    static/:html模板,用于生成html报告

    干货送给大家,喜欢点赞👍

    相关文章

      网友评论

        本文标题:C端广告打点辅助工具

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