• 0
  • 0
分享

我们在使用软件的过程中,经常会发现了软件的一些问题,从客户体验的视角出发,我们觉得软件开发者一定要重视体验性测试,特别是软件异常的体验性测试,体会客户在操作过程中碰到各种操作异常错误或困境时的心理感受,理解他们的心理状态,分析其合理性,找到解决或规避方法,这样才能提高软件的口碑,减少用户的投诉。

某商业银行的“掌上银行”的手机APP,面向大众客户,为客户提供各种金融服务,笔者对其在安卓版本和安全检测进行了体验性测试。这些体验场景是基础性的且容易引发用户第一感受反应,直接决定用户好感度和使用倾向。经过体验性测试,个人觉得较好地处理了软件异常的体验性问题。

下面就是测试用例:

测试用例一:

测试用例编号: 0001

测试用例名称: 低版本安卓安装测试

测试目的: 验证在特定版本安卓上的安装成功性

测试条件: 机型红米1s   安卓版本4.3 JLS36C

测试步骤:安装APP, 查看是否安装成功

测试过程与结果:

安装“掌上银行”,见下面图片(已擦除银行标识):

15243603_202006180954421wPaV.png

显然,掌上银行安装成功。

点评:许多APP软件限制了安卓版本,使得低版本用户无法安装,出现类似提示“解析错误 解析包时出现问题”的错误信息,这样就限制了用户群体。对于银行类APP,为了减轻柜面压力,为了增加电子渠道业务客户群体,对安卓版本的限制应特别慎重。该商业银行掌上银行APP,很好地考虑了这一点,面向了大多客户群体的安卓版本,此场景测试体验良好。

测试用例2:

测试用例编号: 0002

测试用例名称: 启动过程安全检测测试

测试目的: 验证安装完成后的程序的启动过程的正常性

测试条件: 安装成功APP的设备

测试步骤: 启动APP, 查看是否正常启动

测试过程与结果:

先在装好“掌上银行”的设备运行“掌上银行”,得到下图

15243603_202006180954422hLxM.png

点“退出应用”按钮,则“掌上银行”终止运行。

点“继续使用”按钮,继续

15243603_202006180954423S0mY.png

显然,启动检测激活,给出了用户选择,用户继续顺利进入应用。

点评:许多安卓APP软件出于安全性等的考虑,启动时加强了对安全性的检测,其中重要的一步是对root的分析。一种检测到root风险后,极不友好的做法是提示“检测到已经被root”,然后终止运行或不再有继续运行的可能选择,因为root检测是个概率性的分析行为,安卓设备具有多样性,程序的检测结果未必百分百可靠,并且,对于用户的设备,用户对于安全性有自己的判断。因而,对于检测到root后,按该商业银行掌银的做法,给出风险提示,同时给出用户选择,是个很好的做法。

经过如上测试,对比对其他APP的使用感受,我有如下的体验感受:

体验性测试非常必要,特别是软件异常的体验性测试。你在设计APP时,必须想好一个问题-----“我是很想让客户用我这个APP,还是我不想让用户用我这个APP, 也或是我就这样,你爱用不用。”想好这个问题的答案如果是“很想让客户用”,那你就要考虑做好体验性测试(特别是软件异常的体验性测试),甚至要做得更多,例如性能测试,也是必须考虑的方面。

问卷是体验性测试的很实用的方法。对强制性使用的APP软件,就非常必要,特别是全国性甚至世界性APP.

体验性测试要坚持穷人思维,才能有效地发现体验性问题,而不能以开发者角度使用的最新最好的软硬件条件来衡量APP的用户效果。目前,对web应用,测试人员为什么测试IE的若干个历史版本的应用兼容性,就是使用穷人思维的战术策略,毕竟,为了一款web应用,让用户更新升级或降级为某个浏览器版本的要求都是不太合适的霸王行为。同样,APP不应该绑架用户去换手机,只有把APP暴露在正常的但又是多样性的甚至是恶劣的用户环境中,才能让开发者认识到用户面临的使用痛苦,从而改善软件体验。

