正厚干货 | 软件测试面试题库

本文由重庆江北校区赵科老师提供

  1. 什么是关联?请解释一下自动关联和手动关联的不同?

答:关联:很多构架用sessionid等方法标识不同任务和数据,应用在每次运行时方式发送数据不完全相同,需要利用的机制对录制的脚本进行处理,这种机制叫做关联(服务端发送到客户端)

2、解释什么是采样器(Samplers)和线程组(Thread group)?

答:线程组:对于任何测试计划,线程组元件都是JMeter的开始部分。这是JMeter的重要元件,你可以在其中设置多个用户和时间来加载线程组中给出的所有用户。

采样器:采样器生成一个或多个采样结果;这些采样结果具有许多属性,例如经过时间、数据大小等。采样器允许JMeter通过采样器将特定类型的请求发送到服务器,线程组决定需要发出的请求类型。一些有用的采样器包括HTTP请求、FTP请求、JDBC请求等等。

3、目前主要的测试用例设计方法是什么?

答:白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖

黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试?
答:建立测试计划,确定测试标准和测试范围
4.设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等
根据测试用例,开发自动测试脚本和场景:
录制测试脚本:新建一个脚本(Web/HTML协议);点击录制按钮,在弹出的对话框的URL中输入”about:blank”;在打开的浏览器中进行正常操作流程后,结束录制;调试脚本并保存,可能要注意到字符集的关联。
设置测试场景:针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标;针对压力负载设置测试场景,主要判断在长时间处于满负荷或者超出系统承载能力的条件下,系统是否会崩溃;执行测试,获取测试结果,分析测试结果。

5.如何提高selenium脚本的执行速度?
答:使用更高配置的电脑和选择更快的网络环境;
使用效率更高的语言,比如java执行速度就快过python;
优化代码;
不要盲目的加sleep,尽量使用显式等待;
可以考虑分布式执行(如,配置testNG实现多线程)或者使用selenium grid;
对于firefox,考虑使用测试专用的profile,因为每次启动浏览器的时候firefox会创建1个新的profile,对于这个新的profile,所有的静态资源都是从服务器直接下载,而不是从缓存里加载,这就导致网络不好的时候用例运行速度特别慢的问题;
chrome浏览器和safari浏览器的执行速度看上去是最快的。

6.说一些你们之前的测试流程呢?
答:这块流程按笔记里写的说出来即可,注意要强调有UI/UE文档及评审

7.1)你之前主要是测的哪方面的?(2)只是测车机系统呢还是包括整个车的交互也测?
答:(1)注意测哪方面根据自己所写项目去回答。
(2)主要测试车机系统,但是也要测试整个车的交互,车上有的功能我也要顺带着测试的,只不过要分主次,我会先把自己负责的模块单独使用测试完成后,再测交互以及后面的RBT测试;

8.你们之前有 对接过 客户吗?
答:有的,因为我们是第三方嘛也就是项目外包给我们的,我们所做的项目都要经过客户方的验收,所以项目经过一定阶段就会由客户方验收下,我们由客户方驾乘使用,记录客户方所发现的问题、所提改善意见等,然后把车机报文、问题现象(BUG视频)拿回公司做优化处理。

9.你们一般遇到问题是怎么处理的?
答:说出BUG提交流程,在笔记里有写,自己说出来即可

10.你们做升级都是直接全量升级(Fota)吗,有没有做增量(sota)?Sota——局部升级
答:增量升级是有的,如新功能上线就是做的增量,但是我们公司还是采取的全量升级的形式进行升级的,实际是做的增量。

11.你知道dbc文件里面有什么吗?
答:CAN DBC 指的是CAN 报文的数据库。简单地说,通过CAN 总线通信的数据类型可以用DBC 文件来读取和理解。包含:CAN信号的ID;CAN信号报文中的位置;信号的字节顺序;信号单位这些

12.测试车机电压是多少?
答:12V的电压,电流设定是20A,实际使用时最大在16左右点

13.让你自己来搭建台架可以吗?
答:可以,在工作中我自己动手搭建过,然后说下搭建流程

14.我看你做的多的都是功能测试,你有做实车测试吗?
答:有的,根据自己项目来说,测地图的说大部分时间就是做的实车动态测试,其他模块的说在静态测试发现问题已经比较少了就会跟车做实车动态测试,资源有限的情况下,就会做实车静态测试(在台架基础功能测完,大多数就做这个了)

