• 0
  • 0
分享
  • 提效必会:逆向思维在解决问题中的应用——软件测试圈
  • 曼倩诙谐 2021-12-07 10:27:53 字数 2152 阅读 835 收藏 0

  一、问题提出

  项目现场人员经常会出现如下场景:

  现场人员给家里支持人员打电话或发邮件:“系统发布失败,出现×××××错误,现场无法解决,错误日志已发过去了,请支持”。

  支持人员看过日志,回复:“你把××××修改一下,重启下试试看好用不了”。

  现场人员:“修改了,还是不好用……”

  支持人员:“哦 ,那你在检查一下×××××配置的是否正确,看看是否哪配错了。”

  现场人员:“都检查好几遍了,没发现错误……”

  支持人员:“家里这边没有出现你这个问题啊,启动都正常”

  现场人员:“那好吧,我再试试看吧……”

  ……

  上面只是举了一个简单的例子,项目实施过程中可能会遇到各种各样的问题,通常都是按照上面场景描述的方式进行问题解决的。一些常规的问题,通过一些已经积累的经验,往往可以直接解决,但是有些问题,由于没有遇到过,解决起来只能靠多次的尝试,家里和现场一来二去之后,问题可能还是没有得到解决,或者又出现了新的问题,效率大大降低。

  本文介绍了一种逆向思维的问题解决方式,可以较好的提升效率,已在多次问题解决过程中得到应用,效果显著。

  二、应用实例

  常规的问题解决的思维方式是这样的:

  “修改×××××,看看问题是否解决,如果没有解决,再修改×××,直到问题解决”,这种方式是一种正向思维。

  逆向思维的方式是这样的:

  “修改××××,看看是否出现问题,如果没有问题,再修改×××,直到问题出现”。

  逆向思维解决问题的方式的重点是“重现问题”,而不是“解决问题”,想尽一切办法使问题重现,总会有解决方案。

  按照逆向思维的方式,上面提到的场景就变成这样了:

  现场人员给家里支持人员打电话或发邮件:“系统发布失败,出现×××××错误,现场无法解决,错误日志已发过去了,请支持”。

  支持人员看过日志,回复:“根据你的错误日志,我们经过多次尝试,重现了你的错误,通过调整××××,可以解决这个错误,你试试看”。

  现场人员:“好用了,非常感谢!”

  通过两种思维方式的对比可以看出,逆向思维的处理方式只用了很少的回合,就解决了实施现场的问题,效率明显提升。正向思维是指导现场人员去“直接解决问题”,逆向思维是根据现场人员的反馈去“重现问题”,从而“间接的解决问题”。

  下面再举几个正向思维和逆向思维的例子:

  ·实例一

  实施现场出现页面折线图中文乱码问题,现场环境是linux+websphere.两种思维方式对比如下:

  正向思维:指导现场调整linux的locale设置、websphere的jvm字体设置、websphere的jvm参数,现场反复修改测试,始终都还是乱码,问题没有得到解决。

  逆向思维:家里有linux+websphere环境,但折线图中文显示正常,没有乱码,经过几轮调整测试,终于也出现了乱码,和现场情况一样了。最终确定是由于linux自带的字体必须支持中文,其他设置都不是问题关键。现场检查了一下,发现linux自带的字体中刚好就没有安装中文字体,于是问题很快就解决了。

  ·实例二

  实施现场反馈,数据导入功能,当导入500条记录时,可以导入成功,当导入1000条记录时,就会失败,现场环境是linux+websphere,而windows+tomcat环境下,1000条记录都可以导入成功。家里也搭建了测试环境(linux+websphere),1000条也可以导入成功。经过几番测试和排查,都没有找到问题在哪,现场人员怀疑和平台有关。两种思维方式对比如下:

  正向思维:检查代码、检查现场环境,查找各种可能的解决方案并不断尝试,看问题是否能解决。

  逆向思维:在家里的linux+webpshere环境下重现问题,重现现场出现的错误日志。通过分析错误日志,应该是在读取到某条导入数据时,读取到的日期格式有问题,程序无法识别导致出错。但同样的导入文件,家里环境中可以正常导入。为了重现错误,故意将导入文件的第一条记录的日期格式改成错误的格式,执行导入,结果日志中出现了和现场一模一样的错误信息,到此已经可以确认就是导入文件中的某些数据有问题。开发人员完善了代码,将导入的代码中加入了日志输出,如果有数据记录导入失败,则输出该条记录的信息。现场更新代码后再进行测试,日志中果然出现了一条记录的错误日志输出信息,原来该条记录中有汉字显示成了乱码,影响了整条记录的格式。家里的导入文件是从现场拿来的,同样那条记录中就没有乱码,这也说明了实施现场问题的复杂性,什么稀奇古怪的情况都可能出现。

  三、总结

  当正向思维方式很难解决问题时,不妨尝试一下逆向思维方式,二者需要相辅相成,灵活运用。采用逆向思维来解决问题,往往需要搭建一个用于重现问题的环境,需要反复进行假设-测试论证-再假设-再测试论证的过程,直到问题出现。对于实施项目来说,很多时候现场调试解决问题非常麻烦,逆向思维的这种方式实际上是把更多的测试和验证工作放到了家里,给现场的只是一个最终可以解决问题的结果,不仅仅是提升了支持的效率,相信现场人员对这种支持方式会更加满意。



