防错设计之视觉辨识度不佳——阿里测试之道(18)

发表于:2022-5-16 09:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:阿里巴巴技术质量小组    来源:51Testing软件测试网原创

  第三类:视觉辨识度不佳
  在案例3中,我们提到要用视觉辨识度比较高的字体作为编程和文本编辑器的字体,这样有助于肉眼发现0O、1lI及半角、全角等文本问题。
  过去一两年里我们还遇到了以下几例和视觉辨识度有关的防错设计案例。
  案例10:新的配置界面在预发环境做验证时,操作人员在红包兜底金额的地方输入0.33,并保存。保存后,页面回显,红包兜底金额显示为33。操作人员没有及时发现这个问题,因为在支付系统里面,经常用以分为单位的整数形式来表示金额。但实际上,代码中有一个Bug,会导致金额被放大100倍。页面回显33就是放大了100倍后的结果。由于预发环境和生产环境使用同一套数据库,虽然上述验证是在预发环境进行的,但是兜底金额33实际已经在生产环境生效了,造成资损。
  案例11:某1688商户反映未收到合约生效通知。原因是商服人员在后台进行授权签约确认时,误使用了预发环境确认协议生效。合约域的签约通知是通过定时任务发送的,而预发环境的定时任务平时是关闭的,因此该商户的签约通知未被发送。商服人员用的后台界面在预发和生产间的切换是通过修改hosts文件的方式进行的,很容易被忘记,操作页面也没有提示当前操作的环境信息。
  案例12:idds是蚂蚁集团内部的管理数据库连接相关配置的一个运维平台。idds在灰度环境(左)和生产环境(右)的用户界面相似度很高,只在右上角一个很小的地方显示了“灰度”和“生产”,区别不够明显,容易出错,导致应该在灰度环境中做的操作在生产环境中执行,出现线上问题。

  此时,防错设计怎么做?
  金额用户界面上要输入值的地方,要把单位和币种表示清楚。如果是时间,则要表示清楚时区。图1-14是原来的界面,显示金额的地方并没有显示单位。如果有单位“元”,那么操作的人员看到“33元”的时候,就会引起警觉,及时排查问题。
  预发环境和生产环境共用一套数据库,是不少线上问题的根源。其架构设计的难点在于:一方面,我们希望预发环境和生产环境尽量隔离,否则各种相关的问题层出不穷、防不胜防;另一方面,我们又不希望预发环境和生产环境完全隔离,因为我们就是想用预发环境做验证。预发和生产、隔离或不隔离本身不是问题,关键是要清楚什么是隔离的、什么不是隔离的,再正确地去做。把隔离的当成不隔离的,或者把不隔离的当成隔离的,都会出问题。要有简单清晰的架构设计原则,否则容易出错。
▲图1-14原来的界面

  让预发和生产的后台界面有非常好的辨识度。例如,不同的配色、页面顶部的一个横条、浮动的水印,都可以让人一眼就识别出来。
  不要用hosts的方式切换环境。只改hosts不改URL,界面已经长得一样了,浏览器里的URL再长得一样,辨识度会更差。最初用修改hosts的方式切换环境,其实欠下了技术债。防错设计的技术债也要重视,否则很容易挖坑让后人踩。

查看《阿里测试之道》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
21天更文挑战,赢取价值500元大礼,还有机会成为签约作者!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号