最近在测试基于Web的BI报表内容。 这也是我第一次接触这样的平台。 我很高兴与大家分享。
BI报表其实可以理解为数据仪表盘。 数据仪表板上的数据是经过一定的统计和计算处理得到的。 比如某企业近年来的财务状况分析、某系统的用户增量数据等。这样可以方便相关人员了解其所负责业务的数据情况,从而为业务提供良好的信息。业务的优化和发展。 支持。
BI报表与其他系统最大的区别在于它是一个呈现数据的平台。 它展示的数据经过一定程度的整理、计算、转换,然后在前端页面通过一些过滤条件查询到相应的数据。
这类平台没有太多的界面交互,看起来比较简单。
数据的组织、转换、计算一般是由数据开发人员编写SQL来实现,然后提供SQL给Web开发人员。 开发者编写程序代码,输入不同的过滤条件来查询对应的数据并显示。 在页面上。
我以前从未测试过这样的平台,所以我花了一些时间来熟悉它。
熟悉的步骤实际上与获得新需求相同。
BI报表的整体页面构成实际上可以分为过滤部分和显示相应过滤条件下数据的部分。 通过改变查询的过滤选择条件,用户可以在页面上查看相应条件下的数据。
过滤部分或多或少可以根据业务需求,可以定义为动态获取的过滤项,也可以定义为静态硬编码的过滤项。 动态是指通过界面获取并显示这个过滤项的数据,而静态是指开发者直接在前端进行硬编码。 一般情况下,数据比较固定或者较小的过滤项可以设计成静态的。 例如,如果有一个用户性别的过滤项,因为性别只有两个值:男和女,那么可以直接在前端硬编码。 就是这样;
对于过滤数据不固定和数据过多的项目,往往设计为动态获取。 例如,如果有一个活动名称为ID的过滤项,可能有成百上千个用户ID,并且用户ID数据也在不断更新,那么就不适合写死。
数据展示部分是将返回的数据在相应的过滤条件下填充到图表中。 事实上,您可能或多或少接触过并使用过这种图表。
例如,在制作财务分析ppt时,会使用一些扇形图、条形图等来直观地展示数据。
BI报表中使用的图表有折线图、柱形图、条形图、扇形图、漏斗图、表格等,具体用什么图表来呈现数据需要根据需求来确定。 使用不同的图表需要不同的测试。 例子。
在实际测试过程中,我们需要验证以下两个内容。
第一步验证数据开发提供的SQL
SQL验证包括逻辑验证和功能验证。
在实际工作中,SQL本身的逻辑验证主要是由数据开发人员完成,其中包括获取数字的规则,比如从哪些数据表获取原始数据; 数据统计的规则,比如哪些数据需要过滤,是否需要去重等。
数据开发和SQL逻辑验证的过程其实可以粗略地理解为JAVA工程师写完自己的代码后对其进行审查的过程。 测试人员对代码并不熟悉,所以测试人员主要检查SQL是否能够正常执行并获取所需的数据。 这是基本功能的验证。
当然,虽然测试主要关注SQL的功能,但并不意味着不需要关注逻辑。
虽然数据开发人员在写完SQL后也会进行自测,但基于现有需求或无法暴露的数据往往会出现一些问题。 而且数据开发只是冒烟测试,不可能验证得这么详细。
例如,一些计算出的中间值可能是NaN、NULL。 有些业务需要特殊处理,将NaN、NULL设置为0,否则无法得到想要的计算结果。 很多时候,这类数据需要手动构造并写入对应的数据表中。 该测试要求测试人员具备一定的SQL语法基本功。
第二块是数据查询并在报表页面展示
该领域需要关注过滤器的有效性以及查询数据和显示的正确性。
在测试过程中,我们会发现,由于报表的组成部分基本上都是过滤器和图表的组合,所以我们可以设计和整理一些常见的测试点,这会提高我们的测试效率。
我简单列举几个:
如何验证数据的正确性?
我们将使用数据开发人员提供的SQL在数据库客户端工具中执行。 校对数据库返回的结果与平台显示的结果一致。 如果不一致,则程序中可能存在错误。
除了上面我列出的几个常见的测试点之外,还有一些需要根据报表页面的具体设计来分析。
例如,有时数据量较大,表格会添加翻页、上下滚动的功能; 如果使用图表组件,还存在一些数据补全和数据显示格式的问题,比如查询条件对应的折线图。 如果某天没有数据,填写折线图时会不会出现日期和数据不符的问题?
当报表数据量比较大时,可能会导致页面卡顿等情况,这种情况下就必须考虑接口的性能;
有时会发现某一天的数据与其他日子的数据相比有较大的增加或减少。 这其中可能存在隐藏的问题,需要提交给数据开发人员进行调查。 这就要求他们对数据保持一定程度的敏感度。 。 总而言之,这些都需要具体问题具体分析。
结尾