自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

APP性能的魔法数字

对于大多数的APP产品经理而言,APP性能是最高优先级的,但是他们并不知道为什么性能如此重要,更不用说如何理解这些性能指标了。这篇文章介绍了APP性能魔法数字的三个问题what,why以及how。 对不同的人,性能意味着不同的事情。我们来讨论速度。从开始启动应用程序到完整加载并展示需要多长时间?从点击菜单到展示菜单内容需要多长时间?从发帖到显示在feed中需要多长时间?这是重要的。如果服...

2017-08-15 18:51:35 272

原创 关于自动化测试的一点感悟

最近的一年主要精力都放在自动化测试上了。前半年是手机客户端的自动化测试,主要是冒烟测试,一个平台大概200条用例的量,平均一个平台3个人力,在完成日常的系统测试之余,花了半年时间做起来的。接下来的半年是维护,比较大的问题是测试平台的支持不够及时,以及真机的损耗很大。而且客户端测试的一个短板在于测试覆盖度很小,冒烟测试,简单说就是最基本的功能测试,一般都是正常的用例,很少涉及异常的用例。对于一个...

2017-07-07 10:47:23 989

原创 从技术到管理的3大挑战-演讲笔记

原文链接:http://www.infoq.com/cn/presentations/3-challenges-from-technology-to-management今天看了演讲视频,觉得讲的很好,自己作为一名基层管理者,还是有不少共鸣的以下摘要供自己定期自省。 挑战1:队员做的工作没有自己好,花时间去沟通还不如自己去做。 错误一:帮队员调整代码-代码规范性不够...

2017-07-06 18:18:07 354

原创 UNPHAT原则

