【百度实习总结】百度国际化产品研发中心——mediago服务端测试开发实习

目录

Q1:觉得这一段实习跟百度网盘服务端的有什么区别?

移动端和pc端

测试方式的不同

百度网盘:

mediago:

觉得两种测试方式哪种更加好?

Q2:讲一下印象深刻的BUG

Q3:讲一下线上的监控脚本这个是干什么的?可以讲一个具体的监控的case吗

监控脚本的代码结构:

监控的编写流程:

当遇到报警的时候,我们怎样处理:

一个报警的具体案例可以讲一下吗?


Q1:觉得这一段实习跟百度网盘服务端的有什么区别?

移动端和pc端

       在这一段实习当中,我主要负责的是百度的出海广告投放平台mediago的服务端测试。本段实习当中,测试的流程与百度网盘实习的最大区别在于:mediago系统没有移动端,呈现给使用的用户的是一个pc端的应用程序。也就是因为存在这样的差异,所以我们测试的时候也有一定的区别:


测试方式的不同

百度网盘:

在百度网盘的时候,rd同学提测会发来一个提测报告,上面写明改动的代码是什么,以及本次改动代码涉及到哪些接口。测试的时候,更加关注的是后端白盒代码的测试。主要是白盒测试


mediago:

前后端一起测试:一个需求的改动可能涉及到前端代码和后端代码的改动。测试的时候,直接站在用户的角度进行测试。有的时候为了构造一些特定的业务场景,可能会在数据库当中构造数据来进行测试。这边的测试更加偏向于灰盒测试。无需关注代码的具体实现。


觉得两种测试方式哪种更加好?

这个问题等同于提问:灰盒测试和白盒测试有什么不同,哪种测试方式更加优胜?

回答:两种测试方式各自有各自的优点:

白盒测试可能更加关注代码的执行逻辑,覆盖率比较高。但是灰盒测试或者黑盒测试站在用户的角度体验,功能可能更加全面。

同时:当一个需求改动代码特别多的时候,可能更加倾向于灰盒测试或者黑盒测试。

       因为白盒测试所编写的case数量如果想覆盖到全部的功能,可能难度比较大而且容易遗漏。因此当改动代码量比较大的时候,可以选择使用灰盒测试来代替白盒测试,关注执行的结果即可。


Q2:讲一下印象深刻的BUG

       在mediago系统测试的时候,给我的体验就是,每一个pm提出来的需求,都有一个对应使用的角色。例如,有的需求是提供给超级管理员使用的,有的是提供给广告主使用的。所以,在测试之前,一定要使用对应权限的测试账号来测试,否则容易出现越权的问题;

       有一次PM同学提出来一个需求,这个需求是提供给超级管理员使用的,这个需求是超级管理员可以增加一项权限:他可以调整对应注册客户的一个属性的值——当月广告投放的最大金额。然后这个客户旗下对应的广告主的金额也会跟着修改。这一项权限是只有超级管理员才有的,普通的广告主没有这一项权限。我测试的时候是使用普通超级管理员的角色来测试的。但是测试完这个需求之后,我使用普通广告主的测试账号登录,发现也可以修改。

      在发现了这个问题之后,及时跟rd和PM同学确认,后面就修复了这个bug,改为:只有超级管理员才有权限调用这个接口,普通的广告主没有这一项权限。


Q3:讲一下线上的监控脚本这个是干什么的?可以讲一个具体的监控的case吗

监控脚本的代码结构:

这一块脚本的代码主要分为两部分:一部分是执行的case命名,放到一个sql_monitor_hourly文件当中(每一小时执行一次)。另一部分是case的具体实现;

其中还有一个文件是存放case命名的,这个文件是:sql_monitor_10_minute(每十分钟执行一次)。

在这两个文件当中定义case的方法。方法的入参就是报警的对象,例如:wangjiaxin09等等。

我们后面查看报警信息,就是在一个监控群里面查看,他报警的时候会@对用的人。


监控的编写流程:

当rd同学需要编写某一个监控的sql的时候,他会先确定好编写sql的内容,以及断言的条件是什么,也就是报警的条件是什么,以及这个报警是多久执行一次(10分钟一次或者一个小时一次)

然后报警的内容是什么。

