数据可视化项目测试中易被忽略的缺陷

2018-01-03   出处:埃森哲测试中心  作/译者:张志刚  

数据可视化(Data Visualization)是指将结构或非结构数据转换成适当的可视化图表,然后将隐藏在数据中的信息直接展现于人们面前,相比传统的用表格或文档展现数据的方式,可视化能将数据以更加直观的方式展现出来,使数据更加客观、更具说服力。在各类报表和说明性文件中,用直观的图表展现数

据,显得简洁、可靠㊟。

本文在QlikView软件项目的基础上,深入细节,对数据可视化测试过程中容易被忽略的一些缺陷进行简单的分类、举例,希望能够帮助正在从事或希望从事数据可视化的开发,测试人员规避项目过程中可能出现的缺陷风险,并保证功能测试的覆盖率。

01

数据相关缺陷

数据可视化的基础就是数据,数据质量的好坏以及对源数据进行处理逻辑正确与否,直接影响到基于数据生成的报表反映数据趋势的准确性。以下是几种常见的与数据源及数据处理相关的缺陷:

1.1 数据库存储过程代码缺陷导致数据错误

当数据库(Oracle,SQL Server等)作为QlikView的数据源时,通常情况下,都是由DBA或者业务客户提供一段SQL存储过程代码,用以初步筛选出所需要展现的数据,而存储过程的代码缺陷会导致并不仅限于如下的错误:

a.    没有过滤重复数据

b.    没有对Null值,空值做限制或处理

c.     存储过程中的查询条件语句漏项

因此作为测试人员,不能认为存储过程是由客户提供的就忽略了对此段代码的测试。

1.2 多位小数的页面显示及逻辑计算问题

某些特殊情况下,通过公式计算而得出的结果数据为多位小数。同时,客户又要求页面上的数据展示只显示出小数点后4位或其他较小位数。这样就会造成一种特殊的缺陷。

我们用一个简化后的例子来看,丢包率是企业通信服务器(OC或Skype)工作状态监控报表中常见的一个KPI值。某些情况下,丢包率可能只有很小的0.00003333,即0.0033%。同时,客户需求是要在一个表格中展示各子服务器对之间的丢包率及汇总,显示值在百分比情况下保留2位小数。此时,如果对于计算后的丢包率简单的处理为只保留2位百分比小数,就会出现如下的缺陷:


每一对通信服务器之间的实际丢包率为0.003333%,由于对数据处理不够完善,最后在页面报表上,子服务器对丢包率只显示了上表中最后一列的值而汇总丢包率因为是计算了实际值,即0.0033%+0.0033%+0.0033%+0.0033%,显示了0.01%,由此对客户分析服务器对之间的通信问题造成困扰。

1.3  空值与0

空值与0是在数据可视化开发中另外一个在计算中容易被忽略的问题。还是用丢包率的计算场景来举例。


深灰色的发包数与接收数对于用户来说不可见,只有白色的丢包率可见。对于子服务器对 S1/S2, 发出与接收的包数一致,所以丢包率显示为0;但是对于S4/S3, 实际上可能服务器之间本身发生问题,导致根本没有任何包发出和接受,丢包率应为空值,但是由于对空值显示的控制出现问题,导致最后S4/S3服务器对的丢包率也为0%,误导用户认为S4/S3服务器对工作正常。

02

过滤器(Fliter)相关缺陷

过滤器是报表中十分重要的一个功能,用户通过设置不同的过滤条件,从而对不同维度,不同视角下的数据进行更为细致的分析预测。在对过滤器功能进行测试的过程中,我们会遇到如下2点易被忽略问题:

2.1  过滤器默认值问题

有些场景下,客户会要求过滤器有默认值且存在一个reset
button用来恢复默认在实际测试过程中,测试人员可能只是对过滤器设置某些条件后,展示的图表是否与过滤条件一致进行测试,忽视reset button。这样开发由于失误将reset button设置为全部清空的缺陷就不能被发现。

2.2  场景切换对过滤器的影响

某些场景下,客户会要求展示同一个KPI在不同维度的情况。举例来说:

当客户设置了过滤器选定server后,期望看到此server内存,网络接口等各属性的信息。测试人员往往会很详尽地将过滤器功能测试好,而忽略了在点击system, front end, Mcus等标签切换场景时,设置好的过滤条件是否会被清空。

03

页面布局,报表及相关元素显示

3.1  类似Top5 柱状图排序问题

通常情况下柱状图只是展示了单一属性值,这样判断top5排序是否正确只需要看柱的长度就可以了。


但是项目中会存在类似下图的柱状图,每一条柱都代表了多个属性值。在测试柱状图的排序是否正确时,就要注意排序的标准。很多时候,项目人员由于忽略需求,按照之前的项目经验进行排序,例如柱的总长度,或某个特定某个颜色的长度。但是,下图的排序依据需求,按照计算出来的Poor rating百分比来排序。

3.2 X轴元素排序问题

还是排序的问题,当客户对于某些图表不要求有排序时,对于X轴或者Y轴的排序往往有一个特定的默认规则。最简单的例子就是,如果x轴有日期的话,应该是按照从左到右,年份由小到大来排。而下图就忽略了年份,将柱的数值作为了排序依据。


3.3 子报表最大化背景色混乱问题

图表的背景色设置是另外一个容易被忽略的问题,很多时候,由于背景色的透明度没有设置为0,在正常大小没有任何问题,但是最大化以后,就会出现背景混乱的问题。正常大小的图表,因为整体背景是白色,所以柱状图背景透明不会出现任何问题。

但是当最大化改柱状图时,由于背景透明,就会导致柱状图最大化后背景混乱:


笔者:以上就是我总结出在数据可视化项目中可能被忽视的一些缺陷。限于经验,可能会有遗漏,希望大家能够与我交流。

㊟参考资料源自知乎用户‘小草莓’回答https://www.zhihu.com/question/26685414


作者简介:张志刚




欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
183°|1836 人阅读|0 条评论

登录 后发表评论
最新文章