2021阿里内部软件测试面试题和答案,全文背熟阿里offer指日可待

140 阅读12分钟

2021阿里内部软件测试面试题和答案,全文背熟阿里offer指日可待

求职,类似于打仗,是一场挑战自己的战斗,也是一场跟用人单位的博弈,更是一场千人过独木桥的厮杀、混战。《孙子·谋攻篇》中早就说了:"知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼,不知己,每战必殆。"。

2021阿里内部软件测试面试题和答案,全文背熟阿里offer指日可待

在当今竞争激烈的软件测试职场中,同学们想谋一份令他人羡慕、让自己欣喜若狂的工作,事先充分准备是十分必要的。若能在笔试、面试中不断认识并提高自己,不断了解用人单位和面试对手、判官,不断改进进攻对策,那么离理想的职位也就不远了。

2021阿里内部软件测试面试题和答案,全文背熟阿里offer指日可待

在这里呢,专门给各位即将踏入面试征程的软件测试小伙伴们准备了一份最全的软件测试面试问题和答案,通读全文并背熟后,保证你驰骋测试面试场,大把offer手到擒来!.

什么是软件测试?

为了发现程序中的错误而执行程序的过程

 软件测试的目的?

首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布

特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分

析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。

其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。

详细而严谨的可靠性增长模型可以证明这一点。

测试的目的是按照用户所需软件的质量,检查开发软件过程出现的 bug, 使得开发人员

及时修改,可以避免在开发结束的时候发现软件存在质量问题,避免公司不必要的损失。

赢得用户对公司产品的认可。

测试的目的是以最少人力、物力和时间找出软件中潜在各种错误和缺陷,通过修正种

错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的

商业风险。

测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。

实施测试收集到的测试结果数据为可靠性分析提供了依据。

测试不能表明软件中不存在错误,它只能说明软件中存在错误。

软件质量应该从哪些方面来评价?

可靠性、安全性、性能、易用性、外观、稳定性

什么是“软件质量保障”?

软件质量保障涉及到整个软件开发过程,包括监视和改善过程、确保任何经过认可的标准和步骤都被遵循、并且保证问题被发现和被处理。从本质上说,软件质量保障是“预防”。

 为什么软件会有毛病?

  1. 交流错误或者没有进行交流,

  2. 软件的复杂性 编程错误

  3. 需求变更 客户恐怕不明白改变需求的影响,也许是知道但依然需要变更 ──会导致重新设计、重订工程进度表、对其他项目的影响、已完成的工作需要重做或者放弃、对硬件需求的影响等等。如果在项目中出现许多小的改变或一个大的改变,在项目各部分中出现已知或未知的相关的问题,可能会相互影响并导致出现问题。而且,不断地变更也会增加软件的复杂性,可能会导致错误的出现。这样就会影响技术人员的积极性。在一些快速变化的商业环境里,持续变更需求的影响是致命的。在这种情况下,管理者必须知道它的危险性。质量保障和测试工程师必须与此相适应,并安排持续的广泛的测试,以克服不可避免产生的问题。

  4. 时间压力

因为有许多猜测成分,软件开发项目的进度很难安排得理想。当最后期限快到的时候,压力逐渐增大,错误随之产生

  1. 自负心理、 代码文档质量差、 软件开发工具

 比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系

黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。

白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。

单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。

集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。

系统测试:在所有都考虑的情况下,对系统进行测试。

验收测试:第三方进行的确认软件满足需求的测试。

测试在开发阶段的作用

  1. 项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。

  2. 需求分析阶段:确定测试需求分析、系统测试计划的制定,评审后成为管理项目。

  3. 详细设计和概要设计阶段:确保集成测试计划和单元测试计划完成。

  4. 编码阶段:由开发人员进行自己负责部分的测试代码。在项目较大时,由专人进行编码阶段的测试任务。

5)测试阶段(单元、集成、系统测试):依据测试代码进行测试,并提交相应的测试状态报告和测试结束报告。

 一个完整的开发流程是什么样的?

\

2021阿里内部软件测试面试题和答案,全文背熟阿里offer指日可待

 测试与开发各个阶段的关系

\

2021阿里内部软件测试面试题和答案,全文背熟阿里offer指日可待

查看某端口号?

netstat -anp | grep port_number

\

查看某进程号?

ps -ef | grep ps_name

ps -ef | grep ps_number

 接口测试中依赖登录状态的接口如何测试?

依赖登最状态的接口,本质上是在每次发送请求时需要带上存储有账户有效信息的Session或Cookie才能发送成功,在构建POST请求时添加必要的Session或Cookie

 依赖于第三方数据的接口如何进行测试?

可以利用一些MOCK工具(如:JSON Server、Easy Mock)来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依赖

解释什么是SOAP?

SOAP代表简单对象访问控制,它是一种基于XML的协议,用于在计算机之间交换信息。

解释什么是REST API?

这是开发人员执行请求并接收响应的一组功能。在REST API中,通过HTTP协议进行交互

REST - 代表状态转移,它正快速成为API创建的标准。

什么是自动化测试框架?


