地图测试初探

发表于:2012-9-28 11:01

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

 作者:古伦    来源:TaoBao QA Team

  淘宝地图提供通过地图的方式查找周边的宝贝和本地商户,方便用户快速准确的购买到身边的宝贝,是LBS模式的真实体验。

  在做淘宝地图的测试时,在网上搜索了相关资料,发现地图测试的信息很是贫乏,遂总结了一下地图的测试方法,以和大家分享,如有总结错误,欢迎大家指正。

  地图组件可以在应用中嵌入一张地图的静态图片,或者是一张有交互功能的地图,使用者可以通过接口对地图添加内容,并在地图上进行各种交互。

  几乎所有的主流互联网地图服务商都对外发布了接口,供第三方使用,一般是是有JavaScript语言编写。

  1、操作方式

  地图作为一张页面,其页面交互不是很复杂,没有很多页面的跳转。

  拖动和缩放是地图上常见的操作方式,在地图的拖动和缩放过程中,往往伴随着数据的变化,如poi的变化、宝贝的变化,这里需要根据业务逻辑进行测试用例设计。

  在淘宝地图中,为了使用户更为方便的找到自己心仪的宝贝,并且准确的定位到该宝贝的位置,所以在进行地图缩放时,页面上散落的信息点不会变化。而在用户进行拖动时,会采用异步刷新的方式,重新获取宝贝和商户的信息。

  测试总结:要结合自己的业务需求,进行关于地图操作的用例设计,注意缩放和拖动地图时数据的变化。

  2、参数组合

  地图是一种信息展现的载体,而地图上的信息是用户通过设置各个条件综合筛选。通过对各个场景对应的参数测试,来确保用户获取的信息正确性。

  在淘宝地图中,参数有:关键字、城市、类目、视野、页数。在不同的场景切换时,要注意重点测试参数是否需要传递或者处理为默认值。在淘宝地图开发中,开发同学经常容易忽视这样的逻辑。

  以下是淘宝地图中各个操作对应的参数传递:

 搜索  类目切换 拖动 城市切换 快速选择 翻页 
 关键字 kwd YES  YES  YES  NO  NO  YES 
 类目 cat NO  YES YES NO NO YES
 页数 page NO NO NO NO NO YES
 视野 lat&lng YES YES YES NO YES YES
 城市city YES YES YES YES YES YES
 





  注释:行为参数,列为操作。

  测试总结:关注参数组合逻辑,和场景切换时的参数传递。可以通过在用例设计时完成这一块逻辑的覆盖,通过二维图来展现是个不错的主意。

  3、同步异步请求

  对于地图页面上的操作,很多情况下采用异步请求的方式(为了不让页面发生重载和刷新)。如拖动地图、类目切换时时,地图上信息点的展现。

  对于异步查询,可以通过拼接参数的形式进行http请求,验证数据接口返回结果的正确性,然后在前端上验证页面上的展现及样式。

  测试总结:分层测试设计,验证数据接口和前端展现。

  4、坐标、视野、弹出气泡

  地图上视野通过比例尺来控制,信息点的坐标通过后端数据返回给js,弹出气泡通过js控制,气泡内的信息通过异步请求的方式获取。

  测试时注意验证数据的正确性。

  5、性能测试

  由于地图上的页面元素较少,地图区通过js调用地图组件的接口,所以前端页面的性能不会有太大的问题。性能测试的重点是在底层数据和服务上。

  淘宝地图的数据源来自vsearch(宝贝信息)和kingso(本地商户信息)搜索引擎,对于这两个搜索引擎的性能测试非常重要。在测试执行期间,发现vsearch的响应时间很慢,导致地图上信息气泡弹出时反应很慢。通过vsearch同学的性能调优,解决了该问题。

  测试总结:在对引擎进行压测时,可以采用两种方案。方案A:对服务端进行压测。由于服务端是对vsearch和kingso请求进行了一次封装,并加入我们自己的业务逻辑,所以对服务端进行压测更能体现系统的性能。方案B:直接对引擎进行压测。在对服务端压测后若出现性能指标不理想的情况,就需要对引擎进行单独压测,以确定性能瓶颈点。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号