美文网首页
项目中遇到问题总结

项目中遇到问题总结

作者: 咸鱼飞起来啦 | 来源:发表于2020-10-16 11:07 被阅读0次

    最近在手机助手新需求项目中遇到的几个问题进行一下总结:

    (1)问题一:

    背景:7.3手机助手新接口上线

    遇到问题:线上环境中点击语音助手麦克风无语音输入或者点击功能类语句(比如卸载应用)会发生崩溃现象,但是在测试环境不会发生崩溃

    排除问题思路:首先要做的是抓log日志查看错误原因。通过查看log发现

    报出了java.lang.NullPointerException空指针异常,所以将问题范围缩小,可能是某个接口为空的情况没有做容错。接下来进行接口的验证,因为手机助手在点击麦克风按钮后先后会请求两个接口,一个是vocie/hotword.html接口,一个是voice/guide.html接口。

    voice/hotword.html接口是返回后台配置的热词(即如果在语音助手返回无声音或者无结果时,语音助手回复的语句下方会有词语供用户点击,这些点击的词就是从hotword接口返回的数据随机选取3个作为推荐关键词),voice/guide.html接口是返回后台配置的下载类语句以及功能类语句,(在这些配置的词语中,点击语音助手查找应用快速入口进入后会携带着guide接口的下载类语句的词作为关键词,点击功能指令会携带guide接口返回的功能类语句的词作为关键词)

    如果点击麦克风输入内容或者点击关键词的内容会请求voice/list.html接口返回数据。通过变量固定的方法(也就是只有一个变量,其他的变量都相同)去排查问题,首先将测试环境的hotword接口和guide接口返回的数据进行保存,通过fiddler模拟数据,对比线上环境和测试环境请求voice/list接口发现没有问题。然后将guide接口的数据进行为空处理,其他两个接口的数据不变,通过对比发现同样没问题,然后是hotword接口作为变量,其他为常量进行测试,通过模拟hotword数据发现,线上环境不会发生崩溃现象,但是线上返回数据为空的时时候就会崩溃,所以能确定是这个hotword接口没有判断为空的情况。

    解决办法:开发增加热词判空逻辑

    (2)问题二:

    背景:7.3手机助手新接口上线

    遇到的问题:线上环境在语音助手默认页,点击应用查找快速入口后,回复内容下方的关键词为guide.html返回数据的功能类语句(应该返回的是下载类语句配置的词语 ),点击功能指令快速入口后会返回下载类语句(两者相反),但是测试环境没有问题

    排除问题思路:首先先查看服务端,在测试环境和线上环境中查看请求guide接口返回的数据发现,测试环境的返回json数据的下载类category在第一位,线上环境返回的json数据里第一位是功能类category,然后我将测试环境的json数据在线上环境模拟,发现没问题。由此可以判断出客户端在取数据的时候可能只是根据返回的json数据第一位进行数据的获取,通过和客户端开发了解确实是这样的,但是这样如果运营人员在后台配置顺序不对或者category名称更改,就不能获取到数据,风险较大。

    解决办法:在沟通后,客户端希望服务端能返回的category带id,这样就能通过id进行判断返回的数据,而不是根据返回数据的顺序来进行获取。

    (3)问题三:

    背景:7.3手机助手suggestion点击跳转结果页新需求

    遇到的问题:suggestion点击跳转结果页的新需求中发现,在精准位置位置的应用数据和需求中不同。需求中要求的是,在精准位置应用后面最多会有三个应用(竞价数据1个,人工运营数据2个),但是在测试中发现精准应用位置在有人工运营数据的情况下,没有展现出来

    排除问题思路:遇到问题后我先考虑的服务端接口返回数据是不是有错误,在通过有人工运营数据的接口验证中发现,返回的数据里面有人工运营数据,与没有人工运营数据的相对比发现,有人工运营数据的带有human字段,通过这个可以确定服务端返回的数据没有问题,是客户端的问题。

    解决办法:客户端通过对返回数据中human的字段进行获取,展现在精准应用后面

    相关文章

      网友评论

          本文标题:项目中遇到问题总结

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