测试自动化框架是设置特定产品的自动化规则的集成系统。该系统集成了功能库,测试数据源,对象详细信息和各种可重复使用的模块。这些组件用作需要组装以代表业务流程的小型构建块。该框架为测试自动化提供了基础,并简化了自动化工作。
也是为自动化软件测试提供支持的假设框架,概念和工具的主要优点是维护成本低。如果任何测试用例发生变化,那么只需要更新测试用例文件,驱动程序脚本和启动脚本将保持不变。理想情况下,如果应用程序发生更改,则无需更新脚本。
选择正确的框架/脚本技术有助于降低成本。与测试脚本相关的成本是由于开发和维护工作。测试自动化期间使用的脚本的方法对成本有影响。
通常使用各种框架/脚本技术:
线性(程序代码,可能由使用记录和播放的工具生成)
结构化(使用控制结构 - 通常是“if-else”,“switch”,“for”,“while”条件/语句)

数据驱动(数据存储在数据库,电子表格或其他机制中,比如xml)
关键字驱动
行为驱动
混合(使用上述两种或更多种模式)
自动化测试框架主要负责:
定义表达期望的格式
创建一个挂钩或驱动被测应用程序的机制
执行测试
报告结果

 Selenium是什么,流行的版本有哪些?

Selenium是基于Web的最流行的UI自动化测试工具。它提供了一组支持多种平台的公开API(例如Linux,Windows,Mac OS X等)。此外,像Google Chrome,Mozilla Firefox,Internet Explorer和Safari等所有现代浏览器都可以用来运行Selenium测试。它也涵盖了Android平台,其中Appium是实现Selenium Webdriver界面的工具,用于移动自动化。

值得注意的是,除了许多后来的小型版本之外,硒还有三个主要版本:

Selenium 1.0或Selenium RC,于2004年初发布,提供了一个使用服务器与浏览器交换命令和响应的API集。

Selenium 2.0或Selenium Webdriver,在2011年中推出,并在Selenium功能中引入了一系列重大改进。这些新的API完全取代了服务器组件,并与目标浏览器本地交互。

Selenium 3.0,这个版本是在2016年末发布的大版本。它带来的主要变化是引入Webdriver API的W3C规范,用于浏览器自动化。也就是说,每个主要的浏览器都会有自己的Webdriver API来实现功能。

并发用户数是什么?跟在线用户数什么关系?

并发主要是针对服务器而言,是否并发的关键是看用户操作是否对服务器产生了影响。因此,并发用户数量的正确理解为:在同一时刻与服务器进行了交互的在线用户数量,这种交互既可以是单向的传输数据,也可以是双向的传送数据。

并发用户数是指系统运行期间同一时刻进行业务操作的用户数量。

该数量取决于用户操作习惯、业务操作间隔和单笔交易的响应时间。

使用频率较低的应用系统并发用户数一般为在线用户数的5%左右。

使用频率较高的应用系统并发用户数一般为主线用户数的10%左右

LoadRunner请求无法找到如何解决?

在录制Web协议脚本回放脚本的过程中,会出现请求无法找到的现象,而导致脚本运行停止。

错误现象:Action.c(41): Error -27979: Requested form. not found [MsgId: MERR-27979]

Action.c(41): web_submit_form. highest severity level was “ERROR”,0 body bytes, 0 header bytes [MsgId: MMSG-27178]”

这时在tree view中看不到此组件的相关URL。

错误分析:所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用HTTPS安全协议,这时则使用“URL-based script”模式进行录制。

解决办法:打开录制选项配置对话框进行设置,在“Recording Options”的“Internet Protocol”选项里的“Recording”中选择“Recording Level”为“HTML-based script”,单击“HTML Advanced”,选择“Script. Type”为“A script. containing explicit”。然后再选择使用“URL-based script”模式来录制脚本。

HTTP 和 HTTPS 的区别?

安全性上的区别:HTTPS:HTTP 协议的安全加强版,通过在 HTTP 上建立加密层,对传输数据进行加密。主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

表现形式:HTTPS 站点会在地址栏上显示一把绿色小锁,表明这是加密过的安全网站,如果采用了全球认证的顶级 EV SSL 证书的话,其地址栏会以绿色高亮显示,方便用户辨认。

SEO:在 2015 年之前百度是无法收录 HTTPS 页面的,不过自从 2015 年 5 月份百度搜索全站 HTTPS 加密后,就已经可以收录 HTTPS 了。谷歌则是从 2014 年起便开始收录 HTTPS 页面,并且 HTTPS 页面权重比HTTP 页面更高。从SEO 的角度来说,HTTPS 和HTTP 区别不大,甚至HTTPS 效果更好。

技术层面:如果要说HTTPS 和HTTP 的区别,最关键的还是在技术层面。比如 HTTP 标准端口是 80, 而 HTTPS 标准端口是 443;HTTP 无需证书,HTTPS 需要 CA 机构颁发的 SSL 证书;HTTP 工作于应用层, HTTPS 工作于传输层。

**需要更多的软件测试面试题可以【点击这里,备注掘金[]】