已拿到软件测试实习offer(经验贴)----普通二本

这几天一直在长沙这边面试,总结了一下面试官问的一些问题(目前还记得的):

1.在jmeter里面怎么参数化,怎么接口关联?

一、JMeter参数化

参数化是指将测试数据或变量从测试脚本中分离出来,以便可以更方便地管理和重用这些数据。在JMeter中,可以通过多种方式实现参数化:

  1. 用户定义的变量:通过添加前置处理器“用户参数”来实现。右键点击线程组或请求,选择“前置处理器”->“用户参数”,然后填写变量名及参数值。这种方法适用于需要为所有线程组或请求设置相同参数值的情况。
  2. CSV数据文件设置:通过配置元件“CSV Data Set Config”来实现。右键点击线程组或请求,选择“配置元件”->“CSV Data Set Config”,然后输入文件路径、编码、参数名(以英文逗号隔开)等。CSV文件中的每一行代表一组参数值,JMeter会按照顺序读取这些值并赋值给指定的变量。该方法适用于需要从外部文件中读取大量测试数据的情况。
  3. 函数助手:JMeter提供了多种函数助手,可以生成随机数、随机字符串等。通过选项“函数助手对话框”选择相应的函数,并填写必要的参数,然后生成函数表达式。该方法适用于需要生成随机测试数据的情况。
  4. Random Variable:通过配置元件“Random Variable”来实现。右键点击线程组,选择“配置元件”->“Random Variable”,然后填写变量名、格式、随机数区间等。每个线程组在运行时都会根据设置生成一个新的随机数。
  5. 数据库参数化:通过配置元件“JDBC Connection Configuration”和“JDBC Request”来实现。首先需要下载并放置相应的数据库驱动jar包到JMeter的lib目录中。然后添加JDBC Connection Configuration来配置数据库连接信息,并添加JDBC Request来执行SQL语句并获取查询结果。查询结果可以设置为参数值,供后续的请求使用。

二、JMeter接口关联

接口关联是指在一个接口响应中提取出某些值,并将这些值作为下一个接口请求的参数。在JMeter中,可以通过以下几种方式实现接口关联:

  1. 正则表达式提取器:在HTTP请求之后添加一个“正则表达式提取器”。设置提取的表达式、匹配规则等参数,以从响应中提取出需要关联的值。将提取到的值保存到JMeter的变量中,并在下一个请求中使用${变量名}的方式引用该值。
  2. JSON提取器:如果响应是JSON格式的,可以使用“JSON提取器”来提取其中的值。设置提取的JSON路径、变量名称等参数,并将提取到的值保存到变量中。
  3. XPath提取器:如果响应是XML格式的,可以使用“XPath提取器”来提取其中的值。设置提取的XPath表达式、变量名称等参数,并将提取到的值保存到变量中。

注意事项

  • 在进行参数化和接口关联时,需要确保提取的变量名和引用的变量名一致。
  • 如果使用CSV数据文件进行参数化,需要注意文件的编码格式和参数值的分隔符。
  • 在进行接口关联时,需要确保正则表达式、JSON路径或XPath表达式的正确性,以便能够正确提取出需要关联的值。

2.jmeter在页面如何获取登录的token

一、模拟登录请求

  1. 添加线程组:在JMeter测试计划中,右键点击测试计划,选择“Add”->“Threads (Users)”->“Thread Group”,以创建一个线程组。设置线程数、Ramp-Up Period(启动所需时间)和循环次数等参数。
  2. 添加HTTP请求:在线程组上右键点击,选择“Add”->“Sampler”->“HTTP Request”,以创建一个HTTP请求。配置HTTP请求的服务器名称或IP、端口号、协议(如HTTP或HTTPS)、路径、请求方法(如POST)以及请求参数(如用户名和密码)。

