某个周四早上,沏好一杯茶,刚要坐到座位上,就听开发说,你们测试怎么提的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常用命令。

  1. 查看设备

  adb devices

  1. 安装、卸载软件

  adb uninstall <软件名>

  adb uninstall -k <软件名>

  3. 进入设备或模拟器的shell环境

  adb shell

  1. 打印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

转载于:https://www.cnblogs.com/suim1218/p/7489253.html

软件测试工程师如何提高提BUG逼格相关推荐

  1. 软件测试工程师必会:BUG分类及推进解决方案

    Bug,中文名缺陷.一个让软件测试员兴奋,让开发人员头疼的词.来源二次大战期间,一个称为"马克二型"的计算机,由于天气过热,硬件跟不上导致死机.最后发现是因为飞蛾,被继电器电死,将 ...

  2. 软件测试工程师怎样有效记录缺陷(Bug)功能测试面试经常问到

    们发现这个缺陷之后,如何进行有效的记录?如何提交一个高质量的Bug 对于第一类可以复现的Bug,比较简单,比如我在我的界面打开一个文件夹,然后进到某一个路径,然后我某一个Excel表格打不开,那么这就 ...

  3. java测试工程师做什么_软件测试工程师的职责是什么

    软件测试工程师的职责是发现BUG,此外,如何体现个人价值?那么我们试想,只提出问题而不去解决,问题就永远得不到闭环.所以,一个资深的测试人员的基本功应该是这样的:深挖业务和功能需求,找出BUG,定位B ...

  4. 如何处理不能复现的bug?软件测试工程师避坑指南

    软件测试工作中常常会遇到不能复现的bug,遇到这种情况其实很正常,但是很多测试新手都按照自己的想法处理,没有提交bug,或者匆匆关闭bug.线上出现问题,就只能自己背锅了.今天我们就说说,遇到这种情况 ...

  5. 软件测试工程师除了找BUG,还能干啥?

    大部分的人都认为,软件测试工程师的工作就只是找BUG.其实不然,找BUG只是软件测试工程师众多工作中的一部分.今天,编就来给大家说一说,软件测试工程师的主要工作内容. 测试.自动化.性能,这三个不管项 ...

  6. 软件测试面试题 | 提BUG相关

    1.什么是bug?bug由哪些内容组成? ①在电脑系统或程序中,隐藏着一些未被发现的缺陷或问题,统称为bug ②bug组成包含:标题.前置条件.严重程度.优先级.操作步骤.预期结果.实际结果.BUG截 ...

  7. 软件测试工程师职业介绍和规划

    如存在没有任何错误的程序,那么世界也会不复存在."      因错误而存在,因修正错误而存在,这就是软件测试工程师的存在之道.虽然测试不是解决错误的根本举措,但却是必须的手段. 软件测试工程 ...

  8. 我:一个女孩从软件测试工程师到主管的成长

    燕子(化名) 从前是学经济贸易的,由于对测试行业的强烈兴趣,毕业后又学习了软件测试.工作不到一年的时间里,我从测试员升职到测试主管了.对于学习.工作,积累了许多点点滴滴的经验,愿意与大家分享. 走入测 ...

  9. 2023年比较经典的软件测试工程师面试题(自我总结)

    这边推荐你去看一下这套专门讲解面试和简历的视频,主打面试题,接口-web-app全套视频面试题,还有配套的笔记! 这个视频可以说是B站百万播放全网第一的面试教程,同时在线人数到达1000人,并且还有笔 ...

最新文章

  1. 从一张搞笑图看JavaScript的语法和特性
  2. 珍惜相聚,亦珍惜离别
  3. es6 --- Proxy实例的get方法
  4. shell文本处理工具grep
  5. 数据结构之图:加权有向图与dijkstra算法找到最短路径,Python——28
  6. linux bash基本特性
  7. 代码是写给人看的还是写给机器看的?
  8. @Controller深入详解
  9. android 系统签名
  10. Centos8[Linux]下载安装qq音乐,亲测可行
  11. 微软2022年10月补丁周二修复了84个漏洞
  12. 好用的国产Linux深度操作系统Deepin 20.5发布
  13. Mac OSX x86 10.4.6 安装小记(1)
  14. linux 终端命令字体大小,如何实现更改Linux终端字体的种类和大小
  15. 今日头条推荐算法原理首公开,头条首席算法架构师带来详细解读
  16. 日语常用口语1000句
  17. 1197 山区建小学
  18. 单目图像3D物体的姿态检测
  19. mysql: 安装 / 主从复制简介 / 异步复制
  20. 一对多表关联(转载虾皮工作室)

热门文章

  1. 汉字点阵字库的原理与显示
  2. 用友grp_U8.B版政务财政管理软件往来明细表浮动表数据库源。村集体经济组织会计制度
  3. 钛白粉上市公司有哪些?钛白粉十大品牌排行榜
  4. 在windwos 2012上安装onlyoffice的记录
  5. 颈椎病的知识介绍(1)-病因
  6. 【IoT】寻光智能车与循迹智能车
  7. git使用stepByStep(1)
  8. 直播电商软件开发,下拉刷新
  9. 教你设置索尼a7r mark ii的自定义按键
  10. 文字内容对比工具-BeyondCompare