当确定好这些内容之后,我们QA同学就会把case写到对用的代码当中,方法入参填写报警的对象,方法体填写报警的逻辑(例如当sql查询出来>0的时候报警等等)

编写好之后,先在本地测试一下效果,然后再部署上线。


当遇到报警的时候,我们怎样处理:

当遇到报警的时候,我们这边一般习惯的除磷方式是,对于某一个case,如果连续3次以上报警,那么我们就要查看一下是不是出了一些问题。连续三次以内的报警一般可以忽略掉。


一个报警的具体案例可以讲一下吗?

我们这边有一个规则,就是针对低质量的广告的广告主投放次数的监控。我们有的时候会收到一些用户的反馈,例如某些广告多次被用户标记为不太感兴趣这种的。那么运营的同学就会收集好这些广告主的名单,同步给我们。

sql的监控逻辑就是:当这些低质量的广告主在一个小时内的创建广告数量如果超过2次的,那么就会报警。报警的信息就是:某个低质量的广告主创建广告太频繁了,广告主的名称是***;然后就会通知运营的同学多审核一线这个广告主创建的广告是否存在低质量的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.冒泡排序

冒泡排序 基本思想:每次比较两个相邻的元素 如果它们的顺序错误就把它们交换过来 重点:交换 时间复杂度为:O(n^2)(平均情况、最坏情况) 最优情况:输入的数组已经是完全有序的时候 冒泡排序只需要进行一…

IT外包服务:企业数据资产化加速利器

随着数字化时代的兴起,数据成为企业最为重要的资源之一。数据驱动创新对于企业的竞争力和可持续发展至关重要。在这一进程中,IT外包服务发挥着关键作用,加速企业数据资产化进程,为企业提供了重要支持。 首先,IT外包服务…

第七讲 索引并发控制

我们假设迄今为止讨论的所有数据结构都是单线程访问的。 但 DBMS 需要允许多个线程安全地访问数据结构,以充分利用额外的 CPU ,并隐藏磁盘 I/O 停顿。 并发控制协议【concurrency control protocol】是 DBMS 用于确保在共享对象上的并发操作得到“正确”…

【React】基于JS 3D引擎库实现关系图(图graph)

主角:3D Force-Directed Graph 简介:一个使用ThreeJS/WebGL进行3D渲染的Graph图库 GitHub: https://github.com/vasturiano/3d-force-graph Ps: 较为复杂或节点巨大时,对GPU>CPU消耗较大,同量级节点对比下优于AntV G6和Echarts…

简单介绍lamp/lnmp和ssh服务

lamp/lnmp和ssh服务 lamp/lnmp配置lnmp ssh服务 lamp/lnmp LAMP linuxapachemysqlphp LNMP linuxnginxmysqlphp配置lnmp 安装的组件 nginx -epel源 php-fpm - remi源 mysql - mysql-server mariadb 第一步:安装nginx nginx安装 第二步:安装mysql yum…

树(Tree) - 概念与基础

树的基本概念 树(Tree)是一种重要的数据结构,它在计算机科学中被广泛应用于各种算法和程序中。树是由节点(node)组成的层次结构,其中每个节点都有一个父节点,除了根节点外,每个节点都有零个或多个子节点。树的一个关键特点是没有…

【算法每日一练]-数论(保姆级教程 篇1 埃氏筛,欧拉筛)

目录 保证给你讲透讲懂 第一种:埃氏筛法 第二种:欧拉筛法 题目:质数率 题目:不喜欢的数 思路: 问题:1~n 中筛选出所有素数(质数) 有两种经典的时间复杂度较低的筛法&#xff0…

蓝桥杯真题:路径