最近读到一篇文章:《你不是google》,里面提到了UNPHAT原则: 1、在彻底了解(Understand)你的问题之前,不要急着去寻找解决方案。你的目标应该是在问题领域内“解决”问题,而不是在方案领域内解决问题。2、列出(eNumerate)多种方案,不要只把眼睛盯在你最喜欢的方案上。3、选择一个候选方案,并阅读相关论文(Paper)。4、了解候选方案的产生背景(His...

2017-07-04 18:02:44 174

原创 Python: struct.pack_into 和 struct.unpack_from 函数学习

一、 函数定义 struct.pack_into(fmt, buffer, offset, v1, v2, ...)Pack the values v1, v2, ... according to the format string fmt and write the packed bytes into the writable buffer buffer starting at ...

2017-06-07 11:44:14 8739

原创 Python: 引用文件夹下py文件的方法

导入文件夹下的py文件,这个文件夹下必须要有一个__init__.py才可以。即使这个文件是空的也可以。 换句话说,__init__.py 文件的作用是将文件夹变为一个Python模块。我们在导入一个包时,实际上是导入了它的__init__.py文件。__init__.py中还有一个重要的变量,__all__, 它用来将模块全部导入。#__init__.py__all__ ...

2017-06-06 19:28:40 455

原创 xshell 常用命令整理

1、创建文件夹mkdir <文件夹名称> 2、进入目录cd <跳转的目录> 3、上传文件rz: 运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器rz -e -y: 上传并替换服务器文件-e: 强制escape 所有控制字符,比如Ctrl+x,DEL等-e, --escape              Force s...

2017-06-02 15:07:15 486

原创 Python: 使用socket实现UDP通讯

1、Server端代码import socketport = 8081s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)s.bind(('',port))while True: data, addr = s.recvfrom(3000) print ('Received: ',data, ' from...

2017-06-01 19:49:15 273

原创 Python: struct.pack 和 struct.unpack 函数学习

在网络通信当中,当我们用二进制流的形式来传递数据时,需要有一种机制,使得发送端可以将数据打包再传输,接收端收到数据后能将数据解包得到原始的结构体数据。Python的struct模块就提供了这样的机制。 pack 和 unpack 关于这两个函数的官方定义如下: struct.pack(fmt, v1, v2, ...)Return a bytes object contai...

2017-06-01 14:47:06 1434

原创 Python:IndentationError:expected an indented block错误解决

Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。在编译时会出现这样的错:IndentationError:expected an indented block。说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键...

2017-05-27 18:21:17 195

原创 Android APP tcpdump抓包方法

前提条件: 1、Android手机获取root权限 2、电脑上有安装Android SDK 3、下载tcpdump软件 操作步骤: 1、Android手机USB连接到电脑上 2、cmd打开命令行窗口,进入adb所在目录(\android-sdk\platform-tools),运行以下命令,将tcpdump拷贝到手机上adb push d:/...

2017-05-25 18:43:29 1313

adb push permission denied解决方法

前提:手机有root权限,安装RE文件管理器 1、adb shell 执行ls -l 命令查看目录权限drw-rw-rw- root     root              2017-05-25 08:55 local2、su 执行 chmod 777 local3、执行ls -l 命令查看目录权限drwxrwxrwx root     root           ...

2017-05-25 10:20:32 2689

原创 Coverity介绍以及典型缺陷说明

、Coverity概述 Coverity公司是由一流的斯坦福大学的科学家于2002年成立的,产品核心技术是1998年至2002年在斯坦福大学计算机系统实验室开发的,用于解决一个计算机科学领域最困难的问题,在2003年发布了第一个能够帮助Linux、FreeBSD等开源项目检测大量关键缺陷的系统。Coverity公司推出的综合开发测试平台,基于新一代的不做代码规则检查、只专注检测代码中的...

2017-05-22 20:30:06 27091

原创 Protobuf基础之proto文件的编译和使用

1、创建测试用的proto源文件,如:StudentInfo.proto,内容如下 message StudentInfo{ required int32 id = 1; required string name = 2; optional string email = 3; } 2、cmd命令行进入protobuf源代码文件夹下的src目...

2017-05-18 20:16:56 4829

原创 Protobuf基础之Windows下安装python protobuf 模块

1、从https://github.com/google/protobuf 的Downloads模块下载 protobuf-2.6.1.zip 和 protoc-2.6.1-win32.zip(笔者机器上已安装了python2.6.4版本)2、解压上面两个zip文件,将protoc-2.6.1-win32.zip里的protoc.exe,放到protobuf-2.6.1的src...

2017-05-18 18:30:09 1530

原创 白帽子讲Web安全-读书笔记

No Patch For Stupid! 在有人参与的情况下,再好的程序都有可能出现各种各样不可预知的情况。在安全领域也普遍认为,最大的漏洞是人!比如管理员的密码可能泄漏等,安全问题往往发生在一些意想不到的地方。  安全是什么? 安全问题的本质是信任的问题。把握信任条件的度,使其恰到好处,是设计安全方案的难点所在。 安全是一个持续的过程 防御技术和攻...

2017-05-17 10:49:07 317

再谈软件测试过程改进

软件测试过程的改进是一个持续的过程,上一次的过程改进效果显著,具体可参考《软件测试过程改进小记》。于是当新版本的QA报告出来后,测试成员们迅速得召开了内部讨论会,讨论的方式主要是头脑风暴式的,围绕报告的数据,抛出所有的问题,然后再确定目前最急需解决的问题。 于是我们最终确定了应该重点解决遗留bug率偏高的问题。首先解释一下遗留bug率的定义,分母是这个版本总共发现的有效bug数,分子是...

2017-05-16 15:32:20 736

浅谈HTTPS

苹果公司要求,从2017年1月起,所有新上线或更新的应用,都应该支持ATS安全标准。什么是ATS?ATS(App Transport Security)是为了提高App与服务器之间安全传输数据一个特性,这个特性从iOS 9和Mac OS X 10.11开始使用,它默认需要满足以下几个条件:1、服务器必须启用HTTPS,且TLS版本至少是1.2版本2、连接加密只允许几种先进的加密算法 证书...

2017-05-09 20:11:07 122

APK瘦身常用方法

随着业务功能的不断增加,APK安装包的体积会越来越大。当安装包的大小影响到用户体验时,就需要进行瘦身了。APK的瘦身主要通过以下三个方面进行: 1、图片资源 2、代码 3、资源混淆 一、图片资源 图片资源基本上都是APP中占比最大的一块。对于图片资源的优化是最简单的,也是最容易看到效果的。常用的方法是删除无用的图片资源和压缩图片资源。 图片格式的...

2017-05-08 20:15:18 221

软件测试过程改进小记

我们项目的QA报告里有几个关键指标项,比如千行代码缺陷率,版本提测换包率,致命/严重bug率,遗留bug率,bug打回率等。最近一次的QA报告显示某产品的Android客户端版本提测换包率达到了50%以上,这意味着每两次提测中就有一次出现换包的情况。 提测版本出现换包,一般是有明显的质量问题。为了解决这个问题,我们的思路是: 第一,测试人员收集历史换包的原因,大致有两类,一类是...

2017-05-03 15:22:36 694

原创 Android APP UI卡顿的原理

一、卡顿(Jank)的定义 Android团队把滞缓,不流畅的动画定义为卡顿(jank),一般是由于丢帧引起的。从Android诞生的第一天直到现在的8核CPU,Android始终未能摆脱卡顿的问题。在Android APP的性能测试中卡顿测试是非常重要的一部分。 二、Android的"16ms"原则 Android系统每隔16ms会发出VSYNC信号重绘我们的界面(A...

2017-04-20 20:04:29 872

人工智能会如何影响软件测试行业?

传统的测试工具,通过让电脑执行一系列步骤,并根据预先定义的预期来检查结果。 那么,人工智能会在软件测试里扮演一个什么角色呢,机器软件测试人员? 也许。 想像一下按揭计算器的测试,不是按照预定义的几个例子,而是随机选择有效数据。 也就是说,选择随机利率从0%到5%,随机贷款金额,贷款期限等。 然后,编写另一个称为oracle的算法,计算结果。 运行软件,看看oracle和软件本身是...

2017-04-19 15:37:49 901

原创 测试人员应该了解的Android 内存优化之图片资源

对比新旧版本的内存测试结果,我们发现新版本的内存占用提高了不少。借助MAT工具对APP占用内存进行分析发现占用APP内存资源最大的还是图片资源,Bitmap对象。我们的开发人员主要在以下几个方面进行了优化: 1、将部分默认图片资源放置到更高屏幕分辨率文件夹(针对所有机型)。 2、使用纯色的背景皮肤,取代APP原本的渐变色背景图(针对低端机)。 3、延迟初始化图片(针对低...

2017-04-18 11:12:36 143

原创 手机视频解码的两种方式

手机视频解码有两种方式:“硬解”和“软解”,两种解码方式分别调用的是手机的CPU和GPU。 在手机上GPU和CPU的关系很紧密,在以前的智能机很多GPU的事都是由CPU来完成的,手机发展到如今已经有了独立的GPU。但是,GPU还是和CPU封装在一起的,由芯片开发商一起开发。如今的手机系统中,“硬解”的处理能力已非常强大;一些手机的GPU处理器,在视频和渲染方面有了极大的提升,有的芯片甚至...

2017-04-17 14:59:40 7959

快手的成功可以给我们什么启示

快手CEO宿华先后来我们公司进行了两次演讲。通过这两次演讲,我才开始关注到快手,关注到宿华。 我下载了快手,花了几分钟很快体验了这款据说有5000万活跃用户,4.5亿用户的APP,第一个感觉就是很简单,整个产品界面没有什么花哨的东西,好评。接下来看了十几个短视频内容,内容五花八门,大多和老百姓的生活有关,接地气,好评。浏览,下载,播放整个过程很流畅,性能不错,好评。不过产品没有一般内容A...

2017-04-14 10:41:51 1098

原创 搜索和推荐评价体系的区别

搜索和推荐是用户获取信息的两种主要手段,其评价体系的主要区别是: 评价搜索结果质量的一个重要指标是要帮用户尽快的找到需要的结果并点击离开。在设计搜索排序算法里,需要想尽办法让最好的结果排在最前面,往往搜索引擎的前三条结果聚集了绝大多数的用户点击。简单来说,“好”的搜索算法是需要让用户获取信息的效率更高、停留时间更短。 衡量推荐系统是否足够好,往往要依据是否能让用户停留更多的时...

2017-04-14 09:54:01 957

原创 直播质量的几个重要指标

1、视频画质主观画质和客观画质,都有相应的算法。2、美颜效果3、卡顿率,主观流畅性有些视频其实不卡,偶尔顿一下,或者显得动作不连贯,就是主观流畅性。4、编解码性能功耗5、音视频延迟6、音画同步率在唱歌的场景特别重要,口形和声音对不上会认为这个人在假唱。7、主观音质,PESQ (感觉语音质量评价),POLQA(知觉客观质量分析) PESQ(Percep...

2017-04-14 09:46:19 4330

通过了解用户如何使用产品来聚焦测试

当我们不确定哪里应该重点测试,或应该做什么样的测试,请分析用户是如何使用我们的产品的。 因为了解这些可以帮助我们改进测试工作。本文探讨了如何利用用户数据来指导优化UI自动化测试和兼容性测试的实例。 实例1:项目A,UI自动化测试 2016年7月,在部门项目A中,我们的后台接口自动化测试已经能基本满足日常工作需要,但是客户端测试仍极大得依赖于手工测试,是时候开始UI自动化测试了。U...

2017-04-13 14:20:15 151

测试人员如何有效沟通?

 沟通能力是测试人员一项非常重要的软技能。本文借最近工作中碰到的两个案例来聊下如何沟通的话题。 A项目接近收尾阶段,开发leader小张(化名)问我:A项目质量是不是不好?因为他看到最近一份测试报告里写到,总体bug解决率27%。我关注到报告里的回归bug解决率是100%的,也有新增一些bug,但无严重致命bug。后面我又找到负责的测试人员了解,A项目是在后期集中修复bug的,所以总体...

2017-04-11 15:48:46 1653

原创 深入浅出移动直播技术之帧率、码率和分辨率

视频文件一般涉及三个参数:帧率、码率和分辨率。 一、帧率 一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。我们通常说帧数,简单地说,就是在1 秒钟时间里传输的图片数,也可以理解为图形处理器每秒钟能够刷新几次,通常用 fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。帧率影响画面流畅度,与画面流畅度成正比:帧率越...

2017-04-07 17:53:07 4801

原创 深入浅出Nginx之工作原理

nginx被称为高性能web server,是与其架构和工作原理分不开的 nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各个worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。基本的网络事件,则是放在worke...

2017-04-06 10:59:29 179

原创 视频基础 之RGB、YUV和YCbCr

RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间)。它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。 一、RGB RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。它将色调,亮度,饱和度三个量放在一起表...

2017-04-01 17:57:23 1615

原创 I/O 对APP性能的影响

一、磁盘I/O对APP的性能影响主要有三种:时延增加,ANR,随机卡顿 二、现有的三种磁盘I/O测试工具1、StrictModeStrictMode意思为严格模式,是用来检测程序中违例情况的开发者工具。最常用的场景就是检测主线程中本地磁盘和网络读写等耗时的操作。缺点:无法检测子线程磁盘I/O2、SystraceSystrace 是 Android 4.1 中新增...

2017-03-29 11:24:11 334

原创 简单后端系统在云平台上的演进之路

一款应用发布之初,用户量小,用一台服务器就可以支撑全部需求,所以最初的部署情况是,最前面是一台绑定了公网IP的nginx服务器作为负载均衡,后面放了3台应用服务器来处理业务上的请求,最后面搭建了一台MySQL Database。 1、构建私有网络 随着用户数的增长,用户可以构建私有网络,将运行内部服务的主机放置在私有网络中,主机对外开放的仅有80端口,这样能和云平台上的其它用户...

2017-03-25 21:00:18 216

原创 使用OBS直播软件进行直播推流

 一、OBS的下载和安装1、进入OBS官网:https://obsproject.com/2、选择系统对应的版本,笔者选择的是Windows 7+的版本 3、安装过程中可能会提示缺少DirectX组件,按照提示下载安装DirectX组件 4、如果安装DirectX组件失败,下载运行DX修复工具。因为DirectX是Windows必备的性能增强程序,但是系统自带的Dire...

2017-03-24 11:07:50 8569

原创 深入浅出移动直播技术(一)

2016年被誉为“移动直播元年”,中国的网络直播用户已经超过3亿,百度,腾讯,淘宝,网易等都有自己的直播平台。本文主要分享一些移动直播的相关技术点。 一、什么是视频 任何一个视频文件,从结构上讲,都是这样一种组成方式: -由图像和音频构成最基本的内容元素;-图像经过视频编码压缩格式处理(通常是 H.264);-音频经过音频编码压缩格式处理(例如 AAC);-...

2017-03-21 20:09:50 452

Bug漏测的5个简单原因,以及如何预防

翻译原文链接:http://www.asktester.com/5-simple-reasons-missed-bugs-prevent/ 在某种程度上,Bug漏测是测试人员最糟糕的噩梦之一。为什么这么说呢,软件测试人员或许知道存在这样一种误解,认为测试人员应该发现系统的所有bug。测试人员常常被看作是守门员,一旦任何bug泄露给客户并导致损失,如销售,公司声誉,潜在客户等等,通常是测试...

2017-03-17 09:51:09 2448

原创 音乐类APP的耗电量测试

一、耗电量测试用例设计新旧版本耗电量对比测试1、前台播放-在线歌曲30分钟2、前台播放-已下载歌曲30分钟3、前台播放-本地歌曲30分钟4、后台播放-在线歌曲30分钟5、后台播放-已下载歌曲30分钟6、后台播放-本地歌曲30分钟 竞品耗电量对比测试1、前台播放-在线歌曲30分钟2、前台播放-已下载歌曲30分钟3、后台播放-在线歌曲30分钟4、...

2017-03-16 17:02:56 993

原创 【转】APM技术的定义、发展和展望

一、APM的基本定义(来自百度百科)APM 是Application Performance Managment的缩写,应用性能管理,对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理是一个比较新的网络管理方向,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本(TCO)。一个企业的关键业务应...

2017-03-15 15:59:19 718

原创 【转】安全测试三部曲

第一,转换视角以一个用户登录功能为例,当输入错误的用户名登陆时,提示信息为“该用户名不存在”;当用户名正确而密码错误时,提示信息变成“密码输入错误。”对于真实的用户来说非常好,能有效缩小纠错的范围。但是安全测试人员会跳出来:“这个提示信息需要改!敏感信息暴露了!”因为提示信息,恶意的系统使用者可以推测出哪些用户名已经存在于系统中,然后利用这些用户名可以再进行密码的暴力破解,缩小破解的范围。所...

2017-03-15 14:36:30 189

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除