在当今竞争激烈的软件测试职场中,想要获得理想的职位,就要在面试前做足充分准备,不断的了解用人单位和面试岗位的需求,才能做到“知己知彼,百战不殆。”

今天在这里,小编专门为各位即将入行软件测试的小伙伴们准备了一份最全的面试问题及详解答案,助你offer手到擒来!

NO.1 你在测试中发现了一个bug,但是开发人员认为这不是一个bug,你应该怎样解决?

首先,将问题提交到缺陷管理库里面进行备案。然后,要获取判断的依据和标准:

• 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;

• 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;

• 根据用户的一般使用习惯,来确认是否是缺陷;

• 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。

等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并由上级做出决定。

NO.2 给你一个网站,你如何测试?

首先,查找需求说明、网站设计等相关文档,分析测试需求。

制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试

设计测试用例:

功能性测试可以包括,但不限于以下几个方面:

• 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。

• 提交功能的测试。

• 多媒体元素是否可以正确加载和显示。

• 多语言支持是否能够正确显示选择的语言等。

界面测试可以包括但不限于以下几个方面:

• 页面是否风格统一,美观

• 页面布局是否合理,重点内容和热点内容是否突出

• 控件是否正常使用

• 对于必须但未安装的控件,是否提供自动下载并安装的功能

• 文字检查

性能测试一般从以下两个方面考虑:

压力测试;负载测试;强度测试

数据库测试要具体决定是否需要开展。数据库一般需要考虑连接性,对数据的存取操作,数据内容的验证等方面。

更多相关知识点击如下链接进行获取:
https://edu.csdn.net/lecturer/6110
https://edu.csdn.net/course/detail/32107
https://edu.csdn.net/course/detail/32047
https://edu.csdn.net/course/detail/31981
https://edu.csdn.net/course/detail/31967
https://edu.csdn.net/course/detail/31941
安全性测试:

• 基本的登录功能的检查

• 是否存在溢出错误,导致系统崩溃或者权限泄露

• 相关开发语言的常见安全性问题检查,例如SQL注入等

• 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持

兼容性测试,根据需求说明的内容,确定支持的平台组合:

• 浏览器的兼容性;

• 操作系统的兼容性;

• 软件平台的兼容性;(第三方软件)

• 数据库的兼容性

开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。

定期评审,对测试进行评估和总结,调整测试的内容。

NO.3 一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?

• 300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。

• 300个用户在一个客户端上,需要更大的带宽。

• IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。

• 所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

NO.4 什么是测试用例?什么是测试脚本?两者的关系是什么?

• 为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。

• 测试脚本是为了进行自动化测试而编写的脚本。

• 测试脚本的编写必须对应相应的测试用例

NO.5 简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试、β测试

• 静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。

• 动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。

• 黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。

• 白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。

• α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。

• β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

NO.6 如何测试一个纸杯?

https://edu.csdn.net/lecturer/6110
https://edu.csdn.net/course/detail/32107
https://edu.csdn.net/course/detail/32047
https://edu.csdn.net/course/detail/31981
https://edu.csdn.net/course/detail/31967
https://edu.csdn.net/course/detail/31941

• 功能度:用水杯装水看漏不漏;水能不能被喝到

• 安全性:杯子有没有毒或细菌

• 可靠性:杯子从不同高度落下的损坏程度

• 可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

• 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

• 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

• 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

• 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

• 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

如何找到并发数、平均响应时间、tps的最佳平衡点?

先回顾下基础,性能测试常用的指标有三个:并发、响应时间、tps

并发:跑道里参加赛跑的人数(这里的并发是广义的并发,即同一个时间段内对系统发起的请求数量)

响应时间:也就是平均每个事务的处理时间

tps:每秒处理的事务数

需求指标:分为单指标和多指标

单指标:一般是单测试tps,或者根据并发测试响应时间,或者根据响应时间测试并发,只考虑单指标的很少

多指标:要同时考虑多个指标,比如tps + 响应时间(<1s)

这个题,意思就是要找到这三个指标同时最佳值的点,即:不能只追求并发数大,而忽略tps,所以,这是一个多指标性能需求,假设是这样的:要求响应时间1秒以内,并发数要尽可能的多,tps要尽可能的大。

是不是依旧有点懵逼?先画一个简单的示意图,方便大家理解:

图片
随着并发数增加,响应时间肯定是越来越高,所以,上面红线是响应时间;

随着并发数增加,tps是先升高到峰值,然后下降(也可能是一直平稳,或者平稳一段时间再下降),所以,上面蓝线是tps;

紫色表示并发用户数;

该怎么去找这个最佳平衡点呢?

  1. 尽可能多的做不同并发数下的压测,记录下响应时间(1s以内)和最大tps,当然,服务器端,各个服务器的资源利用率在可接受范围内(每个公司不一样,我们是90%以内);

  2. 然后根据获取到的不同并发下的指标数据(并发数、tps、响应时间),画出上图,关注右侧的交点,即tps下降的地方和响应时间的交点,这个点的tps最大,如果响应时间在1s以内,此时并发数也是比较大的,这个点就可以认为是三个指标都不错的平衡点(当然,我这里把tps放在第一位优先考虑了,这个就看大家最在乎哪个指标了,排个优先级)。

如果响应时间大于1s,最佳平衡点就往左找,找到响应时间为1秒的点,此时对应的tps和并发值,就是最佳平衡点。总之,测试采样越多,获取的平衡点就越准确。

