川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > 常见问题

软件测试工程师常见面试题,标准答案来了!

作者:川石学院 日期:2021-07-15 13:37:43 点击数:

  经常有人问我要软件测试的面试题,小编应了各位的要求,花了十多天的时间整理了一套软件测试面试真题。各位小伙伴记好了,也可以把内容分享给身边有需要的朋友哦。

软件测试工程师常见面试题,标准答案来了!(图1)

  一、 App、接口测试面试题

  1、App 测试常见的严重问题有哪些?分别引起的原因有哪些?

  常见的有 crash、ANR(应用无响应、卡死),一般由设备碎片化、网络波动大、内存泄漏、代码编写错误所引起。

  2、App 测试与 Web 测试有什么区别?

  •   相同点:

       设计测试用例均依据等价类、边界值等方法,测试原理相同。

  大多数都采用黑盒测试方法来验证业务功能。

  需要检查界面布局、风格和按钮是否美观、统一等(UI 测试)。

  测试页面载入和翻页的速度、登录时长是否溢出等问题(性能测试)。

  测试应用系统的稳定性。

  •   不同点:

  手机作为通信工具,通信等一些行为会对 App 产生(中断测试)影响。

  手机用户对 App 产品的安装卸载操作;从上一版本/上两个版本直接升级到最新版本(安装卸载测试)。

  Web 自动化测试使用的工具较常用的是 Selenium,而 App 自动化测试还要区别是Android 手机还是 iOS 手机,比较常用的工具是 Appium、UiAutomator、UIAutomation。

  3、请简要介绍一下移动应用及其服务端的测试点?

  移动应用主要有权限、安装卸载、UI、功能、性能、中断、兼容性、安全性、回归、升级更新、用户体验。

  服务端有接口测试、性能测试、安全测试。

  4、Android 中如何获取日志信息? 

  把 Android 系统日志信息实时导入到本地:adb logcat -v time > d:\test.log

  运行使用某个 App,实时获取该 App 的日志信息(cmd 里面的返回信息):adb shell monkey -p com.android.calendar -v 1000 > d:\test.log

  5、adb 常用命令

  查看当前连接的设备:adb devices

  安装软件:adb install 路径\xxx.apk

  卸载软件:adb uninstall <包名>

  从电脑上发送文件到设备:adb push <本地路径> <远程路径> adb push D:\test.txt /sdcard/

  从设备上下载文件到电脑:adb pull <远程路径> <本地路径> adb pull /sdcard/test.txt D:

  实时获取日志:adb logcat -v time > D:\test.log

  登录终端设备 shell:adb shell

  查找包名/活动名:adb logcat | findstr START (脚本中, cmp= 后面的值就是包名/activity 名称)

  启动 App adb shell am start -n packageName/activity

  关闭 App adb shell am force-stop 包名

  监控 App 启动时间 adb shell am start -W packageName/activity

  Monkey 命令 adb shell monkey -v -p mypackage 50

  6、App 崩溃(闪退),可能是什么原因导致的?

  缓存垃圾过多:由于手机系统的特性,如果长时间不清理垃圾文件,会导致越来越卡,也会出现闪退情况。

  运行的程序过多,导致内存不足。

  应用版本兼容问题:如果应用版本太低,会导致不兼容,造成闪退。此外,有些新版本 在调试中,也会造成应用闪退。

  App 中访问网络的地方,组件中的 ImageView 是否可以正常的下载并显示到 App页面上。

  App 的 sdk 和手机的系统是否兼容。

  7、软件接口是什么?

  在做数据查询时,建议用 get 方式;而在做数据添加、修改或删除时,建议用 post 方式。

  8、常见的 post 提交数据方式? ?

  application/x-www-form-urlencoded

  multipart/form-data

  application/json

  text/xml

  9、cookie 和 session 的区别?

  cookie 数据存放在客户的浏览器上,session 数据存放在服务器上。

  cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。

  session 会在一定时间内保存在服务器上。当访问增多,会比较占用你的服务器性能,考虑到减轻服务器性能方面应当使用 cookie。

  单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie ,可以将登陆信息等重要信息存放为 session;其他信息需要保存,可以放在 cookie。

  10、请描述你们公司是如何做接口测试的?

  获取接口规范。

  设计接口测试用例(主要从用户角度出发看接口能否实现业务需求,用例设计就是黑盒用例)。

  各种入参验证(正常情况,异常情况包括输入参数个数不对,类型不对,可选/必选,还有考虑参数有互斥或关联等的情况)。

  接口返回值各种验证(符合接口文档需求)。

  了解接口实现逻辑,实现逻辑覆盖(语句/条件/分支/判定/...)。

  接口的安全性,接口性能。

  采用工具或者自写代码来验证

  发现问题报 bug ,并进行状态跟踪。

  11、怎样设计接口测试用例?

  是否满足前提条件。有些接口需要满足前提,才可成功获取数据。常见的,需要登录 Token。

  是否携带默认值参数。

  业务规则、功能需求。这里根据时间情况,结合接口参数说明,可能需要设计 N 条正向用例和逆向用例。

  参数是否必填。

  参数之间是否存在关联。有些参数彼此之间存在相互制约的关系。

  参数数据类型限制。

  参数数据类型自身的数据范围值限制。

  12、接口测试,都要测什么?

  可用性测试:根据约定的协议、方法、格式内容,传输数据到接口经处理后返回期望的结果。

  接口功能是否正确实现。

  返回值测试 - 返回值除了内容要正确,类型也要正确,保证调用方能够正确地解析。

  参数值边界值、等价类测试。

  错误和异常处理测试。

  输入异常值(空值、特殊字符、超过约定长度等),接口能正确处理,且按预期响应。

  输入错误的参数,接口能正确处理,并按预期响应。

  多输入、少输入参数,接口能正确处理,且按预期响应。

  错误传输数据格式(如 json 格式写成 form 格式)测试。

  安全性测试,主要指传输数据的安全性。

  敏感数据(如密码、秘钥)等是否加密传输。

  返回数据是否含有敏感数据,如用户密码、完整的用户银行账号信息等。

  接口是否对传入的数据做安全校验,如身份 ID 加 token 类似校验。

  接口是否防止恶意请求(如大量伪造请求接口致使服务器崩溃)。

  性能测试,如接口的响应时间、并发处理能力、压测处理情况。

  并发请求相同的接口(特别为 post 请求),接口的处理情况(如插入了相同的记录导致数据出错,引发系统故障)。

  接口响应时长在用户可忍受的范围内。

  对于请求量大的接口做压测,确定最大的瓶颈点是否满足当前业务需要。

  13、在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?

  用一个全局变量来处理依赖的数据,比如登录后返回 token,其它接口都需要这个 token,那就用全局变量来传 token 参数。

  14、如何模拟弱网做测试?

  Fiddler 和 Charles 都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测试。

  15、平常做接口测试的过程中发现过哪些 Bug?

  常规错误,接口没实现,没按约定返回结果,边界值处理出错等。

  输入异常值(空值、特殊字符、超过约定长度等),接口抛错,没做封装处理。

  输入错误的参数、多输入、少输入参数,接口可能出现的错误。

  安全性问题,如明文传输、返回结果含有敏感信息,没对用户身份信息做校验,没做恶意请求拦截等。

  性能问题,如接口并发插入多条相同操作,响应时间过长,接口压测出现瓶颈等。

  16、当一个接口出现异常时候,应如何分析异常?

  先抓包,用 Fiddler(Charles)工具抓包,或者浏览器上 F12 调试工具。

  App 上的话,可以用 Fiddler(Charles)做代理,通过手机设置代理去看请求和返回报文。

  查看后端日志,如 Linux 系统通过 xshell 连上服务器,查看接口日志,查看是否有报错信息。(命令:tail -f 日志文件)

  17、列出几个 JMeter 监听器?

  聚合报告

  汇总报告

  查看结果树

  用表格查看结果

  图形结果

  BeanShell Listener

  今天分享的软件测试工程师的面试题和答案就到这里啦,大家觉得有用的话记得关注我们,小编后续还会给大家整理更多的更全面的面试题以及答案哦。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-07-15 13:37:43
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-07-15 13:37:43
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-07-15 13:37:43
  • 建筑工程专业朱同学成功转行为软件测试人!2021-07-15 13:37:43
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-07-15 13:37:43
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-07-15 13:37:43
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-07-15 13:37:43
  • 文科生转行软件测试照样拿下高薪15K!2021-07-15 13:37:43
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-07-15 13:37:43
  • 毕业1年,迷茫的他最终选择转行软件测试2021-07-15 13:37:43