软件测试工程师如何提高提BUG逼格
某个周四早上,沏好一杯茶,刚要坐到座位上,就听开发说,你们测试怎么提的Bug,给个截图能说明啥?截图上面显示的奔溃,如果是必现还好,如果不是必现,那么我们怎么去定位?至少给个日志吧?当时我的内心活动是,昨晚你们下班走了,留下我们测试,5分钟找出两个奔溃,这两处奔溃是用户必须去操作的两个按钮,你们打完包居然连点都没点就直接发布了,说好的自测,说好的版本质量呢?但是嘴上却说,你们要日志,你们早说呀,那不能我们随便给个日志给你吧?日志是什么类型?总得有约束吧......
我叫皮皮,是一名软件测试工程师,上面的经历是我真实的经历。之所以出现上面的问题可以说是项目中没有明确的规范或者说项目有明确的规范但是没有按规范去执行。我相信这也是部分公司的通病,又或者说是部分开发人员和测试人员的的通病。而通病产生的原因有很多,其中一点可能是彼此的心照不宣。比如开发人员看到测试人员提的奔溃性Bug,内心可能已经绝望,我擦?又没日志?算了,我先自己复现一波吧,然后通过不懈努力,出现两种情况,一是复现出来,并且把Bug单提给测试人员,告知已解决。二是复现不出来,并且把Bug单提给测试人员,告知未复现。测试看到第一种情况后回归一波,果然被解决了,高高兴兴的把Bug单关闭了,测试看到第二种情况后,我擦?这都复现不出来?说完拿过手机,经过不懈努力,最终没有复现出来,然后仰天长叹,这么神奇吗?最后这个Bug单被测试关闭,关闭结果是未能复现或已解决。最终陷入一个死循环,测试依旧按照习惯提Bug,开发依旧按照习惯解Bug,毕竟社会主义的和谐,需要我们每个人的努力~
有的朋友会说,不应该呀,一般像这种错误日志不都会直接传到数据库或者存在本地吗?我们先说第一种情况,如果某个应用需要在弱网下甚至是无网情况下测试,这个时候恰巧程序出现错误,可以确保日志文件插入到数据库吗?弱网有几率,但是无网多半没有几率。我们再说第二种情况,Log日志存在本地,存在本地一般有两种做法,第一种是手机自带存储日志功能,第二种是开发人员在程序中写入可以捕获错误日志的方法,并且保存在本地。第一种情况我们先不讨论,因为这个跟手机系统有关系,没有绝对的方法去控制。我们来讨论第二种,第二种确实是解决问题的方法之一,但是也有一种情况是公司不希望用户看到相关日志信息,这就需要开发人员在测试环境和线上环境做隔离。这种方法较为推荐。但是我们身为测试人员,还应该想到,你把手机送往开发的途中,手机进水了呢?哈哈哈哈.....
那么除了开发人员帮助我们生成日志,我们测试人员应该如何去捕获日志呢?答案有很多种,Android studio、SDK下面的monitor.bat、adb命令等等等等。对于这些,相信绝大多数人都听说过,或者说是非常熟悉。一开始我尝试过用Android studio和SDK下面的monitor.bat去捕获Log日志,但是打开Android studio和monitor.ba时,感到一阵头疼,因为全是英文,后来也就捡起了最常用的adb命令,用了之后再也没想换过。哈哈哈哈....
为什么选择adb命令?我选择的原因相对简单,第一是adb命令较为简洁,第二是adb命令可以帮助测试人员进行monkey压力测试,第三是adb命令可以帮助我们捕获某个activity的Log信息。下面介绍一些adb常用命令。
- 查看设备
adb devices
- 安装、卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名>
3. 进入设备或模拟器的shell环境
adb shell
- 打印log信息
adb logcat
............
关于adb命令太多,百度上都有答案,这里就不一一举例,我们说回今天的主题。如何获取Log日志。这就需要用到上面的第4个命令:adb logcat。如果直接使用adb logcat,基本是打印所有的Log日志,这样不方便我们去排查,所以我们做了一个简单的优化,使用adb.exe logcat | find "xxx" >E:/1.txt。这里面的xxx是你的包名,如果你不知道你的APP包名,推荐使用一个APP叫做包名查看器,这个软件可以查看你手机的所有包名,如果你是测试手机的,可以查看你手机里的比如设置、时钟这些包名。反正用了都说好,哈哈哈哈....后面的E:/1.txt是把获取到的Log信息保存在你的本地。一般执行操作是,电脑先装adb环境,然后手机打开USB调试(注意,我说的都是Android手机~苹果的相关adb命令百度也有),然后打开cmd输入adb.exe logcat | find "xxx" >E:/1.txt,这个时候如果你手机没打开这个程序是不会有日志产生的,当你打开的时候,所有Log只记录当前程序的Log。比如你运行adb.exe logcat | find "xxx" >E:/1.txt这行命令后,打开你要测试应用,出现奔溃,这个时候你可以按ctrl+c终止Log输出。这个时候你这个1.txt就记录了奔溃的信息(注意1.txt这个文件可以不用创建)。那么我们测试人员需要看Log里面的哪些信息呢?毕竟可能是几十K甚至几M的文件。我一般会在Log搜索error、crash、ANR这几种情况(当然还有很多种,也可以百度)如果你的日志里面有这些相关字样,那么恭喜你,你的这个日志可以交给开发了,当然如果你希望能够读懂相关日志信息,可以学习java和Android相关知识。
最后,想起一个事情,有次下班问开发,为什么还不走?开发说,我再写几个Bug....我的心愿是,世界和平。adb下载及安装地址 链接:链接:http://pan.baidu.com/s/1c2CPpQC 密码:7uu4
软件测试工程师如何提高提BUG逼格的更多相关文章
- 2020软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!
测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台.软件平台上是否可以正常的运行,即是通常说的软件的可移植性. 兼容的类型,如果细分的话 ...
- 年薪50W京东软件测试工程师的成长路——我们都曾一样迷茫
这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经 ...
- 软件测试工程师简历要怎么写,才能让HR看到
作为软件测试的从业者,面试或者被面试都是常有的事. 可是不管怎样,和简历有着理不清的关系,面试官要通过简历了解面试者的基本信息.过往经历等. 面试者希望通过简历把自己最好的一面体现给面试官,所以在这场 ...
- 考满分软件测试工程师(实习)面试&软达启航面试
考满分软件测试工程师(实习)面试 从这学期秋季开学的时候开始准备找工作,一边学习看书,一边完善简历海投:九月下旬的时候在年级实习群里看到考满分发的宣传海报马上就加了hr的微信,hr要了我的简历,并给技 ...
- 给国内知名大厂提BUG有感:安全是一种意识
前言 本周一(2019.07.22),给某知名手机“大厂”提了个安全BUG,默默修复了后,周五回复我“已忽略”,此处省略上千字的心理活动..... 做安全的朋友说这都小事,国内氛围本来就不太好,hac ...
- 软件测试工程师入门——Linux【使用说明书】
先来说一下linux是什么? linux 是一个开源.免费的操作系统,其稳定性.安全性.处理多并发已经得到业界的认可,目前很多中性,大型甚至是巨型项目都在使用linux. linux 内核:redha ...
- 51Testing丛书新作《软件测试工程师面试秘籍》
51Testing又有好消息告诉小伙伴了!51Testing软件测试网作品系列重磅推出全新丛书<软件测试工程师面试秘籍> 此次我们邀请到知名互联网企业测试专家李江(G.li),整理并撰写软 ...
- 提bug
大多数公司都是用bugzilla来管理bug,也有的公司使用内部开发的bug管理平台.这里以bugzilla为例,我最不爽的是提bug的时候既要选择severity(严重级别)又要选择priority ...
- 创造101:如果软件测试工程师组团出道,怎样才能站C位?!
作者 C位出道的华华 虽然华华是一个软件测试技术宅,可以连续七七四十九天加班不重样,心里除了上班工作学习写代码就没有别的爱好了,但是各种潮流资讯啊狗血剧啊娱乐综艺啊,从来没有错过. 比如说现在大火的& ...
随机推荐
- leetcode中的一些二分搜索树
235(最近公共祖先) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left ...
- openlayers中单击获取要素
openlayers中单击获取要素 分类专栏: GIS 总结 OpenLayers 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...
- PHP面试 MySQL的高可扩展和高可用
MySQL的高可扩展和高可用 面试题一 MySQL分表和分区的工作原理,分表和分区的使用场景和优缺点. 分区表的原理 对用户而言,分区表时一个独立的逻辑表,但是底层MySQL将其分成了多个物理子表,这 ...
- 遵循PEP8风格指南
整理来自 effective python 一 空白 1 使用space来标识缩进,而不是tab 2 和语法相关的每层缩进都使用4个空格 3 每行的字符数不应该超过79 4 对于多行的表达式,除了首行 ...
- 使用jmeter做接口测试----柠檬不萌!
一.乱码解决方案 1.jmeter查看结果树乱码 (1)在jmeter的bin目录下找到jmeter.properties这个文件,添加上 sampleresult.default.encoding= ...
- testNG官方文档翻译-5 测试方法,测试类和测试组
5.1 - 测试方法 测试方法是被 @Test注解的方法.这些方法的返回值会被忽略,除非在testng.xml中将allow-return-values设置为true. <suite allow ...
- 服务器安装宝塔linux系统控制面板
一.使用远程连接软件 (如 Putty.XShell) 连接你的Linux服务器,本教程以 Putty 为例. 1 启动 Putty.exe 程序,进入 Putty 主界面. 2 在 Host ...
- 【记录】Nginx错误could not build the server_names_hash you should increase server_names_hash_bucket_size: 32
今天遇到这个错误,现记录下解决方案: 在nginx的配置文件的http段中增加如下配置: server_names_hash_bucket_size 64; 下面是nginx官方文档解释: 如果定义了 ...
- shell变量替换扩展 变量测试
- Dubbox服务的提供方配置
在src/main/resources下创建applicationContext-service.xml ,内容如下: <?xml version="1.0" encodin ...