技术分享 | App常见bug解析】的更多相关文章

原文链接 功能Bug 内容显示错误 前端页面展示的内容有误. 这种错误的产生有两种可能 1.前端代码写的文案错误 2.接口返回值错误 功能错误 功能错误是在测试过程中最常见的类型之一,也就是产品的功能没有实现.比如图中的公众号登录不成功的问题. 界面展示错乱 产品界面上的元素展示重叠(如下图),这类型的错误一般是前端代码问题. 界面展示后台信息 前端页面展示了不应该出现的后端日志信息(如下图),这类的错误一般是由于后端服务错误导致. 推送信息错误 推送消息中包含了不正确的内容(如下图),此类问题…
手机测试常见bug解析 1.测试时遇到“手机无响应”? 有以下几个原因: a.手机内存不足 b.android进程之间死锁引起的(就是两个进程之间) c.手机的CPU运行高引起的 可以查看手机的崩溃日志 2.测试时遇到“应用停止运行”? 这种现象在手机软件测试过程中是经常遇到的,比如:相机停止运行.图库停止运行.设置停止运行 等等. 原因: a.空指针. b.手机中某个程序调用此应用,但是手机上边没有这个应用,资源不存在 c.应用程序APP缓存和数据过多,导致强制退出 d.可能是该应用程序和当前…
本篇作为技术分享系列的第二篇,详细讲一下文字的解析和绘制,这部分功能的研究和最终实现由团队共同完成,目前还在寻找更理想的实现方式. 首先看一下文字绘制在手绘视频中的应用场景 文字是手绘视频中很重要的表现形式,应用场景很广,比如字幕.旁白和一些重要的文字说明提示.和普通视频,如 MV.电影等使用某一种固定字体,如宋体.微软雅黑字体不同的是,在手绘视频中,我们通常会使用一些很有个性化的字体,如毛笔字体.卡通字体和很多手写字体.另一个很大的区别,电影等中的问题,是整体出现的,不存在绘制的过程,所以只需…
本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG (Scalable Vector Graphics) 是一种可缩放矢量图形,使用 XML 格式来定义,是一种 W3C 标准,图像在放大或改变尺寸的情况下其图形质量不会有所损失. 下面是一个简单的 SVG 的文件结构例子: <?xml version="1.0" standalone=&…
对于 WEB 产品来说,有一些常见的 Bug,本章节挑选一些比较典型的 Bug 进行举例介绍. UI Bug 页面展示的时候,需要根据长度的边界值去设计用例进行验证.   一般来说都会有超长内容的验证.看看文字超长之后,页面展示会不会出现问题. 如果出现问题的话,可能就类似于这样,出现了滚动条,内容被遮盖了一部分.这是不想看到的场景,是需要进行修改的.比如可以折行展示,或者超出部分-,这些解决方案都是可以接受的.   这一类问题一般会出现在兼容测试中.web 可能需要在各种系统的各种版本的不同浏…
原文链接 客户端的页面通过 XML 来实现 UI 的布局,页面的 UI 布局作为一个树形结构,而树叶被定义为节点.这里的节点也就对应了要定位的元素,节点的上级节点,定义了元素的布局结构.在 XML 布局中可以使用 XPath 进行节点的定位. App的布局结构 从上面这张图中可以看到最左侧是应用的页面的展示,中间部分展示了这个页面的树形结构的 XML 代码. 其中包含的内容为: 节点 node 节点属性:包括 clickable(是否可点击).content-desc(内容).resource-…
原文链接 XPath高级定位技巧 XPath 简介 XPath 的英文全称为:XML Path Language,意旨对 XML 中的元素进行路径定位的一种语言,它可适用 XML 标记语言,Html 标记语言,app Dom 结构.XPath 是自动化工具的定位基础,可适用于 Selenium 工具,Appium 工具,Appcrawler 工具.由于前面章节已经对 XPath 进行说明,本篇只做举例说明. XPath 基本语法 下面是 XPath 的常用方法: XPath 模糊定位技巧 con…
原文链接 常用操作 点击操作 通常获取到元素之后,可以调用 click() 方法来实现对这个元素的点击操作.示例代码如下: python 版本 driver.find_element_by_id("home_search").click() Java 版本 driver.findElementById("home_search").click(); 输入操作 输入操作示例代码如下: python 版本 self.driver.find_element_by_id(&…
原文链接 Emulator Emualor 是 Android Studio 自带的模拟器,是官方提供的工具,Android 开发最常使用的就是这一款. 它功能非常齐全,电话本.通话等功能都可正常使用.用户可以使用键盘输入,鼠标点击模拟器按键输入,甚至还可以使用鼠标点击.拖动屏幕进行操纵. 当然模拟器毕竟是模拟器,和真实的手机设备还是存在差别的. Emualor 模拟器和真机的不同之处: 不支持呼叫和接听实际来电 不支持 USB 连接 不支持相机/视频捕捉 不支持音频输入(捕捉) 不支持扩展耳机…
经过一年的测试工作,以下是手机APP比较容易出现的错误.之后如果发现了还会继续添加,修改.1.翻页手机客户端,内容超过一页时,上拉加载更多内容,加载错误(容易出现数据重复,图片和文章不匹配,图片重复加载,文章标题和内容不一致等情况)2.刷新下拉刷新时,页面加载错误,错误同上(补充,刷新失败,无法加载到数据3.登录新旧账号登录错误,错误调用方软件4.内存不足时,无法退出APP多个软件同时打开,切换软件时,会导致多次点击退出回到首页,无法退出APP5.手机拍照崩溃问题带手机拍照软件,拍照时手机崩溃(…
原文链接 元素定位是 UI 自动化测试中最关键的一步,假如没有定位到元素,也就无法完成对页面的操作.那么在页面中如何定位到想要的元素,本小节讨论 Appium 元素定位方式. Appium的元素定位方式 定位页面的元素有很多方式,比如可以通过 ID.accessibility_id.XPath 等方式进行元素定位,还可以使用 Android.iOS 工作引擎里面提供的定位方式. 隐式等待 设置隐式等待后可以在规定的时间之内去动态的等待元素出现. 假如设置了隐式等待时长为 10 秒,会在 10 秒…
开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做一个全新的 “来画Pro” 出来,历经三个月的世间,这个产品终于正式上架. (做个小广告,在 Windows 应用商店搜索 “来画Pro” 就可以找到,目前公司定位为收费应用,但是有一个月试用期,如果大家感兴趣,可以跟我要免费代码.这里是 IT之家的报道:https://www.ithome.com…
本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Graphics Interchange Format )原义是“图像互换格式”,是 CompuServe 公司在1987年开发出的图像文件格式,可以说是互联网界的老古董了. GIF 格式可以存储多幅彩色图像,如果将这些图像((https://www.qcloud.com/document/ ... w…
本篇作为技术分享系列的第三篇,详细讲一下手绘视频中结合视频的处理方式. 随着近几年短视频和直播行业的兴起,视频成为了人们表达情绪和交流的一种重要方式,人们对于视频的创作.编辑和分享有了更多的需求.而视频的编辑.剪辑方式,也由过去需要借助专业的视频剪辑软件,专业的视频剪辑操作者操作,变为现在的普通用户可以使用视频类 App 很方便的创作出视频. 短视频和直播类 App 对于视频的处理,主要集中在:滤镜.美颜.贴纸.视频剪切和拼接.视频变速.音轨合成,这些实现基本都是基于 OpenCV.OpenGL…
本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭,因此,启动时间作为一个重要的性能指标,关系着用户的第一体验. 爱奇艺安卓APP非常重视启动速度的优化,本文将从启动过程.启动时间测量.启动优化.以及后续监控等方面分享我们在启动优化方面积累的经验.   相关文章…
1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过.本文来自腾讯视频云终端技术总监rexchang(常青)的技术分享,讲述的是微信小程序中音视频技术构思.设计和实现等方方面的内容,希望能为你的音视频技术实践带来启发. 如果您能微信小程序开发没什么了解,可以从这篇微信官方的<小程序开发简易教程>开始. 学习交流: - 即时通讯开发交流3群:18592…
技术分享连载1 Q1:Texture占用内存总是双倍,这个是我们自己的问题,还是Unity引擎的机制? Q2:我现在发现两个因素直接影响Overhead,一个是Shader的复杂度,一个是空Update方法及其同类空方法,不知道是否还有其他因素? Q3:在Unity的内存管理机制中, Reserved Total 和 Used Total之间的关系是怎样的? Q4:纹理Atlas是建议合成一张2048(尺寸)的纹理还是四张1024的纹理? Q5:在把Unity升级到5.3之后,项目中缓存的粒子特…
从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本的 UWP App,定名为"来画视频".(根据微软应用商店的命名规则,大家可以继续搜索"来画Pro") 全新版本的 UWP 来画视频,适配了来画平台的手绘视频模板,对创作工具做了全新的改版. 适配来画平台手绘视频模板 来画成立两年多的时间里,一直在积累手绘视频模板,目前…
序言 简介:本文针对于广大iOS开发者,作为一名开发者,仅仅专注于一门语言可能已经不适用现在的市场需求,曾经因高薪和需求量巨大,而火爆一时的移动端开发者(Android,ios),如今的路却是不再那么顺畅!大家也正在尽最大努力交流学习,要提升自己上个新台阶,对开发者的要求提升到一个新高度!下面这个从游戏APP应用安全,iOS开发大牛[iOS应用逆向工程]作者沙梓社别名[狗神]的技术分享,你一定得来! 1,应用安全,网易资深安全开发工程师. 王桂林 简介:2011年加入网易,任职资深安全开发工程师…
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 黄文俊,现任腾讯云SCF无服务器云函数高级产品经理,多年企业级系统开发和架构工作经验,对企业级存储.容器平台.微服务架构.无服务器计算等领域均有涉猎. 今天讲的是怎么使用Serverless做后端技术分享.我的职业偏向是后端,可能不是写前端,不是使用Node.js,更多是使用CR做后端语言,今天关注的微信小程序,我这一块的分享更多是怎么实现它的后端.我所使用的是Serverless技术,也是在近两年新出来的一种架构.讲Serverles…
1.点评 对于IM系统来说,如何做到IM聊天消息离线差异拉取(差异拉取是为了节省流量).消息多端同步.消息顺序保证等,是典型的IM技术难点. 就像即时通讯网整理的以下IM开发干货系列一样: <IM消息送达保证机制实现(一):保证在线实时消息的可靠投递> <IM消息送达保证机制实现(二):保证离线消息的可靠投递> <如何保证IM实时消息的“时序性”与“一致性”?> <IM单聊和群聊中的在线状态同步应该用“推”还是“拉”?> <IM群聊消息如此复杂,如何保…
1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebRTC互通的实现思路以及技术方案.希望能带给你启发. 学习交流: - 即时通讯开发交流3群:185926912[推荐] - 移动端IM开发入门文章:<新手入门一篇就够:从零开发移动端IM> (本文同步发布于:http://www.52im.net/thread-1988-1-1.html) 2.关于…
飞测说:分享让我们更加团结,交流让我们更加凝聚,送人玫瑰,手留余香,更多分享交流也让自己成长的更加完善,2015年已经过去了好几个月,今天刚好整理了下我们科大讯飞武汉测试团队技术分享交流的这块,顺便做个小结,总在奔跑,适当停下脚步,回想下过去,也是一种提升,下面我们一起来看看. 1.我们的学习台账: 通过数据来分析大家的参与情况 不断完善的积分制: 2.我们的分享: 短短3个月的时间,我们已经完成了13期的技术分享交流,我们的宗旨是"毫无保留,共同进步" 主要方向:易用性测试.文档测试…
本文内容整理自公众号腾讯Bugly,感谢原作者的分享. 1.问题背景 对于Android应用来说,内存向来是比较重要的性能指标.内存占用过高,会影响应用的流畅度,甚至引发OOM,非常影响用户体验.因此,内存优化也向来是行业内的重点工作项和难点工作项. 手Q在很早之前就开发了很多内存优化技术: 1)自研内存泄露检测系统 LeakInspector天网: LeakInspector是一套完整内存泄露检测系统:能够自动检测应用内存泄露问题:并提供兜底回收以及自动提单功能: 2)图片引用大图告警: 能够…
kafka技术分享02--------kafka入门 1. 消息系统 ​ 所谓的Messaging System就是一组规范,企业利用这组规范在不同的系统之间传递语义准确对的消息,实现松耦合的异步数据传输.简单理解为系统A将消息发送给Messaging System,系统B从Messaging System中获取系统A发送的消息.消息系统主要作用可以概括为四个字:削峰填谷.通过消息系统可以对抗这种上下游消息系统TPS的错配以及瞬时峰值流量. 补充一点: 通常来说,两个进程进行数据流交互的方式一般…
常用样式制作思路   学习常用样式总结参考来自这里 带点文字链接列表利用:before实现 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>图文列表</title> 6 <style type="text/css"> 7 li{list-style-ty…
本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品对于高可用.安全性又有更高的要求,如何打造具备差异化的产品,又在高可用.安全性.数据一致性等方面具备较高的品质,是企业级 IM 产品成功的关键.钉钉在过去短短几年时间里,用户数已破 2 亿,企业组织数破千万,钉钉是在规划企业级 IM 产品的架构上有何过人之处?本文将围绕这个话题进行展开.   阅读提…
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 作者:景云丽.卢浩.宋源栋 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 引言 批量更新数据,不同于这种 update a=a+1 where pk > 500,而是需要对每一行进行单独更新 update a=1 where pk=1;update a=12 where pk=7;... 这样连续多行update语句的场景,是少见的. 可以说是偶…
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 一.简介 在开始排错之前我们需要知道 Update 在 MySQL 中的生命周期是什么,MySQL 如何执行一个事务的. 理解了如何执行,我们才知道如何去排查故障. 二.Update 生命周期 Server 层阶段 2.1 连接器 客户端发起一个 TCP 请求后,MySQL Server 端会负责通信协议处理.线程处理.账号认证.安全检查. 2.2 分析器 MySQL Serv…
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1.发现问题 2.复现问题 3.检查导入文件 4.问题原因 5.处理问题 6.总结 1.发现问题 在一次数据迁移的任务中,小玲将源端数据库中数据导出为CSV文件,然后通过 load data 导入数据到MySQL,结果惊奇地发现id字段丢失了,就像这个样子: mysql> select * from…