热修复测试过程注意事项
软件测试行是近几年比较火热的技术岗位,想要学习软件测试的同学有很多,今天小编给你分析一下关于热修复测试过程注意事项的相关内容,如果你在一次测试中脱颖而出那将来的你一定很精彩!
基于tinker实际测试过程中遇到的问题,小编简单总结测试过程遇到的经验和教训。
一、功能测试阶段
1. 功能测试:代码修复,资源修复和SO修复逻辑验证;
这个是热修复基本的功能测试,不做赘述;
2. 功能测试:SDK更新时需要注意系统版本适配;
新功能测试和SDK升级时,均需要主要5.0以下系统和5.0以上系统的生效性验证。在项目实际测试过程,曾经发现过SDK升级时5.0以下手机冷启动就出现崩溃,最后发现与与分Dex方案Multidex在Android5.0前后版本引用策略不同有关。所以建议升级SDK升级时需要注意系统适配;
3. 产品逻辑:思考如何查看统计线上修复率;
这个逻辑容易被很多产品和测试同学忽略,与功能逻辑无关,但是测试过程需要思考,上线热修复补丁包后如何查看是否下载成功,加载成功与否。建议测试过程多思考除了功能逻辑以外的一些事情。
4. 策略逻辑:确保可以清除补丁包或者版本升级后不生效;
这个策略逻辑是否重要,但凡所有的事情优先想好退路,在思考修复功能逻辑之前,优先思考删除补丁包的逻辑,如果开发如果没有添加相关策略逻辑,那么,下发的补丁包存在问题导致修复失败将是灾难性的问题;
5. 策略逻辑:思考如何解决同一版本,不同渠道打包可能导致基准包不同的问题;
不同公司的不同产品线打包可能存在差异性,在实际测试过程曾经出现一个问题,热修复功能验证通过,但是市场,测试和产品基于自身需求,修改打包配置项重新打包,导致同一个版本,虽然代码逻辑相同,但是系统重新打包导致混淆存在差异。如果该版本需要下发热修复补丁包,可能需要不同的基准包编译对应的补丁包,导致热修复功能的可用性降低;
6. 功能测试:非目标app包在下载补丁包后不会生效且不会出现崩溃;
这个是热修复基本的功能测试,也是必须要注意的。
二、热修复下发阶段
在出现线上问题,需要下发补丁包时,测试同学在进行相关测试过程需要注意:
1. 功能测试:成功修复问题;
验证相关线上bug可以被成功修复,且不会出现连带bug;
2. 策略逻辑:可以清除补丁包;这个是必须要重视的,虽然之前的功能测试中已经覆盖到,但是实际对线上下发补丁包时必须优先测试下发的补丁包可以通过之前约定的策略清除;3. 性能测试:注意热修复下发后对于启动性能的影响;通过tinker的原理可知,下发热修复补丁包后对app的启动性能。故在实际下发补丁包并修复成功后,需要测试启动相关性能;
相关文章:

LeetCode实战:存在重复元素
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 Given an array of integers, find if the array contains any duplicates. Your function…

oracle exec 和 call 区别
转自:http://helloaq.iteye.com/blog/221614 exec 和 call 执行一个procedure时, exec是sqlplus的命令,只能在sqlplus中使用。 call是sql命令,任何工具都可以使用转载于:https://www.cnblogs.com/zerocc/archive/2011/07/27/21189…

html简单响应式滚动条置顶
简单响应式滚动条置顶 一般的,让页面出现滚动条的常见方法有: overflow:auto||overflow:scroll 或者overflow-x水平滚动条和overflow-y垂直滚动条那么现在要实现这样的一个效果: 直接在body中给一个header,后面一个Group盒子&…

UI设计培训之:5个小技巧快速学会PS抠图
一听到PS抠图,我们大家心里是不是产生了退却心理,害怕它过于复杂的操作。 那么现在有一种简单方法教给大家,如何在10分钟内快速学会ps抠图。 而你所需要准备的就是给自己10分钟的尝试时间。 你没有尝试过某件事情,就不要轻易说它难…

AIX VNC setup
1. 下载VNC for AIX虽然标明是for AIX51的,但AIX53和AIX61仍可用。 2. 安装RPM: rpm -Uhv vnc-3.3.3r2-3.aix5.1.ppc.rpm 3.编辑配置文件: # which vncserver/usr/bin/X11/vncserver #chmod 777 /usr/binX11/vncserver vi /usr/bin/X11/vncserver 更改前…

历史 history
题目描述 历史学家小A正在研究一个奇怪的王国的历史。当前阶段的任务是研究该国的交通。 根据这个奇怪的王国的史书记载,史书开始记载前这个王国有 n 个城市(城市从 0 开 始标号) ,但所有城市之间都没有道路相连。 …

LeetCode实战:Nim 游戏
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 You are playing the following Nim Game with your friend: There is a heap of stones on…

python值得报班学习吗
python值得报班学习吗?最近有很多想要学习Python的同学都会问到这个问题,Python在近几年的发展前景是非常不错的,想要学会Python编程语言,建议还是报班学习,来看看下面的详细介绍吧。 python值得报班学习吗?首先Python值不…

LeetCode实战:2的幂
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 Given an integer, write a function to determine if it is a power of two. Example 1: …

P1214 等差数列
https://www.luogu.org/problem/show?pid1214#sub 暴力枚举题,加上一些剪枝。 (原谅我卑劣地提交了两个答案特判) #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<algorit…