import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {int n 2022; //从下标为1开始&#xff0c;方便计算int[] q new int[n]; //存储最短路q[1] 0; //起始条件for (int i 2; i < 202…

C语言 | Leetcode C语言题解之3题无重复字符的最长子串

题目&#xff1a; 题解&#xff1a; int lengthOfLongestSubstring(char * s) {//类似于hash的思想//滑动窗口维护int left 0;int right 0;int max 0;int i,j;int len strlen(s);int haveSameChar 0;for(i 0; i < len ; i ){if(left < right){ //检测是否出现重…

5.2 通用代码,数组求和,拷贝数组,si配合di翻转数组

5.2 通用代码&#xff0c;数组求和&#xff0c;拷贝数组&#xff0c;si配合di翻转数组 1. 通用代码 通用代码类似于一个用汇编语言写程序的一个框架&#xff0c;也类似于c语言的头文件编写 assume cs:code,ds:data,ss:stack data segmentdata endsstack segmentstack endsco…

I.MX6ULL的MAC网络外设设备树实现说明一

一. 简介 IMX6ULL芯片内部集成了两个 10/100M 的网络 MAC 外设&#xff0c;所以&#xff0c;ALPHA开发板上的有线网络的硬件方案是&#xff1a; SOC内部集成网络MAC外设 PHY网络芯片方案。 本文来说明一下MAC网络外设的设备节点信息的实现。 因此&#xff0c; I.MX6ULL 网络…

Static关键字有什么作用?

static 关键字在 Java 中有多种用途&#xff0c;它主要用来修饰成员变量、成员方法、代码块和内部类。下面是 static 关键字的一些主要作用&#xff1a; 静态变量&#xff08;静态成员变量&#xff09;&#xff1a; static 修饰的变量属于类本身&#xff0c;而非类的某个对象。…

leetcode热题100.数组中的第k大的元素

作者&#xff1a;晓宜 &#x1f308;&#x1f308;&#x1f308; 个人简介&#xff1a;互联网大厂Java准入职&#xff0c;阿里云专家博主&#xff0c;csdn后端优质创作者&#xff0c;算法爱好者 ❤️❤️❤️ 你的关注是我前进的动力&#x1f60a; &#x1f319;&#x1f319;&…

谷歌浏览器必用AI插件 - elmo,好用,还免费

功能&#xff1a; 1、即时生成网站内容摘要&#xff1b; 2、支持提问并从页面获得直接回答&#xff1b; 3、通过关键词获取相关信息&#xff1b; 4、可以与 PDF 对话&#xff0c;方便理解大型文档、学习或审阅报告&#xff1b; 5、与 YouTube 视频交互问答&#xff08;测试…

探索前端架构:MVC、MVVM和MVP模式

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C语言常用语法提要

为读者查阅方便,下面列出C语言语法中常用的一些部分的提要。为便于理解没有采用严格的语法定义形式,只是备忘性质&#xff0c;供参考。 1.标识符 可由字母、数字和下划线组成。标识符必须以字母或下划线开头。大、小写的字母分别认为是两个不同的字符。不同的系统对标识符的字…

sky06笔记下

1.边沿检测 检测输入信号din的上升沿&#xff0c;并输出pulse module edge_check ( clk, rstn, din, pulse ); input wire clk,rstn; input wire din; output reg pulse;wire din_dly;always (posedge clk or negedge rstn)beginif(!rstn)din_dly < 1b0;elsedin_dly < d…

307k star, 免费的编程书籍 free-programming-books

307k star, 免费的编程书籍 free-programming-books 分类 开源分享 项目名: free-programming-books -- 各种编程语言免费学习资源 Github 开源地址&#xff1a; https://github.com/EbookFoundation/free-programming-books 查找页面&#xff08;英文&#xff09;&#xff…

补代码随想录算法训练营第43天 |1049. 最后一块石头的重量 II、 494. 目标和、 474.一和零

今天的题目有点抽象&#xff0c;得好好理解 1049. 最后一块石头的重量 II 本题就和 昨天的 416. 分割等和子集 很像了&#xff0c;可以尝试先自己思考做一做。 视频讲解&#xff1a;动态规划之背包问题&#xff0c;这个背包最多能装多少&#xff1f;LeetCode&#xff1a;1049…

tigramite教程(七)使用TIGRAMITE 进行条件独立性测试

文章目录 概述1 连续数值变量1.1 ParCorr 偏相关&#xff08;ParCorr类&#xff09;1.2 鲁棒偏相关&#xff08;RobustParCorr&#xff09;非线性检验1.3 GPDC1.4 CMIknn 2a. 分类/符号时间序列2b. 混合分类/连续时间序列多变量X和Y的测试 概述 这个表格概述了 X ⊥ Y ∣ Z X\…