另外,如果是用loadrunner作为并发工具,并发过程中是可以增加或者减少并发用户数的,就不用必须压完一次,再调整并发数继续压,但是,loadrunner并发过程中调整了并发数,还是要尽可能跑久一点,比如10-15min。

https://edu.csdn.net/lecturer/6110
https://edu.csdn.net/course/detail/32107
https://edu.csdn.net/course/detail/32047
https://edu.csdn.net/course/detail/31981
https://edu.csdn.net/course/detail/31967
https://edu.csdn.net/course/detail/31941

全网最全软件测试面试题,拿不到offer算我输!相关推荐

  1. 全网最全软件测试面试题含答案(性能测试+功能测试+接口测试+自动化测试)

    前言 因为篇幅有限,截图不代表所有资料,图中的资料我都放在公众号[程序员阿信]里面了,回复66就可以领取了. 性能测试方面 简述性能测试流程? 1.分析性能需求. 2.制定性能测试计划. 3.编写测试 ...

  2. 最全软件测试面试题(经典)

    最全软件测试面试题 在当今竞争激烈的软件测试职场中,想要获取一份满意的offer,就要在面试前做足充分准备,不断挖掘用人单位岗位需求,才能做到"知己知彼,百战不殆." 避免面试过程 ...

  3. 2023年最新最全软件测试面试题大全

    一.面试基础题 简述测试流程: 1.阅读相关技术文档(如产品PRD.UI设计.产品流程图等). 2.参加需求评审会议. 3.根据最终确定的需求文档编写测试计划. 4.编写测试用例(等价类划分法.边界值 ...

  4. 软件测试用例优秀例子_最全软件测试面试题汇总

    原创: 软件测试大师 软件测试大师 昨天 软件测试面试题 尘世沧桑,微笑向暖 1.你的 测试 职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔 ...

  5. 【软件测试】最全面试问题和回答,全文背熟不拿下offer算我输

    一般要应聘关于测试的工作,面试题会不会很难?下面小编整理了软件测试面试题及答案,欢迎参考! 1.你的测试职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测 ...

  6. 「软件测试」最全面试问题和回答,全文背熟不拿下offer算我输

    一般要应聘关于测试的工作,面试题会不会很难?下面小编整理了软件测试面试题及答案,欢迎参考! 一.引言 1.1 文档目的 本次文档是为了收集在面试中遇到的一问题与常见的一些答案并不是唯一答案 二.职业规 ...

  7. 全网最全软件测试工程师面试题,看完你还怕拿不到offer?

    与开发工程师相比,软件测试工程师前期可能不会太深,但涉及面还是很广的. 在一年左右的实习生或岗位的早期面试中,主要是问一些基本的问题. 涉及到的知识主要包括MySQL数据库的使用.Linux操作系统的 ...

  8. 【软件测试 Python自动化】全网最全大厂面试题,看完以后你就是面试官!

    前言 嗨咯 大伙,我是你们的笨蛋程序员 为了让大家更好的理解和学习投入到Python自动化来 找到一份好的资料也是学习过程中,非常重要的一个点.你的检索能力越强,你就会越容易找到最合适你的资料. 我这 ...

  9. 全网最全Spring面试题之基础篇整理总结(共69题,附超详细解答)

    [Java架构师面试网]收集整理了一些spring面试的问题,这些问题可能会在你下一次技术面试中遇到.但是想成为Java架构师,这些都是不可避免也是必须要掌握的,对于其他spring模块,我后续也将单 ...

最新文章

  1. 使用Python操作excel文件
  2. 软件工程概论_课堂测试
  3. @codeforces - 1106F@ Lunar New Year and a Recursive Sequence
  4. HDU1823(二维线段树)
  5. java面向对象封装之有参无返与有参有返
  6. python分布式对象存储_推荐:一款分布式的对象存储服务
  7. 2011年5月18日早会资料
  8. 《计算机网络 自顶向下》第八章==网络安全
  9. [RK3399][Android7.1] 移植笔记 --- 音频Codec RT5640添加
  10. kvm linux重置密码,超微主板使用ipmicfg重置IPMI密码
  11. 计算机的神奇功能华为,接上线就变PC!华为Mate 10的电脑模式究竟好用不?
  12. foobar2000界面自定义详解
  13. STM32学习笔记——USB鼠标
  14. 知乎大V推荐!如何在面试中通过工厂模式来给自己加分?圆我大厂梦!
  15. Android 购物选择颜色、尺码实现(二)
  16. mac 重启 ssh 服务
  17. 联想thinkcentre微型计算机,联想ThinkCentre一体机_ThinkCentre台式机-ThinkPad官网
  18. 可以升级鸿蒙吗,魅族上船,鸿蒙有戏?
  19. 导出excel工具类
  20. “周末不喝酒,人生路白走”,智慧山「精酿的夏天」3.0又将引爆全城!

热门文章

  1. php group 用法,thinkphp5 链式操作group分组用法
  2. 如何利用电脑将文件刻录到光盘里面
  3. 15051:小Biu的区间和
  4. MIT 线性代数 Linear Algebra 26:复矩阵,傅里叶矩阵, 快速傅里叶变换 FFT
  5. nowcoder 90 K 密码
  6. python刷题:哥德巴赫猜想
  7. RN+SDK套壳轻松解决苹果审核被拒3.2.1问题、2.1大礼包问题【最新上架技术】
  8. 开通VPN后,网络访问比未开VPN还要慢
  9. OpenGL导入3DS专题
  10. oracle怎么查表空间,如何查看oracle所有的表空间