二、提取登录Token

  1. 添加正则表达式提取器:在HTTP请求下,右键点击并选择“Add”->“后置处理器”->“正则表达式提取器”。配置正则表达式提取器,以从HTTP请求的响应中提取token。Reference Name:定义一个变量名,用于存储提取到的token值,例如“token”。Regular Expression:编写一个正则表达式,用于匹配并提取token值。这通常需要根据响应数据的格式来编写。例如,如果token值包含在JSON格式的响应中,则可以使用类似"token":"(.*?)"的正则表达式。Template:设置为$1$,表示提取第一个匹配项。Match No.:设置为1,表示只提取第一个匹配项。Default Value:设置一个默认值,以防正则表达式没有匹配到任何内容。例如,“NOT_FOUND”。
  2. 查看结果树:为了验证正则表达式提取器是否正确提取了token,可以添加一个监听器“查看结果树”。运行测试计划,并查看结果树中的响应数据,以确保token已被正确提取。

三、使用提取的Token

  1. 添加HTTP信息头管理器:在需要发送带有token的请求上,右键点击并选择“Add”->“配置元件”->“HTTP信息头管理器”。在HTTP信息头管理器中,添加一个名为“Authorization”的头部字段,并将其值设置为${token},以引用之前提取到的token值。
  2. 发送后续请求:配置好带有token的HTTP信息头管理器后,可以发送后续需要验证token的请求。这些请求将包含正确的Authorization头部字段,从而能够成功访问受保护的资源。

注意事项

  • 确保正则表达式提取器的配置正确无误,以便能够正确提取出token值。
  • 如果响应数据的格式发生变化(例如JSON字段名更改),则需要相应地更新正则表达式提取器的配置。
  • 在使用提取的token时,请确保它仍然有效且未过期。如果token过期或无效,则可能需要重新登录并获取新的token。

3.登录这个场景,怎么设计它的用例,设计方法有哪些?

一、设计方法

  1. 等价类划分:将输入数据划分为若干个等价类,从每个等价类中选取一个或少数几个代表性数据作为测试用例。例如,对于用户名和密码,可以划分为有效等价类(如符合长度、格式要求的用户名和密码)和无效等价类(如空值、特殊字符、超长字符等)。
  2. 边界值分析:针对输入数据的边界值进行测试,以检查系统是否能在极端情况下正确处理。例如,测试用户名和密码的最小长度、最大长度、以及边界值附近的长度。
  3. 场景法:通过模拟用户在实际使用中可能遇到的各种场景来设计测试用例。例如,正常登录、用户名或密码错误、连续多次错误输入、账号被锁定等场景。
  4. 正交实验设计:当输入参数较多时,可以使用正交实验设计来减少测试用例的数量,同时保证测试的全面性。通过正交表来选取输入参数的组合,以覆盖所有可能的输入情况。
  5. 错误推测法:根据经验或直觉,推测用户可能犯的错误或系统可能出现的问题,并设计相应的测试用例。例如,推测用户可能会输入错误的用户名或密码格式,或者系统可能会因为网络问题而登录失败。

二、具体测试用例

以下是一些基于上述设计方法的具体登录场景测试用例:

  1. 正常登录:输入正确的用户名和密码。预期结果:登录成功,跳转到主界面。
  2. 用户名错误:输入错误的用户名(如不存在的用户名、特殊字符等)。预期结果:提示用户名错误,要求重新输入。
  3. 密码错误:输入错误的密码(如与用户名不匹配的密码、空密码等)。预期结果:提示密码错误,要求重新输入。
  4. 用户名和密码均错误:同时输入错误的用户名和密码。预期结果:提示用户名或密码错误,要求重新输入。
  5. 空输入:用户名和密码输入框均为空。预期结果:提示输入不能为空,要求重新输入。
  6. 特殊字符输入:输入包含特殊字符的用户名或密码。预期结果:根据系统要求,可能提示输入格式错误或允许特殊字符输入(但通常不建议允许特殊字符)。
  7. 连续多次错误输入:连续多次输入错误的用户名或密码。预期结果:系统应有一定的限制机制,如锁定账号或增加验证码验证。
  8. 账号被锁定:尝试登录已被锁定的账号。预期结果:提示账号已被锁定,无法登录。
  9. 网络问题:模拟网络不稳定或断开的情况。预期结果:提示网络连接错误或登录失败。
  10. 密码加密存储验证:检查系统后台存储的密码是否为加密形式。预期结果:密码应以加密形式存储,确保用户数据安全。