15.你知道uds吗?
答:了解,uds是一种诊断协议,车辆发生故障或系统提醒出现在仪表盘显示时,会通过这个去识别故障码、发送指令这些,如消除提醒保养设定的公里数提醒就用的这个

16. 了解ADAS吗?(ADAS台架测试的测试点,有哪些?)
答:了解,ADAS是一种智能驾驶辅助系统,为客户提供舒适安全的驾乘环境,为客户及时纠正有隐患的情况,防止事故的发生。如平常的导航里我们偏离规定的驾驶路线,会马上提醒我们当前已偏离路线并重新规划行驶路线;在遇到前方道路有变化时,主动在一定距离外提醒向那个方向行驶等等。PS:写得有地图的项目的,多说点,如识别到光线变化,自动切换导航界面光亮显示;系统规定的疲劳驾驶提醒,驾乘时间达3小时或行驶距离300公里时发起提醒。

17. T-BOX是什么?台架是什么?台架测试和T-BOX的区别?台架上测试什么功能?
答:T-BOX就是车机。台架就是车机、显示屏、变压器、收音器等一系列硬件结合。
有什么区别?在台架上测试实际就是测试的车机,台架上测试的功能与实车测试是一样的,只不过因为台架不是实车,有的功能测试时需要车辆信号的支撑才能测试到,所以,台架上测试的也还是系统上的功能。

18.整车测试主要测试什么?
答:测试车机系统功能与车辆自身功能(开窗、空调、仪表盘、转向灯等)

19.车联网云平台测试和车辆远程控制如何测试?
答:(1)云平台测试:如平台向车机发送相关通知或推送消息等,查看车机响应;车机向平台传输数据,测试数据传输结果;平台本身功能的测试。
(2)车辆远程控制测试:所谓远程控制即不在车辆附近达到控制车辆执行相应动作,想达到远程控制目前都是在手机下载APP,绑定车辆,然后在APP上发起车辆相应控制功能,查看车辆响应状态、结果。
(2-1)手机APP绑定车辆:车辆会有一个账户密码给你,或者是二维码,扫描后即可登录上,这个时候你通过APP发起对用车辆控制功能测试就行了。
(2-2)测试点:如远程控制车辆大火、开空调、降车窗等;与动驾驶结合,让车达到指定目的地去


20. 怎么反向OTA?(通俗理解就是越活越回去了)
答:正常情况下,反向OTA是实现不了的,要想达到反向的目的,要么手动更改配置文件规则,要么改改安装包版本号;现在在行业里反向OTA还有另一层含义,通过升级的方式,限定了车辆某些功能的使用,如网上很火的电动车限制了充电电量

366900888415789200b743876311d38e.jpeg

