我们在使用软件的过程中,经常会发现了软件的一些问题,从客户体验的视角出发,我们觉得软件开发者一定要重视体验性测试,特别是软件异常的体验性测试,体会客户在操作过程中碰到各种操作异常错误或困境时的心理感受,理解他们的心理状态,分析其合理性,找到解决或规避方法,这样才能提高软件的口碑,减少用户的投诉。
某商业银行的“掌上银行”的手机APP,面向大众客户,为客户提供各种金融服务,笔者对其在安卓版本和安全检测进行了体验性测试。这些体验场景是基础性的且容易引发用户第一感受反应,直接决定用户好感度和使用倾向。经过体验性测试,个人觉得较好地处理了软件异常的体验性问题。
下面就是测试用例:
测试用例一:
测试用例编号: 0001
测试用例名称: 低版本安卓安装测试
测试目的: 验证在特定版本安卓上的安装成功性
测试条件: 机型红米1s 安卓版本4.3 JLS36C
测试步骤:安装APP, 查看是否安装成功
测试过程与结果:
安装“掌上银行”,见下面图片(已擦除银行标识):
显然,掌上银行安装成功。
点评:许多APP软件限制了安卓版本,使得低版本用户无法安装,出现类似提示“解析错误 解析包时出现问题”的错误信息,这样就限制了用户群体。对于银行类APP,为了减轻柜面压力,为了增加电子渠道业务客户群体,对安卓版本的限制应特别慎重。该商业银行掌上银行APP,很好地考虑了这一点,面向了大多客户群体的安卓版本,此场景测试体验良好。
测试用例2:
测试用例编号: 0002
测试用例名称: 启动过程安全检测测试
测试目的: 验证安装完成后的程序的启动过程的正常性
测试条件: 安装成功APP的设备
测试步骤: 启动APP, 查看是否正常启动
测试过程与结果:
先在装好“掌上银行”的设备运行“掌上银行”,得到下图
点“退出应用”按钮,则“掌上银行”终止运行。
点“继续使用”按钮,继续
显然,启动检测激活,给出了用户选择,用户继续顺利进入应用。
点评:许多安卓APP软件出于安全性等的考虑,启动时加强了对安全性的检测,其中重要的一步是对root的分析。一种检测到root风险后,极不友好的做法是提示“检测到已经被root”,然后终止运行或不再有继续运行的可能选择,因为root检测是个概率性的分析行为,安卓设备具有多样性,程序的检测结果未必百分百可靠,并且,对于用户的设备,用户对于安全性有自己的判断。因而,对于检测到root后,按该商业银行掌银的做法,给出风险提示,同时给出用户选择,是个很好的做法。
经过如上测试,对比对其他APP的使用感受,我有如下的体验感受:
体验性测试非常必要,特别是软件异常的体验性测试。你在设计APP时,必须想好一个问题-----“我是很想让客户用我这个APP,还是我不想让用户用我这个APP, 也或是我就这样,你爱用不用。”想好这个问题的答案如果是“很想让客户用”,那你就要考虑做好体验性测试(特别是软件异常的体验性测试),甚至要做得更多,例如性能测试,也是必须考虑的方面。
问卷是体验性测试的很实用的方法。对强制性使用的APP软件,就非常必要,特别是全国性甚至世界性APP.
体验性测试要坚持穷人思维,才能有效地发现体验性问题,而不能以开发者角度使用的最新最好的软硬件条件来衡量APP的用户效果。目前,对web应用,测试人员为什么测试IE的若干个历史版本的应用兼容性,就是使用穷人思维的战术策略,毕竟,为了一款web应用,让用户更新升级或降级为某个浏览器版本的要求都是不太合适的霸王行为。同样,APP不应该绑架用户去换手机,只有把APP暴露在正常的但又是多样性的甚至是恶劣的用户环境中,才能让开发者认识到用户面临的使用痛苦,从而改善软件体验。
体验性测试可以采取demo原型加游戏激励机制。demo原型包含各种正常的流程路径,也包含各种异常路径,而激励点设在各个正常路径的末端,这样在demo用户想得到激励和面临各种错误的冲突中,demo用户就可以体验到异常机制时的心理状态,这也就是未来正式用户的心理体验。 这种体验性测试就是非常好的软件异常的体验性测试。这种测试行为甚至于可以提前到需求阶段或开发初期阶段。
总之,APP开发者应注重体验性测试,特别是软件异常的体验性测试,注重小概率分支的错误的用户心理反映,勿以善小而不为。
我是谁?
我是一名从事了多年软件测试的老测试员,今年年初我花了一个月整理了一份最适合2020年学习的软件测试学习干货,可以送给每一位对软件测试感兴趣的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【测试】,即可免费获取。