测试女巫紧跟时代脉搏之大数据分析系列之四实战篇

发表于:2020-11-02 09:24

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

 作者:王平平    来源:51Testing软件测试网原创

  前言
  前三期我们学习了大数据分析的概念,工具以及如果利用这些数据产生漂亮的图形;会不会有一些跃跃欲试的感觉:我辛辛苦苦学习了这么多的枯燥的基础知识,我可不可以找一些公司的正式的测试数据,来练练手?是不是可以对于公司产生一些不一样的价值?
  我这次给大家放大招,给出两个真实的范例,看我们学习了这三期到底可以产生什么惊人的价值,第一个实战是我们拿到天线自动化测试的数据测试 即测试3个小时的report:共有3838个数据。我们拿到这么多的数据,如何通过这些数据获得不一样的测试结论?
  第二个实战是5G测试数据,我们如何分析这些这些测试数据,给老板一个既专业又图文并茂的测试结论呢
  让我们赶紧进入实战之旅吧!
  实战范例之一:天线测试数据分析
  数据整理
  将value按照x轴 y轴 以及sector按照层次分别列出;并计算出value的平均数和总数
import pandas as pd
import numpy as np
import plotly.graph_objects as go
excel_data = pd.read_csv('11adtoolsingle.csv')
result_test = excel_data.pivot_table(values="Value",index=["X-axis","Y-axis","sector"],aggfunc=[np.sum,np.mean])
result_test.head(20)
  运行结果如下图
  计算将value按照x轴 y轴分别罗列后,计算所有sector的平均值
import pandas as pd
import plotly.graph_objects as go
excel_data = pd.pd.read_csv('11adtoolsingle.csv')
result_test =excel_data.groupby(['X-axis','Y-axis'])['Value'].mean()
result_test
  运行结果如下:
X-axis  Y-axis
-40     10       -50.424603
-39     10       -50.371553
-38     10       -49.581362
-37     10       -48.765840
-36     10       -46.163199
-35     10       -46.299201
-34     10       -46.773487
-33     10       -47.197108
-32     10       -47.969916
-31     10       -48.574481
-30     10       -49.738138
-29     10       -50.811379
-28     10       -50.846868
-27     10       -51.398935
-26     10       -51.578865
-25     10       -51.576730
Name: Value, dtype: float64
  加入测试两个Wlan,则将两个Wlan的数值分别整理
import pandas as pd
import numpy as np
import plotly.graph_objects as go
excel_data = pd.read_excel('data.xlsx',sheet_name='Sheet2')
excel_data.head(5)
result_test = excel_data.pivot_table(index=["X-axis","Y-axis","Sector"],columns = ["Wlan"],values="Value",aggfunc=[np.sum,np.mean])
result_test.head(20)
  运算结果如下图
  以什么类型排序显示整理的数据
  将value从小到大进行排序,并显示top 10
import pandas as pd
import numpy as np
import plotly.graph_objects as go
excel_data = pd.read_csv('11adtoolsingle.csv')
result_test = excel_data.pivot_table(index = ["X-axis","Y-axis","Sector"],values="Value",aggfunc="mean").reset_index().sort_values(by = "Value",ascending =False).head(10)
result_test
  运行结果如下
  数据清理
  确认数据基本信息
import pandas as pd
import plotly.graph_objects as go
excel_data = pd.read_csv('11adtoolsingle.csv')
excel_data.info()
  运行结果如下
  就可以看出一共有3838组数据,有8个栏位,其实从这里就可以看出8个栏位都是非空的;每个栏位的type也都能了解。

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3838 entries, 0 to 3837
Data columns (total 8 columns):
Wlan              3838 non-null object
X-axis            3838 non-null int64
Y-axis            3838 non-null int64
Channel           3838 non-null object
Sector            3838 non-null int64
Sector Gain       3838 non-null int64
Value             3838 non-null float64
Test Report ID    3838 non-null int64
dtypes: float64(1), int64(5), object(2)
memory usage: 240.0+ KB

  确认数据是否非空
  如果不放心,还可以用另外的函数确认是否有non-null

import pandas as pd
import plotly.graph_objects as go
excel_data = pd.read_csv('11adtoolsingle.csv')
excel_data.isna().sum()

  运行结果如下

Wlan              0
X-axis            0
Y-axis            0
Channel           0
Sector            0
Sector Gain       0
Value             0
Test Report ID    0
dtype: int64

  确认数据是否不重复

import pandas as pd
import plotly.graph_objects as go
excel_data = pd.read_csv('11adtoolsingle.csv')
excel_data.duplicated().sum()

  运行结果如下

0

  数据清理分析结论
  既没有空的数据,也没有空白的数据。
  叙述统计分析
  数据描述分析

import pandas as pd
import plotly.graph_objects as go
excel_data = pd.read_csv('11adtoolsignle.csv')
excel_data.describe().T

  运行结果如下图
  我们的测试结果即output是Value,其它的参数都是input或者index,所以我们需要重点关注Value
  主要看它的平均数以及最大值,最小值,以及25% 50% 75%是否相差太大


   ...... 

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

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号