精华内容
下载资源
问答
  • 测试人员如何查看日志
    千次阅读
    2022-04-27 16:14:17

    软件测试-查看日志常用的linux命令:

    1、tail 查看文本文件的尾部

    tail -f alert_monitor.log     //实时查看alert_monitor.log文件 日志

    tail -n 100 alert_monitor.log   //查询日志尾部最后100行的日志

    tail -n +100 alert_monitor.log // 查询100行之后的所有日志

    2、cat 查看文件

    cat -n alert_monitor.log

    cat -n alert_monitor.log | tail -n +100 | head -n 20 //查询100行之后的日志,且在100行之后里再查前20条日志

    3、head 查看文本文件的开头部分

    head -n 10 alert_monitor.log //查询日志文件中的头10行日志

    head -n -10 alert_monitor.log //查询日志文件除了最后10行的其他所有日志

    4、sed 管道命令

    sed -n  '/2020-04-17 16:17:20/,/2020-04-17 16:20:36/p'  alert_monitor.log //查看时间段日志

    sed -n   '100,200p'  alert_monitor.log //查看100行-200行日志

    5、grep 文本搜索

    grep fuju alert_monitor.log //搜索文件中 fuju

    cat -n alert_monitor.log | grep "ERROR" //查询关键字ERROR的日志

    6、more/less  日志特别多,分页查看

    catc -n alert_monitor.log | grep "debug" | more 分页打印了,通过点击空格键翻页

    (more与less区别  less更强大,可在多个终端使用,支持上下键前后翻阅)

    【补充一下:每个公司查看日志都不一样,我司是在jump server 里进入web终端直接可查看。

    查看项目需要权限找开发帮你开一下,开发也会告知在哪个文件内。

    实习的时候也很懵,日志到底在哪里看,后面问开发就清楚多了】

    更多相关内容
  • 测试人员在工作中如何查日志

    千次阅读 2021-05-17 17:53:04
    推荐理由:多个开发和测试前辈,都推荐的,简单好用 N0.2 推荐:查最后10000行匹配关键词的上下10行 eg:tail -n 行数 文件 |grep 关键词 -C 关键词上下行数 tail -n 10000 XXX.log|grep 客户号 -C 10 推荐理由...

    1、查日志最实用排行榜

    N0.1
    • 推荐:vi命令中的查找
    • 步骤:
      1、进入vi
      2、输入:?关键词
      3、n键向上查找,N向下查找
    • 适合场景:适合成熟的软件,根据关键词查找想要的信息
    N0.2
    • 推荐:查最后10000行匹配关键词的上下10行
    • eg:tail -n 行数 文件 |grep 关键词 -C 关键词上下行数
    tail -n 10000 XXX.log|grep 客户号 -C 10
    
    • 适合场景:相对灵活,可以调整行数
    N0.3
    • 推荐:查实时日志
    • eg:
    tail -200f XXX.log 
    
    • 适用场景:比如点击页面,有明显的异常,适合实时定位缺陷

    2、关键词的选择

    开发给的关键词>流水号>案件号>客户号>ERROR

    • 开发给的关键词

    开发在写接口时,通常会捕获异常打印日志。在测某个特定的接口时,我们可以根据开发写的日志来查。

    • 模块id(案件号)

    比如我们要测订单模块,那么肯定有订单id,我们可以根据订单id这个关键词去搜索

    • 客户号

    大部分表都通过该客户号进行关联,我们可以根据客户号查出大部分异常情况

    • ERROR

    为什么最后才推荐ERROR?
    首先一个测试环境通常有多人在操作,测试环境又相当不稳定,ERROR的情况可能比较多,但是大多ERROR并不影响你测的模块。其次,并不是一定要报ERROR才是bug,wanning和info也可能会是bug的。

    3、怎么看日志

    关键词>中文>ERROR>具体信息

    • 关键词
      首先看关键词,因为关键词相关的错误信息,才会与你负责的模块相关。否则你可能分析了半天,结果和你负责的模块没有任何关系。
    • 中文
      为什么看中文?首先中文很显眼,其次中文日志是开发捕获异常写的,简单明了,往往开发的一句中文你就能定位到原因
    • ERROR
      ERROR已经是高级别的错误,出现ERROR又与你负责的模块相关,那基本八九不离十了
    • 具体信息
      定位大概方向,我们还需要看看具体里面的逻辑,一方面确定原因,另一方面养成看日志的好习惯
    展开全文
  • 软件测试技能之查看log日志

    千次阅读 2021-07-23 13:02:47
    前言作为一名测试工程师,测试任务中和Linux打交道的地方有很多,比如查看日志、定位bug、修改文件、部署环境等。产品部署在linux上,如果某个功能发生错误,就需要我们去排查出错的原因,所以熟练的掌握查看log的...

    前言

    作为一名测试工程师,测试任务中和Linux打交道的地方有很多,比如查看日志、定位bug、修改文件、部署环境等。产品部署在linux上,如果某个功能发生错误,就需要我们去排查出错的原因,所以熟练的掌握查看log的方法显得尤为重要。如何优雅的查看log日志,让我们拭目以待。

    谈到查看log的方法,最常使用的命令可以说是cat与more及less了,但是如果查看一个很大的文件,并且只想看到该文件最后几行的结果输出时,你还记得用什么吗?对了,就是tail,此外tac也可以达到这个目的。接下来文章将通过实例来讲解各个查看日志的命令。

    cat:由第一行开始显示文件内容

    tac:从最后一行开始显示,不知道你是否观察出来,tac是cat倒着写的,所以功能上两个是相反的

    nl:显示的时候,同时输出行号

    more:一页一页地显示文件内容

    less:与more类似,相比于more,可以往前翻页

    head:只看前面几行tail:只看后面几行

    cat/tac/nl

    想要直接查看一个文件的内容,可以使用cat/tac/nl命令行。

    1. cat(concatenate,串联)

    cat [-AbEnTv] 文件

    选项与参数:

    -A :相当于-vET的整合,可列出一些特殊字符而不是空白而已;

    -b :列出行号,仅针对非空白行做出行号显示,空白行不标行号;

    -E :将结尾的换行符$显示出来;

    -n :打印出行号,连同空白行也会有行号,与-b的选项不同;

    -T :将[tab]按键以^I显示出来 ;

    -v :列出一些看不出来的特殊字符;

    实例1:查看/etc/spring.log的文件内容。

    cat  /etc/spring.log

    \a

    \ab

    \abc

    实例2:查看/etc/spring.log的文件内容并打印行号。

    cat  -n  /etc/spring.log

    1 \a

    2 \ab

    3 \abc

    #如果对于大文件,cat -n 可以解决找特定行的需求。

    实例3:将/etc/spring.log的内容完整的显示出来(包含特殊字符)。

    cat  -A  /etc/spring.log

    \a$

    \ab$

    \abc$

    在一般情况下,使用[tab]与空格键的效果差不多,都是一堆空白,无法区分出两者,但是如果使用cat -A 就能够发现空白的地方到底是什么,其中[tab]是以^I表示,换行符则是以$表示。当文件内容的行数超过40行以上时,根本来不及在屏幕上看到结果。所以cat配合less或者more是不错的选择。

    2. tac(反向列示)

    实例1:反向输出/etc/spring.log的文件内容。

    cat  /etc/spring.log

    \abc

    \ab

    \a

    3. nl(添加行号打印)

    nl  [-bnw]  文件

    选项与参数:

    -b :指定行号指定的方式:主要2种:

    -b a :表示不论是否为空行,也同样列出行号(类似cat -n);

    -b t :如果有空行,空的那一行不要列出行号(默认值);

    -n :列出行号表示的方法,主要3种:

    -n ln :行号在屏幕的最左方表示;

    -n rn :行号在自己栏位的最右方显示,且不加0;

    -n rz :行号在自己栏位的最右方显示,且加0;

    -w :行号栏位的占用的字符数。

    实例1:用nl列出/etc/spring.log的内容。

    nl /etc/spring.log

    1  \a

    2  \ab

    #其实文件有三行,第三行为空白(没有任何字符),因为是空白行,所以nl不会加上行号。

    #如果想加上行号,使用nl -b a /etc/spring.log

    实例2:

    nl -b a /etc/spring.log

    1  \a

    2  \ab

    3

    #如果想在行号前面自动补上0,使用nl -b a -n rz /etc/spring.log

    实例3:

    nl -b a -n rz /etc/spring.log

    000001 \a

    000002 \ab

    000003

    # 默认6位数,想改为3位数可以使用nl -b a -n rz -w -3 /etc/spring.log

    实例4:

    nl -b a -n rz -w -3 /etc/spring.log

    001 \a

    002 \ab

    003

    nl可以将输出的文件内容自动地加上行号,其默认的结果与cat -n不太一样,nl可以将行号做比较多的显示设计,包括位数与是否自动补齐0等的功能。

    more/less

    想要一页一页的查看文件的内容,可以使用more和less命令。

    1. more(一页一页翻动)

    more 文件

    实例1:

    more /etc/spring.log

    OpenJDK 64-Bit Server VM (25.171-b10) for linux-amd64 JRE (1.8.0_171-b10), built on May  9 2018 13:15:45 by "mockbuild" with gcc 4.8.5 201

    50623 (Red Hat 4.8.5-28)

    Memory: 4k page, physical 3881804k(1452992k free), swap 0k(0k free)

    ....省略....

    --More--(75%)  #这一行为重点,如果文件内容行数大于屏幕输出的行数时,就会展示出目前文件展示的百分比,此时光标也会停留在这里等待你输入信息,在more展示文件时,有几个功能按键可供使用:

    1. 空格键(space): 代表向下翻一页

    2. Enter :代表向下翻一行

    3. /字符串 :代表在这个显示的内容中,向下查找字符串这个关键词

    4. :f :立刻显示出文件名以及当前显示的行数

    5. q :  代表立刻离开more,不再显示该文件内容

    6. b或[ctrl]-b :代表往回翻页

    2. less(一页一页翻动)

    less 文件

    实例1:

    less /etc/spring.log

    OpenJDK 64-Bit Server VM (25.171-b10) for linux-amd64 JRE (1.8.0_171-b10), built on May  9 2018 13:15:45 by "mockbuild" with gcc 4.8.5 201

    50623 (Red Hat 4.8.5-28)

    Memory: 4k page, physical 3881804k(1452992k free), swap 0k(0k free)

    ....省略....

    :    #这一行等待你输入信息,展示文件时,有几个功能按键可供使用:

    1. 空格键(space): 代表往下翻动一页

    2. [pagedown] :代表向下翻动一页

    3. [pageup] :代表向上翻动一页

    4. /字符串 :向下查找字符串这个关键词

    5. ?字符串 :向上查找字符串这个关键词

    6. n :  重复前一个查找(与/或?有关)

    7. N:反向的重复前一个查找(与/或?有关)

    8. g:前进到这个数据的第一行

    9. G:前进到这个数据的最后一行

    10. q :  退出

    对比less和more,less的用法更加的灵活,more的缺点是没有办法向前翻页,只能往后翻,但是less既能往后翻也能往前翻页。

    head/tail

    如果只想关注日志内容的前一段或者最后一段的内容,使用head/tail。

    1. head(取出前面几行)

    head [-n number] 文件

    选项与参数:

    -n : 后面接数字,代表显示几行的意思。

    # 默认情况下是显示前10行,如果想要显示前20行,使用head -n 20 文件

    实例1:

    head -n 20 /etc/spring.log

    # 行数可以为正数,也可以为负数,为负数的时候,这样理解,比如一个文件有131行,我不想看最后的100行,也就是说想看前31行,其实有2种命令方式:

    1. head -n 31 /etc/spring.log

    2. head -n -100 /etc/spring.log

    2. tail(取出后面几行)

    tail [-n number] 文件

    选项与参数:

    -n : 后面接数字,代表显示几行的意思。

    -f  : 表示持续刷新显示后面所接文件中的内容,按下ctrl -c 才会结束

    # 默认情况下是显示最后10行,如果想要显示最后20行,使用tail -n 20 文件

    实例1:如果不知道文件有多少行,但是想要列出100行以后的数据?

    tail -n +100 /etc/spring.log

    实例2:持续检测/etc/spring.log的内容。

    tail -f /etc/spring.log

    几种查看log的方式总结的也差不多了,希望各位小伙伴能在实际操作中多加使用熟记命令,优雅的查看log日志。

    更多软件测试相关推荐:

    文章来源:网络  版权归原作者所有

    上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理

    展开全文
  • 日志,又称为 Log,保存的文件称为trace文件,是我们测试人员的又一利器,其实,不管是在调试还是测试的时候,日志都可以帮助我们解决问题。 2.所谓的日志,其实是一种记录机制,允许我们在程序代码中插入一些特殊...
  • 测试,如果不会看日志,那估计真的是很out了,因为你看到的永远是表象, 估计有人说,不就是tail这个命令么?是的,问题是,一长串日志内容,可能好几屏,你能看懂问题在哪么? 或者说,调用栈那么长,你能在日志...

    前言

    做测试,如果不会看日志,那估计真的是很out了,因为你看到的永远是表象,

    估计有人说,不就是tail这个命令么?是的,问题是,一长串日志内容,可能好几屏,你能看懂问题在哪么?

    或者说,调用栈那么长,你能在日志中找到抛出异常的准确位置么?这些信息对开发来说才是有用的,这也是bug质量,

    如果你的日志截图毫无相关或者说对开发毫无帮助,估计开发又得自己去看日志,或者大吼一声:嘿,老铁,再点一波,我看下日志。。。

    脾气好的测试,会老老实实配合再点一次,但是,这不浪费时间么?

    脾气不好的测试,点你妹啊,你自己不会看啊?发泄完后,问题不解决,测试没法进行啊,依然乖乖的配合点一下了。

    (如果你说没你们公司测试看日志权限,那我也不知道该说啥了)

    举例

    真实项目,调用链很长,日志也很多,这里只简单模拟介绍代码问题的日志。

    下面代码,main调A中方法、A调B中方法、B调C中方法,C中方法会往外抛异常,B捕获到异常后,对异常进行了转换,然后继续往外抛

    package com.qzcsbj;
    
    /**
     * @create : 2020/12/13 22:54
     * @description : <描述>
     * @作者微信: ren168632201
     */
    public class TestException {
        public static void main(String[] args) throws ByZeroArithmeticException {
            System.out.println("Here is TestException.main");
            TestA a = new TestA();
            a.a();
        }
    }
    
    class TestA {
        public void a() throws ByZeroArithmeticException {
            System.out.println("Here is TestA.a");
            TestB b = new TestB();
            b.b();
        }
    }
    
    class TestB {
        public void b() throws ByZeroArithmeticException {
            System.out.println("Here is TestB.b");
            TestC c = new TestC();
            try {
                c.c();
            } catch (ArithmeticException e) {
                // 转换为自定义的异常;也是为了不把原始异常信息抛到外面
                throw new ByZeroArithmeticException("除数不能为0哦", e);
            }
        }
    }
    
    class TestC {
        public void c() throws ArithmeticException {
            System.out.println("Here is TestC.c");
            System.out.println(5/0);
        }
    }
    
    // 自定义异常类
    class ByZeroArithmeticException extends Exception {
        public ByZeroArithmeticException() {
        }
    
        public ByZeroArithmeticException(String message) {
            super(message);
        }
    
        public ByZeroArithmeticException(String message, Throwable cause) {
            super(message, cause);
        }
    
        public ByZeroArithmeticException(Throwable cause) {
            super(cause);
        }
    
        public ByZeroArithmeticException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
            super(message, cause, enableSuppression, writableStackTrace);
        }
    }
    
    

    结果

    这种情况,从Caused by开始找到第一行本公司包名的代码。所以,问题就是在上图箭头指向的代码行。

    有人说,我们的日志里面没有Caused by,比如下面这种情况 

    package com.qzcsbj;
    
    /**
     * @create : 2020/12/13 22:59
     * @description : <描述>
     * @作者微信: ren168632201
     */
    public class TestException {
        public static void main(String[] args) throws ArithmeticException {
            System.out.println("Here is TestException.main");
            TestA a = new TestA();
            a.a();
        }
    }
    
    class TestA {
        public void a() throws ArithmeticException {
            System.out.println("Here is TestA.a");
            TestB b = new TestB();
            b.b();
        }
    }
    
    class TestB {
        public void b() throws ArithmeticException {
            System.out.println("Here is TestB.b");
            TestC c = new TestC();
            c.c();
    
        }
    }
    
    class TestC {
        public void c() throws ArithmeticException {
            System.out.println("Here is TestC.c");
            System.out.println(5/0);
        }
    }
    
    

    结果

    这种情况,没有Caused by就从头开始找到第一行本公司包名的代码。所以,问题就是在上图箭头指向的代码行。

    最后,你就可以有目的的截图作为bug的附件了,这样也提高了bug质量,如果开发再说让你帮忙点一下,你就直接说:请认真看日志截图!!!如果你有代码能力,也可以进一步截图有问题的代码。

    展开全文
  • Mysql日志,是用来记录数据库所有增删改查操作的,测试人员可以利用该工具查看软件某功能执行的sql语句,看到sql语句操作的哪个数据仓库,哪个表,方便测试人员快速定位bug。 但Mysql日志,一般都是都是关闭的,因为...
  • 关键点1.在分布式的、可扩展的系统(通常包含不稳定的基础设施)中排除故障的效率通常取决于是否有充分的日志记录和搜索设备。2.唯一事件ID、事务追踪技术和结构化的...4.我们需要测试核心操作需求,如日志记录。5.我...
  • xshell 6查看测试日志

    千次阅读 2022-03-30 16:14:21
    xshell 6查看测试日志
  • 借助这一工具,测试人员可以轻松地录制或编写脚本来进行自动化测试,测试效率得到显著提高,因而受到广大功能测试人员的青睐。由于自动测试的运行无需人工干预,日志系统作为记录运行过程的载体,对于测试成功与否的...
  •  很多初级测试人员,在进行执行测试用例这个步骤时,发现bug,不能更加的准确去定位bug,在这样的情况下就可以打开Linux服务器,敲命令查看操作进行中的实时日志,当系统报错时,可以截图日志在缺陷管理系统中,...
  • 一种是按照日志级别过滤,一种是按照日志中的tag过滤,当然会有混合日志和tag在一起过滤 过滤格式: adb logcat [:priority] tag表示标签,priority输出的级别,注意如果要是要根据级别查看时记得要tag一定要给,如果...
  • 最近有很多小伙伴跟我说拿着日志找bug很实用,今天跟大家分享一下这个小诀窍 前 言 软件开发中通过日志记录程序的运行情况是一个开发的好习惯,对于错误排查和系统运维都有很大帮助。 Python 标准库自带了强大的 ...
  • 测试环境中,在linux部署的环境下,如何实时查看显示日志?如何将对 10.17.14.202 IP机的抓包数据存档在/tmp/a.log 文档中,请问抓包并保存的命令怎么写
  • 关于logcat日志文件: Android日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用;但缓冲区大小有限,在通常情况下,写满时...
  • Linux服务器查看日志方法小结

    千次阅读 2021-11-01 15:12:32
    作为软件测试人员,会经常会到服务器上查看日志,然后给大家分享几个简单查看日志命名。仅供参考,有更好的可以留言分享。 1、进入日志文件所在的文件目录,比如: cd /testkuaibao/logs 2、通过命令打开日志,分析...
  • 1.日志查看实时查看tomcat日志文件查看:cd /home/tomcat/logs #也可用相对目录``tail –f catalina.out #实时打印日志文件``ctrl+c #退出查看12345cd/home/tomcat/logs#也可用相对目录``tail–fcatalina.out#实时...
  • 软件测试人员测试过程中如何分析定位常见BUG 一、前置知识 1. 熟透系统业务、团队成员情况 2.熟悉使用F12或抓包工具 3.了解HTTP/HTTPS协议,能够区分请求URL、请求头、请求体、入参、响应数据、响应码 4. 具备...
  • 安卓APP测试日志抓取

    千次阅读 2021-10-25 11:07:00
    这时候告诉开发开发也不能重现这个崩溃,所以说测试人员如果能够在测试的时候实时监控APP的日志,那么一发生奔溃就可以提供安卓APP崩溃日志给开发来定位问题的原因。。因为之前也遇见过这样的问题,所以去网上找了很...
  • Linux服务器log日志查看,快速定位bug

    千次阅读 2022-02-09 14:39:31
    文章目录一、动态查看日志二、打开日志文件 一、动态查看日志 tail -f mylog.out tail -n 4 mylog.out 查询日志尾部最后4行的日志 head -n 4 catalina.out 查询日志文件中的前4行日志 [root@iZwz98qdx9tvkj6qz2yq90Z...
  • adb 查看指定APP日志

    万次阅读 多人点赞 2019-10-08 19:02:02
    前面大概学习了adb基础,但是adb的存在,在测试人员中究竟有什么必要,以及看log时,那么多的log,让我们看个屁啊,所以这一次,我决定一定要把adb这件事情搞清楚。 1.先来看最感兴趣的adb日志 首先来了解一共概念...
  • 很少公司会提供mac os让测试人员查看ios系统的崩溃日志,无条件的测试人员只能通过录屏去记录在APP测试中出现的问题。 在一些机构培训的过程也基本只教Android如何查看系统日志(安装配置adb,使用adb命令查看崩溃...
  • 如何查看运行日志

    千次阅读 2020-12-23 14:15:56
    其实不然,有些场景下我们还是需要实时查看App运行时的日志的,比如测试人员拿着测试机发现问题了过来找你,这时候要看运行时日志,又不能重新DEBUG安装版本,怎么办?再比如,收到并点击推送的通知后启动App,这...
  • 测试人员定位bug的方法

    千次阅读 2020-12-09 15:13:33
    前言: 作为测试人员,和我们最常打交道的,莫属bug。当你发现bug后,会采取什么样的行动?是直接报出来,亦或找找问题原因?不管是我们自己找到的,亦或是开发修复后告诉我们的,知道问题之所在总是好的。在本篇...
  • Java基础学习总结(146)——开发人员日志实践规范

    千次阅读 多人点赞 2019-06-17 15:58:43
    一、日志规范 日志作用: 1、日常排查问题(基本作用),快速定位问题的根源 2、分析日志,构建常见问题排查平台 3、报表输出(日活、周活) 4、追踪程序执行的过程,追踪数据的变化: a)在系统启动或初始化时...
  • 关键点1.在分布式的、可扩展的系统(通常包含不稳定的基础设施)中排除故障的效率通常取决于是否有充分的日志记录和搜索设备。2.唯一事件ID、事务追踪技术和结构化...4.我们需要测试核心操作需求,如日志记录。5.我...
  • 对于IT人员来说查日志是算是日常工作了,不管是开发还是测试都会涉及到查看日志,定位问题缺陷的所在。所以这里作者收集了一部分查看日志的命令以及解释: 常用命令: tail -f xxx.log ----实时刷新最新日志 tail...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 174,920
精华内容 69,968
关键字:

测试人员如何查看日志