你发现的缺陷(Bug)为什么总是难以复现?(2)

发表于:2016-12-13来源:简书作者:IT老李点击数: 标签:缺陷
找到稳定复现的条件 持续简化环境和复现条件 找到问题的确切触发条件和最简环境 提交问题,要附带所有必要信息 对于热爱测试的 工程师 来讲,这个过
  • 找到稳定复现的条件
  • 持续简化环境和复现条件
  • 找到问题的确切触发条件和最简环境
  • 提交问题,要附带所有必要信息
  • 对于热爱测试的工程师来讲,这个过程是充满乐趣的,但是要有严密的逻辑思维能力和对被测试系统运行机制的深刻理解。找到原因后,你可能会得出这样的结论:开发为什么会犯如此低级的错误;开发对协议的理解有误;开发对此类数据的处理有问题等等。然后你可以跟开发说,你哪里的代码处理这个数据有问题、你哪里哪里理解错误,虚荣心会得到小小的满足。

    大家有没有感觉到,在定位复杂问题时,日志系统里缺少的总是关键信息,而有的信息总是不太重要的, 软件可维护性任重道远。
    另外,有些公司的crash问题是不用复现的呦,信息已经足够了。 你的公司能做到吗?

    4. 高并发、多线程、异步调用复现概率低的问题

    此类问题即使有日志信息,因为大容量、高并发,再加上异步处理打乱了原有的惯性逻辑思维,是很难用通用的方法定位出来的。
    比如系统记录明确指针异常的问题,也有堆栈的信息,并且知道哪个指针为空,但是不知道如何导致的,经排查初始化完全没有问题。这种情况下就不能简单的通过返回NULL来解决,这样有可能用户得到的数据就是空的,虽然概率很低,但是会影响用户的体验。 特别是在初创公司,在激烈的市场竞争中,差的用户体验,无异于自掘坟墓。

    姿势:此类问题测试同事是不太可能单独搞定的,一定要伙同资深开发同事一起分析(一般你不叫他他也会过来,这类问题是很有吸引力的)。主体思想是先提高复现概率、一步步缩小问题范围,最终定位出问题。具体思路怎么变态怎么来,客户端加大访问量、服务端减少资源、怀疑是网络的问题可以使用traffic control模拟报文错误或异常。说随如此说,碰到具体问题还是要具体分析,根据问题现象,进行有针对性的验证。

    性能测试工程师在互联网/移动互联网行业是至关重要的

    5. 黑天鹅问题

    为了避免碰到此类问题你可以多拜拜观音菩萨, 如果真碰到了就去买彩票

    测试人要有正确的价值观引导,做事严谨,并且要有一定的技术实力做支撑。

    原文转自:http://www.jianshu.com/p/380e347f301a