前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据统计,为测试覆盖度添砖加瓦

数据统计,为测试覆盖度添砖加瓦

作者头像
用户5521279
发布2019-07-10 14:56:41
3210
发布2019-07-10 14:56:41
举报
文章被收录于专栏:搜狗测试搜狗测试搜狗测试

前段时间接到了一个特殊的需求:新闻客户端为了提高用户的浏览体验,需要根据不同地区用户的网络环境,推送不同的信息形式(视频、图片、文本等)

测试过程

在测试的过程中,使用了脚本加数据统计的方式,大大加快了测试效率,增加了测试覆盖度。在这里简单介绍一下测试过程。

1、 背景介绍:

a) 针对全国229个城市进行网络环境检测。

b) 针对不同的运营商进行网络环境检测。

c) 每个地区做三个不同网络出口的环境监测,通过请求不同的网络出口ping点完成检测。

d) 为防止网络环境较差带来的网络环境收集丢失,每个地区推送3遍。‍

汇总一下:

移动

联通

电信

IDC

5

5

6

CDN

32

32

32

公网

18

18

18

三倍总数

165

165

168

2、 在开发中,为了避免提高采样广泛性,每个用户下发10个ping点,每组运营商下发17个用户将所有ping点下发完毕。后续不再下发。

3、 在测试过程中,基于以上逻辑,于是就写了以下脚本。

f =open("C:\\Users\\ccz\\Downloads\\city_iploc.txt","r")
#f = open("C:\\Users\\ccz\\Desktop\\ids","r")
lines =f.readlines()
citylist= []
datalist= []
forlineinlines:
 line=''.join(line).strip('\n')
 citylist=line.split(' ')
 forsmncin['CMC','CNC','CTC']:
 foruserinrange(18):
 cityname=citylist[0]
 url='http://test.com/get_urls?iploc='+citylist[1]+'&isp='+smnc
 printurl
            res =requests.get(url)
 resobj=json.loads(res.text)
            code =resobj['code']
            message =resobj['msg']
 datalist=resobj['data']
 strdatalist=''.join(datalist)
 insertdata(url,cityname,smnc,code,message,
strdatalist,len(datalist))
f.close()

从脚本中可以看出,除了验证不同的城市之外,还会把每次的结果进行字段提取和写库操作。

这样,运行完成后,数据库的表是这样的:

有了数据后,就可以验证更多逻辑上的覆盖:

1、验证所有城市均已经下发数据(lendata>0且相等):

2、下发一定量后,不会多下发;下发策略条数计算;下发不同resdata组的倍数关系是否合理。

3、其中数据条数,和开发具体下发的逻辑,能够对的上。

由于不同运营商同一出口存在重复ping点,所以存在倍数关系。倍数关系和开发的下发逻辑,可以对的上。‍

4、超过下发次数,未下发的次数正好为229*3。且请求url各不相同证明每个城市均没有多余下发。

测试中发现的问题:

1、229个城市中,有一个城市没有下发。

2、由于计数错误,每次会下发多一个。

以上问题在手工测试或者普通的脚本测试,很难发现。同时,对于大量数据下的数据逻辑和统计是否能对的上。在脚本自动化测试也很难覆盖到。大家以后在在测试中结合使用哦~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档