### 回答1: Spark Streaming 和 Flink 都是流处理框架,但在一些方面有所不同。 1. 数据处理模型 Spark Streaming 基于批处理模型,将流数据分成一批批进行处理。而 Flink 则是基于流处理模型,可以实时处理数据流。 2. 窗口处理 Spark Streaming 的窗口处理是基于时间的,即将一段时间内的数据作为一个窗口进行处理。而 Flink 的窗口处理可以基于时间和数据量,可以更加灵活地进行窗口处理。 3. 状态管理 Spark Streaming 的状态管理是基于 RDD 的,需要将状态存储在内存中。而 Flink 的状态管理是基于内存和磁盘的,可以更加灵活地管理状态。 4. 容错性 Flink 的容错性比 Spark Streaming 更加强大,可以在节点故障时快速恢复,而 Spark Streaming 则需要重新计算整个批次的数据。 总的来说,Flink 在流处理方面更加强大和灵活,而 Spark Streaming 则更适合批处理和数据仓等场景。 ### 回答2: Spark Streaming 和 Flink 都是流处理框架,它们都支持低延迟的流处理和高吞吐量的批处理。但是,它们在处理数据流的方式和性能上有许多不同之处。下面是它们的详细比较: 1. 处理模型 Spark Streaming 采用离散化流处理模型(DPM),将长周期的数据流划分为离散化的小批量,每个批次的数据被存储在 RDD 中进行处理,因此 Spark Streaming 具有较好的容错性和可靠性。而 Flink 采用连续流处理模型(CPM),能够在其流处理过程中进行事件时间处理和状态管理,因此 Flink 更适合处理需要精确时间戳和状态管理的应用场景。 2. 数据延迟 Spark Streaming 在处理数据流时会有一定的延迟,主要是由于对数据进行缓存和离散化处理的原因。而 Flink 的数据延迟比 Spark Streaming 更低,因为 Flink 的数据处理和计算过程是实时进行的,不需要缓存和离散化处理。 3. 机器资源和负载均衡 Spark Streaming 采用了 Spark 的机器资源调度和负载均衡机制,它们之间具有相同的容错和资源管理特性。而 Flink 使用 Yarn 和 Mesos 等分布式计算框架进行机器资源调度和负载均衡,因此 Flink 在大规模集群上的性能表现更好。 4. 数据窗口处理 Spark Streaming 提供了滑动、翻转和窗口操作等灵活的数据窗口处理功能,可以使用户更好地控制数据处理的逻辑。而 Flink 也提供了滚动窗口和滑动窗口处理功能,但相对于 Spark Streaming 更加灵活,可以在事件时间和处理时间上进行窗口处理,并且支持增量聚合和全量聚合两种方式。 5. 集成生态系统 Spark Streaming 作为 Apache Spark 的一部分,可以充分利用 Spark 的分布式计算和批处理生态系统,并且支持许多不同类型的数据源,包括Kafka、Flume和HDFS等。而 Flink 提供了完整的流处理生态系统,包括流SQL查询、流机器学习和流图形处理等功能,能够灵活地适应不同的业务场景。 总之,Spark Streaming 和 Flink 都是出色的流处理框架,在不同的场景下都能够发挥出很好的性能。选择哪种框架取决于实际需求和业务场景。 ### 回答3: Spark Streaming和Flink都是流处理引擎,但它们的设计和实现方式有所不同。在下面的对比中,我们将比较这两种流处理引擎的主要特点和差异。 1. 处理模型 Spark Streaming采用离散流处理模型,即将数据按时间间隔分割成一批一批数据进行处理。这种方式可以使得Spark Streaming具有高吞吐量和低延迟,但也会导致数据处理的粒度比较粗,难以应对大量实时事件的高吞吐量。 相比之下,Flink采用连续流处理模型,即数据的处理是连续的、实时的。与Spark Streaming不同,Flink的流处理引擎能够应对各种不同的实时场景。Flink的实时流处理能力更强,因此在某些特定的场景下,它的性能可能比Spark Streaming更好。 2. 窗口计算 Spark Streaming内置了许多的窗口计算支持,如滑动窗口、滚动窗口,但支持的窗口计算的灵活性较低,只适合于一些简单的窗口计算。而Flink的窗口计算支持非常灵活,可以支持任意窗口大小或滑动跨度。 3. 数据支持 在处理大数据时,存储和读取数据是非常重要的。Spark Streaming通常使用HDFS作为其数据存储底层的系统。而Flink支持许多不同的数据存储形式,包括HDFS,以及许多其他开源和商业的数据存储,如Kafka、Cassandra和Elasticsearch等。 4. 处理性能 Spark Streaming的性能比Flink慢一些,尤其是在特定的情况下,例如在处理高吞吐量的数据时,在某些情况下可能受制于分批处理的架构。Flink通过其流处理模型和不同的调度器和优化器来支持更高效的实时数据处理。 5. 生态系统 Spark有着庞大的生态系统,具有成熟的ML、图处理、SQL框架等等。而Flink的生态系统相对较小,但它正在不断地发展壮大。 6. 规模性 Spark Streaming适用于规模小且不太复杂的项目。而Flink可扩展性更好,适用于更大、更复杂的项目。Flink也可以处理无限制的数据流。 综上所述,Spark Streaming和Flink都是流处理引擎,它们有各自的优缺点。在选择使用哪一个流处理引擎时,需要根据实际业务场景和需求进行选择。如果你的业务场景较为复杂,需要处理海量数据并且需要比较灵活的窗口计算支持,那么Flink可能是更好的选择;如果你只需要简单的流处理和一些通用的窗口计算,Spark Streaming是更为简单的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值