4.get和post的区别

一、用途和约定

  1. GET请求:主要用于获取信息,即进行查询操作。是幂等的且安全(这里的“安全”仅指不会改变服务器上的资源状态,并不涉及数据传输的安全性)。多次执行相同的GET请求不会产生副作用。
  2. POST请求:用于提交数据,可能会导致新资源的创建或现有资源的修改。通常用于提交表单数据、上传文件等场景。不是幂等的,因为每次提交都可能改变服务器上的资源状态。

二、参数传递方式

  1. GET请求:将参数拼接在URL之后进行传递。参数的长度受到URL长度的限制,通常是2KB左右(但具体数值可能因浏览器和服务器的不同而有所差异)。参数通过“?”连接,并通过“&”进行分割。
  2. POST请求:将参数放在请求体中传递。没有长度限制,适合传输大量数据。参数不会暴露在URL中,相对更加安全(但仍需配合其他安全措施,如HTTPS加密通信)。

三、缓存和历史记录

  1. GET请求:结果通常可以被浏览器缓存。如果下次传输的数据相同,可能会直接返回缓存中的内容,以提高响应速度。参数会保存在历史记录中。地址可被收藏为书签。
  2. POST请求:结果通常不会被缓存。因为其可能引发服务器状态的改变。参数不会保留在历史记录中。地址不能被收藏为书签。

四、安全性(数据传输角度)

  1. GET请求:参数直接暴露在URL中。不适合传输敏感信息,如密码等。
  2. POST请求:参数存放在请求体中。不会在URL中显示。相对更加安全(但仍需其他安全措施)。

五、TCP数据包

  1. GET请求:浏览器会把HTTP header和data一并发送出去。产生一个TCP数据包。
  2. POST请求:浏览器先发送header,服务器响应100 Continue后,浏览器再发送data。产生两个TCP数据包(但在某些情况下,如没有带Expect头时,可能只产生一个数据包)。

5.TCP和UDP的区别

一、连接性

  • TCP:是一种面向连接的协议。在数据传输之前,发送方和接收方必须先进行三次握手,建立连接后才能开始传输数据。这种连接机制确保了数据传输的可靠性和有序性。
  • UDP:是一种无连接的协议。发送方不需要提前与接收方建立连接,可以直接向接收方发送数据。这种无连接特性使得UDP在数据传输时具有较低的时延和较高的效率。

二、可靠性

  • TCP:对数据的可靠性要求非常严格。它使用确认和重传机制来确保数据的完整性和正确性。如果接收方没有收到数据,发送方会不断重传,直到接收方确认收到数据为止。此外,TCP还提供了流量控制和拥塞控制机制,以进一步确保数据传输的可靠性。
  • UDP:对数据的可靠性要求较低。它不提供确认、重传和流量控制机制。如果发送方发送的数据丢失或损坏,UDP不会进行重传,而是直接使接收方收到的数据不完整。因此,UDP通常用于对数据实时性要求较高但对可靠性要求较低的应用场景。

三、速度和效率

  • TCP:由于需要建立连接和使用确认重传机制,TCP在数据传输过程中通常比UDP更慢。此外,TCP的拥塞控制机制也会在网络拥堵时降低发送速率,导致传输速度进一步下降。
  • UDP:没有连接建立和确认重传的开销,因此在数据传输速度方面通常比TCP更快。UDP不受拥塞控制的限制,可以在网络状况良好的情况下实现高速数据传输。

四、数据包大小

  • TCP:将数据划分为较小的数据包进行传输,并根据网络状况进行调整。TCP没有固定的数据报大小限制,可以根据需要动态调整数据包的大小。
  • UDP:允许发送方一次性将多个数据包打包成一个较大的数据报进行传输。UDP数据报的大小通常在应用层自行决定,但受到最大传输单元(MTU)的限制。一般情况下,每个UDP数据包不超过64KB(但具体数值可能因网络环境和配置的不同而有所差异)。