作者:云竹   

来源:http://www.51testing.com/html/91/n-4480191.html


2021 问卷礼物图.png

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   本月早些时候,Google宣布计划推出Bard,这是一个人工智能,聊天机器人旨在通过自然语言模型帮助用户寻找信息。微软也宣布了新的必应搜索,它自己的聊天机器人结合了微软的技术和OpenAI的技术,后者是ChatGPT背后的公司。  然而,所有这些聊天机器人技术的一个重要方面,这些公司都没有谈及那么多,那就是其运营成本。路透社的一份新报告就这项新技术的这一部分提供了更多信息。它与Alphabet的主席John Hennessy闲聊时后者表示,使用具有大型语言模型的聊天机器人的运行成本可能是普通搜索的10倍之多。  早在2022年12月,就在ChatGPT推出后,OpenAI的首席执行官Sam...
            0 0 603
            分享
          •   为什么做金融类软件测试  举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没有,业务稳定。实在是测试类岗位中的香饽饽!  一、什么是金融行业  金融业是指经营金融商品的特殊行业,它包括银行业、保险业、信托业、证券业和租赁业。  往往涉及证券、银行、基金、信托、保险、投行、期货等领域。  二、金融行业的业务特点  随着金融行业的业务不断增加,金融交易模式的不断变化,金融机构对信息化的要求也越来越高,高质量的金融软件对于金融机构来说显得尤为重要。如何保证金融行业软件的质量,对金融行业软件的测试人员来说,也提出了更高的要求。  1. 金融行业的业务特点...
            1 1 792
            分享
          •   IEEE Spectrum 出炉了 2022 年度最受欢迎编程语言排名。该排名最初由数据记者 Nick Diakopoulos 于 2013 年创建,今年是第九届。当前版本由 IEEE Spectrum 高级编辑 Stephen Cass 维护,并得到 Prachi Patel 和 Michael Novakovic 的开发支持。  作为业内比较权威的交互语言排行榜,本次排名结合了包括谷歌搜索、推特、Stack Overflow、Reddit、IEEE、GitHub 等 8 个来源的 9 项指标,共上榜了 57 种语言。关于指标,例如在 Stack Overflow 中,程序员可以在其中询...
            0 0 618
            分享
          •   TikTok正在接受英国媒体监管机构的调查,原因是这款中资视频应用提供了有关其家长控制的"不准确"信息。英国通信管理局周四表示,它有"合理的理由相信"字节跳动旗下的 TikTok 违反了其法律责任,并表示可能会采取强制措施。  调查消息传出后,TikTok 在发言中指责是技术问题导致其提供的数据不准确。该公司表示已通知监管机构,并正在迅速纠正这一问题。该公司表示,计划尽快提供准确的数据。  通信管理局曾要求 TikTok 提供信息,以了解和监控该病毒视频平台的家长控制是如何工作的。监管机构周四表示,"现有证据表明,所提供的信息......可...
            0 0 504
            分享
      • 51testing软件测试圈微信