璐璐 发表于 2019-9-24 16:14:34

测试应该会点心理学

本帖最后由 璐璐 于 2019-9-24 16:26 编辑


到我的文章题目,是不是叫测试的你产生错觉。什么?一个"打杂"的测试工作,还需要会心理学?没错,看似简单的工作其实并不简单。既要求你可以熟练掌握业务知识,也要求你有纯熟的测试技术。更要求你有综合的能力,其中就包括我们今天要说的心理学。当然我本人并不是搞学术研究的,也不可能有"弗洛伊德"这种心理学大师的造诣。我只想用我所理解的浅薄的心理学,来映射到测试工作中。给自己启发,与大家分享。
一、学会剖析开发的性格软件开发过程中,测试工程师是最后的质量保证,直接决定着软件产品最终的优劣。而我们直接的合作者便是开发人员,不要说什么需求人员,业务人员,实际工作中的现象是:你对产品的初步认识来源于开发对你的讲解,你对这款产品的性能了解来源于开发对你的讲解,你对这款产品的用途、工作原理也来源于开发人员。所以面对开发软件的开发人员,我们一定要学会运用点心理学。请记住开发开发出来的软件功能,存在的不一定就都是合理的。我们要学着做一个精致的测试人员,从开发的性格和习惯着手。
首先:一个开发人员向你提了测试需求,这个开发人员平时给人的感觉性格比较急,对业务分析做的不够透彻,开发经理交代的工作就是硬着头皮用技术去实现,而不会去想它的业务,也不会深究为什么这样做?这样做有什么用?请问,这个时候我们测试的时候首先就应该考虑这位开发人员的性格。基于此我们测试他的提测功能的时候。一定要尽可能多的罗列正常流、异常流的测试场景。去发现更多的缺陷。因此,只懂技术不问流程的开发提测,我们一定要基于业务,尽可能多的建立合理场景。
其次:有这样一种情况,一天平安无事。距离下班还有短短1个小时,突然来了一个小需求,开发拿过来一看,简单。马上也下班了草草提测。这个时候我们肯定也要更加小心的去测试了,因为快下班开发出来的东西,一定会有缺陷。同样第,这个时候作为测试人员的我们心里素质一定要过硬,开发肯定会一直催你,测试完了没?请不要被他们的急切影响到你,你乱了那么BUG就有机可称了。所以临界下班时候的提测功能需要我们分外留心。
在者:一类开发技术没问题,业务能力也可以,但是没有自测的习惯,这里的自测不是什么都不管。基本的正常流程覆盖是会去做的,但是一般不会跑任何异常流程。那么拿到这类开发的提测功能时,你不用担心他不能告诉你如何测试,这个功能的存在意义如何。我们需要做的是在保证正常流无误的情况下,建立各个异常流程,从反面去发现问题。 最后:应该摸透分析积累每个与你合作的开发的开发习惯。这里举个例子来说明问题:有JAVA基础的人都知道,JAVA对异常流的处理机制。一般会选择捕获到所有异常,一种是所有异常都捕获在一起。即下面的两种方式:先来看第一种:有多少异常,抛多少异常。
public class ExceptionDemo05 {    public static void main(String[] args) {
      System.out.println("====计算开始====");      int i = 0;      int j = 0;      try {
            String str1 = args;
            String str2 = args;            //把字符串转化为整数
            i = Integer.parseInt(str1);
            j = Integer.parseInt(str2);            int temp = i/j;//这里会产生异常
            System.out.println("这里的代码不会执行");
      } catch (ArithmeticException e) {
            System.out.println("算数异常");
      }catch (NumberFormatException e) {
            System.out.println("数字转化异常");
      }catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("数组越界异常");            e.printStackTrace();//具体打印出报错信息      }
      System.out.println("计算结束,我是会被执行到的代码");
    }

}
执行结果为:
如果变为无论碰到那种异常,都抛出一种形式的写法就是我们平时看大的那种try ...catch ...exception。请看如下代码:public class ExceptionDemo05 {    public static void main(String[] args) {
      System.out.println("====计算开始====");      int i = 0;      int j = 0;      try {
            String str1 = args;
            String str2 = args;            //把字符串转化为整数
            i = Integer.parseInt(str1);
            j = Integer.parseInt(str2);            int temp = i/j;//这里会产生异常
            System.out.println("这里的代码不会执行");
      } catch(Exception e){
            System.out.println("产生异常:"+e);
      }
      System.out.println("计算结束,我是会被执行到的代码");
    }

} 此时的执行结果如下:
我们仔细观察两种异常处理产生的结果,都能抛出异常,但是前者可以具体抛出哪行代码出错,而第二种方法则不可。那么这里大家有疑问了?这和心理学有关系吗?当然有,我们换位思考下,开发在开发软件时的逻辑是什么?开发出软件即可。如果开发是一个有丰富经验且精致的利己主义者,那么他一般会尽可能的挑选第一种方式。因为便于后期自己查找问题时定位问题。如果是一个大大咧咧,平时对测试也不怎么重视的开发,那么大多数会选择第二种代码简洁。但是一旦出现问题,定位错误必定会吃苦头。
二、学会深处用户角度思索问题先来说个笑话,买电脑的时候听到过一个售后对我说。有一次,一位用户对我说,我电脑桌面上的大E不见了,想了好久他也没有明白什么意思,后来才知道。原来是找不到IE浏览器了。软件投入生产后肯定会出现形形色色的问题。拿我最近经历的实例来说。最近一直在测试一个贷款类的产品。基本流程就是借款人通过有资质的借款平台,由保险公司承保(中间枢纽环节、承上启下),向银行快速贷款。有借款流程必有还款流程,因为牵扯银行,是否还款还款金额多少都由银行先提供给借款平台,借款人才能还款。银行不给提供借款人就还不了款。上线前我们针对软件功能进行各种异常流程测试,包括但不限于。(1)网络异常导致不能还款(2)中间某步流程异常不能还款。(3)已经正常还款但通知用户异常。等等诸多异常流程。然而我们没有学会揣摩借款人的心理,我干嘛非要通过借款平台、保险公司在还给银行。我直接还给银行不就行了吗。于是真是客户的这种心理造成了许多线下还款的数据,为此拆东墙补西墙做了许多补救工作,付出了连续两夜加班的代价。
       其实作为测试的我,我眼中的心理学不是那么的高不可攀,也不是那么的遥不可及。就是换个角度、换个思维,站在他人的角度上,站在别人的岗位上想一想我会怎么开发这个软件,我又会去怎样使用这个软件。心理决定意识,意识产生行为。好的测试叫我们从好的心理开始塑造!
文章来源:海哥说测试   作者:博为峰网校金牌讲师      haibao1371
页: [1]
查看完整版本: 测试应该会点心理学