cocos2d 0.99.5版本屏幕默认是横屏,怎么修改为竖屏呢?
在RootViewController.m文件里面,修改如下代码#elif GAME_AUTOROTATION kGameAutorotationUIViewController // // EAGLView will be rotated by the UIViewController // // Sample: Autorotate only in landscpe mode // // return YES for th…

学习java三个技巧要知道!
java一直是IT行业发展前景非常不错的一门编程语言,学起来是相对有点困难的,尤其是零基础学员,要想学好java技术,一定要知道这三个技巧,来看看下面的详细介绍就知道了。 学习java三个技巧要知道! 1. 树立学习的信心 很多…

LeetCode实战:格雷编码
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 The gray code is a binary numeral system where two successive values differ in only o…

Programmer of Practice Manual
这是我以前再读研究生的时候写的东东,希望搞计算机的同学,教计算机本科生学习技术的文章(非算法类)粘在这里纪念一下。 大一寒假 结构化编程基础: 图书:《How to C》 实践过程:完成课后的习题&a…

改善C#程序的建议3:在C#中选择正确的集合进行编码
原文:改善C#程序的建议3:在C#中选择正确的集合进行编码要选择正确的集合,我们首先要了解一些数据结构的知识。所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。结合下图,我们看一下对集合的分类。 集合分类 …

Python工程师求职必知的经典面试题
最近几年,学习Python语言的同学越来越多,学成之后大家对于后期的面试都遇到了很多难题,小编这次为大家整理了一份关于Python工程师求职必知的经典面试题!希望能够帮助到正在找Python工作的同学们。 Python工程师求职必知的经典面试题…

LeetCode实战:二叉树中的最大路径和
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 Given a non-empty binary tree, find the maximum path sum. For this problem, a path i…

为Visual Studio添加配色方案
看到网上有一些教程,他们的代码截图,不是VS默认的白底黑字,觉得挺好看,就也把自己的VS鼓捣了一把: 使用的是现成的配色方案,试了好几种,就觉得这个看着舒服son-of-obsidian.vssettings 你可以去…

黑色星期五阿里云向海淘输出双11技术
本文讲的是"黑色星期五"阿里云向海淘输出双11技术【IT168资讯】11月27日零点,“黑色星期五”正式到来,虽然远在中国的消费者无法参与海外的实体抢购,但电商平台却给了他们从地球另一端参与“大抢购”的机会。随着近年海淘市场的不断…

专业的java培训机构是否靠谱,对比一下就知道了!
java在IT行业的火热是有目共睹的,所以市面上有很多机构都抓住了这点,开设了java培训课程,想要找到一个适合自己的java培训机构,多进行对比就知道了! 专业的java培训机构是否靠谱,对比一下就知道了!专业的Java培训机构靠…

LeetCode实战:环形链表 II
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 Given a linked list, return the node where the cycle begins. If there is no cycle, re…

.NET中使用OracleHelper
以前一直使用MSSQL,数据库操作类也是自己写的.现在项目使用Oracle,数据库操作类用的是MICROSOFT的DAAB中的OracleHelper.实际使用过程中,发现坛内少有此方面使用经验的贴子,故在这里把我使用中的一点经验用几个例子说明一下,希望起到抛砖引玉的作用. 查询数据方面: 1.简单的SQL…

新勒索软件DynA-Crypt不仅要加密你的文件,而且窃取并删除它们
本文讲的是新勒索软件DynA-Crypt不仅要加密你的文件,而且窃取并删除它们,一个名为DynA-Crypt的新勒索软件被GData公司的恶意软件分析师Karsten Hahn发现,DynA-Crypt不仅能加密你的数据,而且试图从受害者的计算机窃取大量信息。虽然…

【Postman】6 Postman 发送post请求-Json格式
一、post请求说明 使用postman发送一个post请求,在上文中测试流程中提到的4个要素:URL、请求方式、请求头部信息及body数据。 body中设置的请求参数,常见的有如下三种: 1、x-www-from-urlencoded格式 2、form data格式 3、Json格式…

LeetCode实战:最小栈
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 Design a stack that supports push, pop, top, and retrieving the minimum element in co…

配置国内 Docker Registry Mirror
由于国内特殊的网络环境,往往我们从Docker Hub中拉取镜像并不能成功,而且速度特别慢。 那么我们可以给Docker配置一个国内的registry mirror,当我们需要的镜像在mirror中则直接返回,如果没有则从Docker Hub中拉取。是否使用regist…

Java培训深度学习都要学什么
java的知识点有很多,如果是有java基础的同学,进行深度学习是非常有必要的,比较职场技能更新迭代非常的快,那么java培训深度学习都要学什么呢?来看看下面的详细介绍。 Java培训深度学习都要学什么? Java深度学习要掌握两点&#…

LeetCode实战:相交链表
背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 Write a program to find the node at which the intersection of two singly linked lists…

# 30 天精通 RxJS (01):认识 RxJS
RxJS 是笔者认为未来几年内会非常红的 Library,RxJS 提供了一套完整的非同步解决方案,让我们在面对各种非同步行为,不管是 Event, AJAX, 还是 Animation 等,我们都可以使用相同的 API (Application Programming Interface) 做开发…

ThickBox 3.1参数详解(转)
前几天写了一篇关于ThickBox 3.1的文章:今天在使用这个东西的时候发现里面有许多参数没有详细解释,今天抽空整理出来,现和大家分享一下:先说几个参数:class"thickbox" 调用特效;height 打开页面的…