五、适用场景

  • TCP:适用于对数据可靠性要求较高的应用场景。如文件传输、电子邮件和网页浏览等。这些应用需要确保数据的完整性和正确性,因此选择TCP作为传输层协议是合适的。
  • UDP:适用于对数据实时性要求较高的应用场景。如音频和视频流传输、网络游戏和实时通信等。这些应用需要快速传输数据,但对数据的完整性要求相对较低,因此选择UDP作为传输层协议可以实现更高的传输效率和更低的时延。

6.对智能手环的界面进行测试,你会怎么设计测试点?

1. 用户交互测试

  • 触控灵敏度:测试手环屏幕对不同力度和速度的触控响应是否准确、迅速。
  • 滑动流畅性:评估在界面上滑动时的流畅度和响应速度,确保无卡顿现象。
  • 按键反馈:如果手环有物理按键,测试按键的触感、反馈力度和响应速度。
  • 误触率:通过模拟用户日常使用场景,测试界面是否容易因误触而触发不期望的操作。

2. 功能实现测试

  • 信息显示准确性:验证手环界面上显示的时间、日期、步数、心率等信息的准确性。
  • 通知推送:测试手环接收并显示来自手机的通知(如来电、短信、社交应用消息等)的及时性和准确性。
  • 应用切换:在多个应用或功能之间切换时,测试界面的响应速度和稳定性。
  • 手势操作:测试手环支持的手势操作(如双击、长按等)是否按预期执行。

3. 界面布局测试

  • 布局合理性:评估界面元素(如图标、文字、按钮等)的排列是否直观、易于理解。
  • 空间利用率:检查界面空间是否被有效利用,避免信息冗余或界面过于拥挤。
  • 字体大小和可读性:确保字体大小适中,易于阅读,特别是在不同光照条件下。
  • 颜色搭配:测试界面颜色搭配是否和谐,符合用户审美和视觉舒适度。

4. 视觉效果测试

  • 屏幕亮度:测试手环屏幕在不同亮度设置下的显示效果和能耗。
  • 对比度:确保界面元素与背景之间的对比度足够高,以提高可读性。
  • 动画效果:测试界面上的动画效果是否流畅、自然,且不会造成用户不适。
  • 屏幕保护:验证手环在长时间不使用时是否会自动进入屏幕保护模式,以及唤醒的灵敏度。

5. 性能测试

  • 响应时间:测试手环界面在各种操作下的响应时间,确保快速响应用户指令。
  • 稳定性:长时间使用或进行大量操作时,测试手环界面是否稳定,无崩溃或重启现象。
  • 资源占用:评估手环界面运行时的CPU、内存等资源占用情况,确保不会对系统性能造成过大负担。
  • 电池续航:测试手环在界面活动下的电池续航时间,确保用户能够正常使用较长时间。

6. 兼容性测试

  • 不同型号手环:测试界面在不同型号、不同屏幕尺寸的智能手环上的显示效果和兼容性。
  • 不同操作系统:如果手环支持连接多种操作系统(如iOS、Android等),测试界面在不同系统下的兼容性和表现。

还有一些我的知识体系没有太涉及到的问题(网络):

7.你对网络测试了解多少?

8.测试音乐播放器时,点击了收藏按钮也产生了效果,但是该歌曲没有出现在我的收藏歌单里,你怎么去判断是哪里出现了问题?

9.你对软件测试这个岗位的职业规划?

10.你有什么优势来胜任软件测试这个岗位?

#测试##25届实习/校招##实习##面试##计算机面经##悬赏#
全部评论
大佬,哪个公司呀
1 回复 分享
发布于 2024-10-14 11:19 湖南
m
点赞 回复 分享
发布于 2024-10-13 17:10 广东

相关推荐

