@Author:丁晶晶
本期导读:本期技术周报,闫国虹为我们带来单测时需要用到的基础知识:窥探Android Touch事件内幕,主要讲解Android Touch的相关知识;彭远杰在研究自动打包平台(构建站)时为我们总结出IOS和安卓机的签名管理方案,提供一种较为完整的方案来方便快捷的管理多台机器的ios证书及android签名,详情请看文章;本期其他技术问题围绕我们当前项目的热点问题展开介绍:如何提高ios审核通过率、如何搭建app的mock服务器(远杰之前实践过)、SSL证书机制(最近ssl证书的过期问题可是烦扰我们很久)、持续集成等,另外小编发现了网上一个对平安一个DB管理专家的专访,也一并贴上来。
一、原创文章
窥探Android Touch事件内幕系列之一@闫国虹
最近在使用Robolectric进行单元测试的时候经常需要模拟click、touch等UI操作,期间遇到了各种问题,例如:onTouch和onTouchEvent有什么区别?onClick什么时候会响应?使用ShadowView中clickOn模拟点击操作为什么无法响应onTouch?为什么ListView添加滑动菜单功能后,ListView本身不能再滑动?被这些问题困扰了很久,因此决定彻底搞清楚Android Touch事件分发机制。这篇文章先整体介绍了Android UI事件处理机制-基于监听的处理方式和基于回调的处理方式,然后分别从View、ViewGoup角度分析Touch事件背后的实现逻辑,最后结合Robolectric介绍如何在单元测试中测试相关的回调、监听方法。
IOS证书和Android签名统一管理方案@彭远杰
由于在工作中经常需要管理多台机器的ios证书及android签名,假设全部都是手动来操作完成,那将耗费大量时间,本文旨在提供一种较为完整的方案来方便快捷的管理多台机器的ios证书及android签名。
二、移动测试技术
iOS 预审核总被拒?腾讯教你提升 iOS 审核通过率
众所周知,苹果应用商店是苹果公司提供给开发者发布和用户下载应用软件的地方,苹果为了给开发者和用户创造一个良性、公平、健康、安全的应用商店环境,制定了一系列的应用商店审核条款,所有应用必须遵循这些条款,才能获得发布上架。不可否认,应用审核在一定程度上保证了应用商店的品质,但对众多开发者来说,应用上架苹果商店,往往是一段忐忑甚至是悲壮的旅程,经常被苹果的各种理由拒之门外,让开发者苦不堪言。本文将介绍腾讯预审团队一系列的预审策略和方法,让大家了解腾讯是怎样保障提审通过率的。
菜鸟搭建 Mock 服务器实践:Anyproxy+Moco
这次分享主要和mock相关的,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,尤其是如果项目需要第三方的数据,但第三方由于权限等问题又不能直接提供对应的数据,造成测试范围覆盖不全的情况,在这种情况下就可以用mock来代替第三方的数据以欺骗客户端响应,达到对应的测试效果
三、后端测试技术
Http 接口测试框架 (开源 + 已投入实际项目中)
这篇文章是其他互联网公司的http的接口测试框架,虽然不适合当前我们的项目测试,但是其中一些思路对于我们今后做持续集成有一定的借鉴意义。
[开源、跨操作系统、轻型] 自动化案例管理平台 OneBlock 发布了
小编看了一下,这个工具是web自动化测试案例及执行的管理工具,对于我们的内管web测试的自动化有一定的意义,看看也无妨
四、通用测试技术
[腾讯 TMQ] 一张图玩转 H5 测试
随着各种H5页面的普及和运用,并深深的影响着我们各个业务的发展,前两年也对H5测试的有着不少积累,今年上半年专门成立了H5测试研究虚拟小组,专门研究怎么玩转H5测试,废话少说,直接上干货——一张图玩转H5测试,其目的在于,当一个测试者拿到一个H5业务的测试时,可以引导你怎么去思考来完整的测试你的业务
自动化测试 之 “好用例、坏用例”
自动化测试的重要性显而易见,但自动化测试又无法解决所有问题,所以说完全依赖自动化是不可能的,但完全没有自动化是万万不能。在软件开发项目中,重度依赖人力进行持续回归是一件非常枯燥的重复工作。企业需要花费大量的时间和金钱来维持这样一支队伍以保证产品质量,而队伍中的同学在每天重复劳动的工作之下,也丝毫得不到成长,看不到方向。
尽管自动化测试不能解决所有问题,但是却拥有一个优势:“Once” Written, Run Anytime as Desired(一旦写好,即可随意重复执行)。所以,自动化测试通常都会跟持续集成系统(比如Jenkins)配合使用,就像“良辰美景”要配上“月光杯”才算的上是极致。这样我们可以避免在软件上线或交付的最后一刻,还深陷软件问题的泥潭中。当然,这也是敏捷开发的关键所在,把问题消灭在过程中,只需持续关注增量内容。另外,在持续集成中,可以根据自己的需求来确定自动化测试的触发频次和时间,比如“代码提交”、“定时触发”等。
五、新技术学习-QA也疯狂
HTTPS那些事-SSL证书
从第一部分HTTP工作原理中,我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密码。在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要先核对当前访问的域名与证书上绑定的域名是否一致,同时还要对证书的颁发机构进行验证,如果验证失败浏览器会给出证书错误的提示。在这一部分我将对SSL证书的验证过程以及个人用户在访问HTTPS网站时,对SSL证书的使用需要注意哪些安全方面的问题进行描述。
Android _实现SSL解决不受信任的证书问题
这篇文章讲了ssl证书的一些基本原理,过期机制,非强校验实现原理等,其中有一句话也正命中我们当前面临的难题: - 一旦 SSL 证书出现变动, 应用也要跟着升级. 再发布到 Google Play. 然后祈祷用户能都升级到最新版本.
[负载均衡案例分享系列] 一个由负载均衡使用模式导致间断访问失败问题的处理
本篇文章主要讨论的是负载均衡4层TCP模式下,一种罕见的部署访问模式导致的间断访问问题的处理过程。由此大家可以了解到: 1、4层TCP模式下负载均衡的工作原理 2、4层TCP模式下负载均衡访问部署的限制 3、4层TCP模式下负载均衡问题排查的常见思路
专访平安科技数据库技术专家梁海安:数据库运维未来很大一部分工作会被平台或工具代替
数据库运维方面,未来很大一部分运维工作会被平台或工具所代替,大部分企业,日常DML、DDL、版本部署、SQL审计等已经全部实现自动化了。在未来,需要的更多是专业而不是专职的运维。而既懂运维又懂开发的人也会越抢手。
六、测试杂谈
测试十年-我难以逾越的困惑和痛苦和思考
转眼间参加工作10年了,也就是意味着干软件测试10年了,经历过3家公司,都有一些感悟,也难以相信我能在淘宝坚持了这么久,7年了,人家都说七年一痒,我的确是有一点痒了,但是没那么大,不管怎么样,还是会做一些改变吧,7月份初我会离开淘宝BU,这个我奋斗了7年的测试团队,每一年BU和团队和测试都在变化,我都坚持在淘宝BU做测试,一点点的落地我的想法和思考,看着淘宝业务的起起落落和变化;之后我会加入商家BU,跟随第一任boss齐哥做一些自己想做的事情,去探索一些未知,包括业务和技术和心中的那个测试。
对《让测试团队慢慢死去!》的辩论
这篇文章,emm…看了两遍才看懂一点点写手想表达什么,他很偏激,但是也反应出测试领域的一些问题,他站在了更高的层面来看不同公司的测试现状,不过最后也落地到了一个测试人员的自我修养上,引用其中的一句话:不错,做好测试,不能只会依据测试文档去覆盖功能,一个好的测试人员,可以当甲方,可以当BA,可以当SA,可以当QA,你需要多方面的知识才行,但是知识是无穷无尽的,所以,知识积累很重要。其实同理也有,你丫不懂java,你怎么给我写个jsp文件出来啊,用C#去写?