2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读2.5k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502我最近一段时间都是在测试基于
Web
端的BI
报表的内容,这也是我第一次接触这样的平台,很高兴和大家分享一下。
BI
报表其实可以理解为就是一个数据看板,数据看板的数据都是通过一定的统计、计算处理之后得出来的。比如说某个企业的近几年的财务状况分析、某个系统的用户增量数据等等,这可以方便相关的人员去了解自己负责的业务的数据情况,进而为业务的优化发展提供良好的支撑。
BI
报表与其他系统最大的不同在于它是一个呈现数据的平台,它展示的数据都是经过一定的组织、计算、转换的,然后通过前端页面的一些筛选条件去查询出对应的数据。
这类平台没有太多的界面交互,给人的感觉看起来比较简单。
数据的组织、转换、计算其实一般是由数据开发人员编写SQL
进行实现,然后将SQL
提供给Web
开发人员,开发人员通过编写程序代码来实现输入不同的筛选条件来查询出对应的数据并展示在页面上。
我之前从来没有测试过之类的平台,所以熟悉起来还是花费了些时间。
熟悉的步骤其实和平时拿到一个新的需求一样,
-
首先你需要了解需求的背景;
-
其次需要设计测试用例,考虑如何去尽可能覆盖所有的点;
-
最后就是执行测试用例,发现缺陷并报告给开发人员去修复。
BI
报表整体的页面组成其实可以分为筛选器部分和展示对应筛选条件下的数据的部分,用户通过更改筛选器的选择条件进行查询,可以在页面查看到对应条件下的数据。
筛选器部分根据业务需求可多可少,可以定义成动态获取、静态写死的筛选项,动态的意思就是这个筛选项的数据是通过接口去获取并展示的,而静态的就是指开发人员直接写死在前端的,一般筛选项数据比较固定或者比较少的,可以设计成静态的,比如有个用户性别的筛选项,因为性别只有男、女这2个取值,那么直接写死在前端就行了;
而对于筛选项数据非固定的和数据量太多的,往往设计成动态获取的,比如有个活动名称ID
的筛选项,用户id
可能会有几百上千个,并且用户id
数据也在一直更新,那么就不适合写死。
数据的展示部分就是把返回的对应筛选项条件下的数据填充到图表里面,其实这种图表大家可能或多或少的接触过和使用过。
比如制作一个财务分析的ppt
,就会用到一些扇形图、柱状图之类的去直观的展示数据。
BI
报表用到的图表涉及到折线图、柱状图、条形图、扇形图、漏斗图,表格等等,具体使用什么图表去呈现数据需要根据需求来确定,使用不同的图表需要涉及不同的测试用例。
在实际测试过程中,我们需要校验到以下两大块内容。
第一块是要校验数据开发提供的SQL
SQL
的校验包含逻辑校验和功能性校验。
在实际工作中,SQL
本身的逻辑校验主要是由数据开发人员完成的,这其中包含取数的规则,比如从哪几张数据表中获得原始数据;数据统计的规则,比如哪些数据需要过滤掉,是否需要去重等等。
-
首先取数规则和统计规则具有很强的业务性;
-
其次
BI
报表所需要的最终数据需要经过较为复杂的清洗、转换、计算规则才能获得,因为其涉及的SQL
一般是非常复杂的,需要具备一定的SQL
编程能力的人才能很好地理解。
数据开发校验SQL
逻辑的过程其实可以大致理解为一名JAVA
工程师写完代码之后走查自己代码的过程。测试人员是不熟悉代码的,所以测试人员主要是看SQL
能否正常执行并获得需要的数据,这属于基础功能的验证。
当然,测试虽然是主要关注SQL
的功能性,并不意味着可以不用关注逻辑。
虽然数据开发人员在编写完SQL
之后也会进行自测,但是往往会有一些问题基于现有的需求或者数据无法暴露出来,况且数据开发也只是进行冒烟测试,不可能校验得那么细致。
比如经过计算的中间值出现一些为NaN
、Infinity
、NULL
的情况,基于有的业务需要特殊处理,把NaN
、Infinity
、NULL
置成0,否则会导致得不到想要的计算结果。这种数据大多时候需要人为构造,在对应的数据表里面写入数据,这块的测试要求测试人员具备一定SQL
语法的基本功。
第二块是报表页面的数据查询和展示
这块需要关注筛选器的有效性和查询数据及展示的正确性。
测试过程中会发现,由于报表的组成部分基本就是筛选器和图表的组合,所以我们可以设计和整理出一些通用的测试点,这将会增加我们的测试效率。
下面我简单列举几条:
-
1、对于动态筛选器,需要检查数据获取和展示的正确性;对于静态筛选器,需要检查展示的固定枚举值的正确;
-
2、检查默认进入页面的筛选器状态和页面展示的数据的正确性;
-
3、检查不同筛选器组合条件下页面展示的数据的正确性;
-
4、检查无数据、数据量比较多情况下的页面展示的正确性;
数据的正确性如何校验呢?
我们会使用数据开发人员提供的SQL
在数据库客户端工具里面执行,校对数据库返回的结果与平台展示的结果一致即可,如果不一致,那么就可能是程序有bug
了。
除了以上我举例列举的几条通用的测试点,还有一些需要根据报表页面的具体设计去实际分析的。
比如有的时候数据量很多,表格会增加翻页、上下滚动查看的功能;如果用到的是图表组件、那么还有一些数据补全、数据展示格式的问题,比如一个折线图,对应查询条件下某一天没有数据,那么填充到折线图里面是否会有日期和数据对应不上的问题;
当报表的数据量比较大的时候,可能导致页面卡死等情况,这就不得不考虑接口的性能问题了;
有的时候会发现某天的数据相较其他日期的数据有较大的上升或者下降,这其中可能会隐藏有问题,需要提交给数据开发人员排查,这需要们对数据保持一定程度的敏感性。总而言之,这些都是要具体问题具体分析的。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。