体验性测试可以采取demo原型加游戏激励机制。demo原型包含各种正常的流程路径,也包含各种异常路径,而激励点设在各个正常路径的末端,这样在demo用户想得到激励和面临各种错误的冲突中,demo用户就可以体验到异常机制时的心理状态,这也就是未来正式用户的心理体验。 这种体验性测试就是非常好的软件异常的体验性测试。这种测试行为甚至于可以提前到需求阶段或开发初期阶段。

总之,APP开发者应注重体验性测试,特别是软件异常的体验性测试,注重小概率分支的错误的用户心理反映,勿以善小而不为。


版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1. 什么是接口?API:ApplicationProgrammingInterface,即应用程序编程接口一个API中通常包含:Method:请求方法URL:唯一资源定位符Params:参数Authorization:认证方式Headers:消息头Body:消息体2. 接口类型httpapi接口走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。API接口一般又分为两种:程序内部的接口和系统对外的接口json是一种通用的数据类型,所有的语言都认识它。(json的本质是字符串,他与其他...
            0 0 1334
            分享
          • 为了更真实的展现单元测试的魅力,我使用目前工作中的项目一段代码,你不需要理解具体的业务,只需要了解如何如何写单元测试,以及感受单元测试的魅力就可以了。这里我们改变一种方式,即我们先写功能代码,再补充单元测试,很多团队都是这样使用,虽然这样并不好,可是很多时候,我们新加入一个团队,不可能负责去做一个新的项目,都是在维护老的项目,并且当时的团队为了更快的编码而没有写单元测试。功能代码示例简单了解,只需要注意 条件判断和外部依赖(调用其他类的方法),明白我们的单元测试代码需要覆盖到所有的条件判断,和隔离MOCK 外部依赖。 /**      ...
            1 1 988
            分享
          • **软件测试基础知识小总结** 最近给初踏进软件测试邻域的同行们整理了一份软件测试基础知识小总结,虽然不是很全面,但希望给大家带来帮助。软件测试统一的观点:测试是为了证明程序有错,而不是证明程序无错;一个好的测试用例在于发现了至今没有发现的错误;一个成功的测试是发现了至今未发现的错误。测试类型:黑盒测试将测试对象看成一个黑盒子,只在程序界面处进行测试,对接口进行测试,检查是否满足需求规格说明书。白盒测试结构测试,将程序看成一个透明的白盒子,检查所有的代码结构灰盒测试介于白盒测试与黑盒测试之间的测试。黑盒测试和白鹤测试有分为动态和静态的两种(静态黑盒测试:看文档,看页面等   ...
            0 0 1656
            分享
          •   在软件测试过程当中,大多数缺陷怎么定位都可以采用分层测试解决。  所谓的分层测试就是我们会根据一个 case的覆盖范围将测试分成不同的种类。  一个测试用例覆盖范围最广的是系统测试,覆盖最窄的是单元测试。虽然在学术界对他们有非常清晰的定义,但是在实际的工作过程当中并没有明显的界限。从上到下可以分为系统测试,集成测试,组件测试,单元测试等等。  我们平时接触的比较多的可能就是系统测试,也就是我们常说的点点点功能。但是这种方式是不利于问题的定位的。  而越到后面因为一个测试覆盖的范围越小,所以更能精准的定位到问题的所在。  如何定位是前端问题还是后端问题?基本上介于集成测试和组件测试之间,我们...
            0 0 1198
            分享
          • 读者提问:『阿常你好,请问在敏捷开发的项目中,你作为项目中唯一的测试人员如何制定相对符合的测试计划推动项目进程呀 ?』阿常回答:一页纸的测试计划即可(简单列下当前迭代任务的测试点、测试策略、交付目标)。为了适应敏捷开发的节奏,我们采用敏捷测试——敏捷测试是持续地对软件质量问题进行及时的反馈,要达到快速反馈就需要对传统测试流程——比如制定测试计划、编写测试用例等流程做剪裁。在敏捷测试中,针对每一次版本迭代我们需要同时考虑对新功能的验证测试,以及对原有旧功能的回归测试。敏捷测试实现 “ 持续测试 ” 的关键在于自动化,而自动化主要用于对旧功能的回归测试。阿常...
            0 0 1057
            分享
      • 51testing软件测试圈微信