美文网首页
测试执行的拦路虎

测试执行的拦路虎

作者: movingjan | 来源:发表于2017-08-03 12:30 被阅读0次

前言

测试过程中伴随很多问题的产出,比如程序缺陷、环境问题等,作为一个专业的测试人员,我们的任务应该不是仅仅做到把问题丢出去给开发,而是自己也要养成对问题的分析能力,进一步提升自己对问题处理和系统的理解。下面会简单介绍日常测试问题(程序缺陷、环境问题)的分类和分析步骤。

写在前面的话:不管遇到什么问题,首先进行测试重现,确认非偶发后,按照以下步骤进行分析;若为偶发,则先记录下来,测试时注意问题是否会规律发生。

一、程序缺陷分析

一般情况下,常见的程序缺陷可以分为这几类:程序处理报错(抛异常),页面JS报错,业务逻辑错误等。

1、程序处理报错(抛异常)

这类问题一般有这几种表现形式:页面直接输出异常、页面弹框提示、服务器打印异常日志。

1)页面直接输出异常是比较低级的处理方式,这种情况下我们是可以直接确认为程序问题,即使是脏数据引起的异常,这种异常表现方式是需要进行修复的。

2)页面弹框提示,比较友好的情况下我们可以看出是什么操作或者控制出了问题,这时根据提示文字可以确定问题;如果仅仅弹出诸如“操作错误”等指向不明的信息,需要保留现场,将使用的数据和页面状态截图留下。然后通过服务器上的日志来定位问题。

3)服务器打印异常日志,一般的系统都会记录两种日志,跟踪日志和错误日志。跟踪日志可以记录下在系统操作时的业务轨迹,错误日志则记录下系统出错时详细的日志信息,登录到服务器之后,用简单的指令可以得到对应的日志,如tail -f xxxx.log(实时刷新日志),grep ‘xxxxxx’ xxx.log(在日志中抓取包含XXXXXX的日志上下文)。一般通过错误日志可以直接定位到错误发生的代码行,可以更快速直接地解决问题。

2、页面JS报错

这类问题一般多见于操作时未出现任何提示,但是没有预期的响应结果。通过F12按键打开控制台,切换到console模块,如果有js报错,这里可以直接看到,一般通过这些信息可以直接定位到出问题的代码行。

还有一种是由于浏览器兼容性引起的问题,常见于IE浏览器edge以下的版本,但不局限于这种浏览器版本。在其他浏览器如chrome等表现正常,但在某一浏览器上页面加载出现异常且无法正常操作,如果是IE,则通过F12按键打开控制台,在控制台右上角查看是否浏览器版本过低,切换到edge,如果显示正常,则是版本问题导致。

二、环境问题分析

环境问题会阻碍测试执行,也会影响我们判断一个问题是否是程序缺陷,所以对环境问题有基本的判断和分析能力是必要的,有一定的了解之后我们也是可以着手去解决环境问题,避免等待耗费宝贵的测试时间。

1、服务器异常(内存溢出等)

当出现服务器异常时,页面上会有比较固定的表现,比如页面404页面500或者提示无响应等,引起此类问题原因有很多种,常见的有系统部署、服务器内存溢出等等。在前面我们已经知道了怎么在服务器查看日志,这里是类似的,先在服务启动日志里查看是否正在执行重启,如果没有部署,则查看错误日志或跟踪日志,人为刷新一下系统,查看实时产生的日志,是否有异常信息诸如out of memory、target not exist、fail to response等,则可能是服务器出了异常,需要进行重启或者进一步问题定位。

2、数据库异常

如果服务器并无异常,则需查看数据库连接是否正常,一般直接本地连接一下数据库即可知晓。或者通过上述服务器日志查询过程,一般可以看到数据库连接异常,也可定位到问题。重启数据库或者重启数据库所在的服务器可以解决问题,但是需先确认数据库及服务器是否有其他用途,沟通后再执行重启。

3、部署包、配置文件问题

如果上述现象都没有出现,那还有可能是部署包或者配置文件出现问题。重启系统,然后在启动日志中,可以看到相关的异常日志,如部署包不存在、配置文件找不到某个配置、配置项出现语法错误等,因为打包发布一般是通过指令拷贝到服务器上,在这中间可能出现问题导致包没有同步过去,此时需要重新部署包。配置文件中的很多配置项目跟系统启动息息相关,如果缺失或者格式错误,会引起系统运行异常。

三、数据问题分析

数据是测试的重要组成部分,但是大部分测试环境由于长期的大量测试执行,会积累不少错误数据,也是引发问题的一个重要方面。当执行用例后没有达到预期结果,我们还需要确认下自己使用的数据是干净完整的。

1、如果是自己新做的数据,先检查下数据库中相关字段是否已有值并且写入的值正确,确认是否做数据过程中系统存在BUG导致数据错误;如果数据在库里是正确的,那么根据上述第一、第二大点进行继续排查,过程中记得保存数据及操作截图。

2、如果是从系统或数据库直接找的历史数据,先确认该数据是否符合当前系统的逻辑,因为该数据可能不包含现有功能需要的字段,或者数值不符合当前的要求,从而导致变成了脏数据影响测试结果;再则是确认数据库中相关字段是否已有值并且写入的值正确。

3、还有一种情况是系统权限问题,配置不正确也会导致问题。如果系统有明确的权限划分,角色、菜单、数据读取限制等,出现操作错误时,检查当前用户是否具备对应的权限。

相关文章

  • 测试执行的拦路虎

    前言 测试过程中伴随很多问题的产出,比如程序缺陷、环境问题等,作为一个专业的测试人员,我们的任务应该不是仅仅做到把...

  • 软件测试(七)--软件测试执行管理

    7 软件测试执行管理 7.1软件测试执行基础 1,软件测试执行的内容:主要包括4项任务: • 执行测试计划预定的测...

  • 手游测试工作总结(2)

    5、测试执行 测试执行期是整个测试流程的重头,应在整个测试流程中占80%以上的比例。在测试执行期,测试员工作的重点...

  • 2017-07-30 百人计划课堂16----执行/管理&

    1、测试执行----测试管理(测试管理包含但不限于测试执行) 1)测试执行的负责内容(不同阶段角色职责) a. 检...

  • 05软件测试用例的理解

    软件测试用例 测试用例是执行测试的最小实体 定义:为测试目的而设计的一组具有测试输入、执行条件、预期结果的测试执行...

  • iOS 单元测试流程分析和如何异步测试

    测试执行的流程 测试类和方法的执行是按照顺序,one by one同步执行的.执行测试的默认流程是,XCTest会...

  • 《告诉你如何从执行测试到管理测试》【目录】

    告诉你如何从执行测试到管理测试(0) 告诉你如何从执行测试到管理测试(1) 告诉你如何从执行测试到管理测试(2) ...

  • Go语言学习笔记-测试

    单元测试 t.Error()测试失败,后面的可以执行,其他测试继续执行 t.Fatal()测试失败,后面的不会执行...

  • 软件测试中如何引入“冒烟测试”【乐搏TestPRO】

    软件测试中什么是冒烟测试?什么时候执行冒烟测试?怎么执行冒烟测试?冒烟测试与回归测试的区别是什么呢? 何为冒烟测试...

  • 测试执行

    测试执行过程注意事项 搭建测试环境事项 * 注意前提条件和特殊说明 测试用例要全部执行 偶然性问题的处理 * 加强...

网友评论

      本文标题:测试执行的拦路虎

      本文链接:https://www.haomeiwen.com/subject/lncpcxtx.html