转型你准备好了吗—京东质量团队转型实践(1)

发表于:2018-11-16 13:16

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

 作者:京东研发虚拟平台    来源:51Testing软件测试网原创

  (1)分层测试
  分层测试强调的是测试的层次感。读者可能有过这种感觉,有层次感的面包比一般的面包口感更好。笔者所在的部门通过分层测试的思想将整个被测系统按照DATA层、API层、UI层进行分割,这样做的优势是什么呢?
  测试提前介入是所有项目都提倡的,目的是把问题拦截在前期,降低问题修复成本。分层测试不依赖于完整系统,可以通过直接调用底层接口进行测试,这样就不需要等到整个系统开发完成才能测试。其实,分层测试的思想和自底向上的系统开发模式是不谋而合的;分层测试同时能够体现出精准:我们都知道,离问题产生的地方越近,就越容易触发问题。分层测试的切入点就是层与层之间的接口,从机制上更接近出问题的地方,因此也更容易命中目标,也能直接或间接地降低修复成本。
  分层测试中的分层示意图如图1-4所示。
  1)DATA层测试:数据层测试首先对数据库中原始数据及聚合数据的准确性进行验证,如精度、数量、存储有无丢失等,在保证这一层质量后进入下一层测试。
  2)API层测试:首先需要强调,接口测试也是功能测试的一部分,通过接口调用验证服务器返回数据是否准确,服务端可能会将数据进行运算后返回,通过接口层验证保证数据传输的准确性,保证接口层通过后进入下一层测试。
  3)UI层测试:通过覆盖系统所有逻辑路径保证数据展示层的正确。
  
图1-4 分层示意图
  (2)外部解耦
  外部依赖有时是阻碍测试进度的一个主要原因,但是一个系统的运行往往离不开外部系统的依赖,如网络环境、消息依赖和数据依赖等。测试过程中如何降低系统间的耦合度是能否高效进行测试的关键。笔者所在部门通过MQ(Message Queue, 消息队列)消息自动发送组件模拟外部依赖消息,可以解决消息依赖,降低耦合度,该工具适用整个笔者所在部门的业务,如利用该工具模拟机票业务出退票消息,成功摆脱消息依赖,使测试效率及准确性大大提升。
  (3)流程仿真
  在系统测试过程中,往往有些极端情景或流程很难模拟,或者由于测试环境、数据量不足等原因导致无法进行模拟,但是这些情景或流程有时又非常重要,这就造成测试覆盖不全的情况发生。笔者所在部门通过穿线测试理论得到灵感,将流程主信息进行标记追踪,根据不同情况将流程引导至我们设定的极端情况中,覆盖极端情况,验证系统处理能力,很好地解决了这一难题。
  4.用户体验
  在保证系统逻辑功能正确的基础上,还要对用户体验进行测试。由于电商网站的特点,用户体验非常重要,因此笔者所在公司对用户体验非常重视。好的使用体验不仅可以留住用户,而且能够提升购物转换率,为公司带来实际的效益。在实际项目中,用户体验可以从以下几方面考虑。
  (1)应用性
  是否符合用户的实际应用场景,这里包含我们的受众用户群体,考虑他们的年龄、学历、技能和职业等因素,要具备通用性。
  (2)易用性
  易用性要检查是否容易理解、是否容易学习、是否容易操作。例如,用词一定要简单和易理解,不能专业性太强,降低用户的理解难度;操作要简洁,不要过于烦琐,减少用户的抵触情绪,最好做到不需要用户过多思考而可以直接操作。
  (3)少选择
  给用户的选择要尽量少,即界面上的菜单、按钮、选择项越少越好,减少用户的困惑。
  除此之外,还要在流程、规范上保证系统质量。例如,测试固有流程规范保证每个环节结果真实,有据可依,异常流程紧急处理规范,使工作高效执行,自动化代码编写、执行规范,使自动化易维护、易运行,功能测试执行规范且严格执行,做到对线上环境零影响,使项目合规率达到100%。
  5.界面测试
  界面是电商网站与用户交互的最直接的层,界面的好坏决定用户对网站的第一印象。而设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势,设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反,设计失败的界面,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中"付诸东流"。
  既然界面的好坏如此重要,那么在测试过程中界面的测试就变得不可或缺。在具体的工作中,界面的测试应该关注哪些点呢?界面测试如图1-5所示。
  (1)导航测试
  导航一般位于页面顶部或侧边区域。导航的作用是链接站点内的各个页面。导航测试可以从以下4个方面进行。
  1) 导航是否直观?是否易于导航?
  2) 导航、链接、页面的结构和风格是否一致?
  3) 导航文字是否用词准确?意义表达是否简单和准确?
  4) 链接的页面是否准确?
  (2)图片测试
  图片测试包含图片、动画、边框、颜色、字体、背景和按钮等。图片的测试可以从以下3个方面进行。
  1) 需要保证图片有明确的用途,如广告宣传作用,不能存在没有意义的图片。
  2) 所有页面中的字体和颜色及页面的设计格式要保持一致。
  3) 图片的质量与大小也是需要关注的点。
  (3)内容测试
  内容测试是检验页面内提供的信息的准确性、正确性与相关性。内容测试可以从以下两个方面进行。
  1) 要验证传输的信息是可靠的。
  2) 要验证传输的信息语法和拼写是否正确。
  (4)展示测试
  展示正确性测试是检验页面上所有展示的内容是否正确,大小是否合适,是否符合普适的行为习惯。展示正确性测试可以从以下4个方面进行。
  1) 验证提示语是否合理、正确。
  2) 验证窗口调整大小后展示是否正确。
  3) 验证本地化是否正确。
  4) 验证标题、错别字检查。
  (5)合理性测试
  合理性测试可以从以下3个方面进行。
  1) 验证页面布局是否合理。
  2) 验证各控件是否合理、是否可编辑。
  3) 验证提示页面是否合理。
  
图1-5 界面测试图
  6.浏览器兼容性
  一个系统是否成熟稳定,浏览器兼容性是重要的衡量指标。某个功能在某一浏览器上显示操作均正常可用,但是在另一个浏览器上显示就乱糟糟的,严重的可能导致功能异常。笔者所在团队的业务面向的几乎都是大众用户群体,而用户使用的浏览器多种多样,如果出现兼容性问题,那么用户对业务的好感度就会降低,这样会造成用户流失损失公司利益的严重后果,因此,浏览器的兼容性测试是需要我们加大力度关注的,那么如何才能把浏览器兼容性测试充分呢?
  首先要了解什么是兼容性问题。浏览器兼容性问题又称为网页兼容性问题或网站兼容性问题,是指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。那么为什么会出现浏览器兼容的问题?因为不同浏览器使用内核及所支持的HTML(标准通用标记语言下的一个应用)等网页语言标准不同,以及用户客户端的环境不同(如分辨率不同),从而造成显示效果不能达到理想效果。那么,兼容性测试从哪些方面入手呢?
  了解当前哪些浏览器是主流,要覆盖主要的浏览器内核。笔者所在团队对目前主流的14款浏览器进行了兼容性测试,同浏览器的不同版本也进行了测试。在测试过程中,需要对哪些界面功能进行兼容性测试呢?
  1) 业务与功能结合的异步交互。
  2) 功能按钮(增加、删除、修改、查询、导入、导出、超链接和清空)等。
  3) 日期和时间控件、搜索控件。
  4) 有特殊功能的图标。

版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号