1、春招碎碎念秋招没参加,在实习。然后又回来考研了,考研没考上!现在春招又错过最好的2月、3月的提前批!现在牛客已经是26届的天下了,25届的鼠鼠在5月份的还能有offer的机会吗?鼠鼠所在学校大部分人都是没工作或者不想找的,只有孤零零地独自战斗了。鼠鼠现在刚花几天时间做完毕设、水完论文!然后刚刚受到消息又挂了一个薪资不错的中厂,可能是我薪资要太高了,说了22k以上。问HR要结果她就说:“同学很优秀,但是和同批同学综合评估下来匹配度没有那么高“。难道鼠鼠只能找个十来k的小厂了吗?好想能进入不错的大平台,继续狠狠学习呀!我不想去一些小厂,特别是大家都比较死气沉沉的小厂,真的会受不了的呀,一点希望都没有的感觉,有些小作坊感觉大家都做着没有意义的事情,重复而琐碎的工作,一点提升都没有呀,完完全全的牛马!到现在整个春招面试就十次左右,少之又少,一开始3月份还有大厂能看我简历的,现在中厂都不看了。特别有一些就给十k左右还要求92硕的,我不知道是我要求太高了,还是破环境就这样!大厂面很可惜都没有抓住机会,面的几个中大厂都挂了。2、心态变化去年已经经历过一次春招了,总体都知道对于非名校的普通鼠鼠来说,在整个大环境下是非常艰难的,去年很多时候是靠着自己不断学习、投简历和一丝运气才有的实习。还有实习时的摆烂,说实话刚到北京的一段小厂实习非常不适应,摆烂了一个月,感觉啥也没学到!后面来到好未来实习后才狠狠学习的。后面也狠狠反思了自己,果然想要有不错的结果和未来,一定要持续学习和进步呀!今年春招就心态平稳很多,平稳到过于自信了,总觉得自己能找到一份20k以上的后端开放,然而现在发现"高看了自己,也低估的环境”,但是还是要稳住心态、好好总结反思。保持持续学习和进步,坚信一定会有不错的结果的。现在的无论小红书、抖音、B站,亦或是牛客,我总感觉会陷入到某种信息茧房当中,忘记了自己本所处的人生和世界,总会产生自愧不如的心态,但其实到哪些都是我未曾拥有的人生不是吗?如果想去拥有就尽力争取、做好自己就足够啦!3、工作期待好想参与到一些比较核心的业务,能学习好多高并发、高性能、高可用、高扩展方面的知识。鼠鼠好想学习好多好多知识,不断提升自己技术理解和架构理解。曾在书上看到:”没有一定的开发经验无法理解架构的重要性,没有一定的社会阅历无法理解学习的重要性“比较有感触,真是感觉很有趣!有很多时候我觉得接触到的信息太少了,总避免不了走很多弯路,因此要多学习前辈总结的经验。现在能给我发offer的只有武汉的小厂,薪资只有十来k左右比较低,而且做的业务我也不是很喜欢。我觉得校招入职的第一份工作还是非常重要的,我想尽力争取到最好,无论是业务方向还是工作平台!选择的业务方向对我们未来的发展有非常的影响,而一个好的平台可以更快速的学习和成长,刚毕业的我们可塑性非常强,是最好的成长塑造期,我不想错过我人生最好的学习成长阶段,我希望接触到更大的平台、更复杂的业务场景。我不在乎加班、工作强度,我只想要能更快的学习和成长,并且获得我应有的薪资!4、未来成长我知道生活不能全是工作,我想尽力争取到更好的工作平台、工作环境,不仅能接触到有困难和挑战的业务场景(Will make me exciting),还能有更高的薪水!能够支撑我更多方面的发展和生活爱好!我会尝试更多不同的人生体验、从不同的人、不同角度、不同环境去思考问题!我不想只束缚在一个小环境,小小的年纪就丧失了未来无数的可能性,那是让我感到很无趣的人生!有时候也会迷茫如果最后只能进入到一个小厂怎么办,后面如何提升自己呢、还有跨越的机会吗?我想可能会报班、报训练营继续强化技能、不断提高,目标是取得我想要的结果!比较期待能有国际化的工作环境,不断进步的工作态度和氛围、遇到更好的彼此!希望能一直怀抱天真与希望、拥有梦想和远方。有光明的未来,还有能装得下星空的期待! 友友们加油
黑皮白袜臭脚体育生:不一定没有机会,去年七月有见到春招补录上岸腾讯的,我记得当时那个牛友准备入职的公司开的是12还是13k,已经要去公司了结果被腾讯截胡 事在人为
点赞 评论 收藏
分享
评论
21
98
分享

创作者周榜

更多
牛客网
牛客企业服务