软件测试面试题

这篇具有很好参考价值的文章主要介绍了软件测试面试题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、描述 TCP/IP 协议的层次结构,以及每一层中重要协议

TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网的核心协议套件,它定义了在网络中进行通信的规则和标准。TCP/IP协议栈按照层次结构划分,每一层负责不同的功能,下面是TCP/IP协议的四个主要层次及其重要协议:

1. 网络接口层(Network Interface Layer)
   - 功能:负责处理网络物理接口和数据链路层的细节,将数据帧从一台主机传输到另一台主机。
   - 重要协议:Ethernet(以太网)、Wi-Fi、PPP(点对点协议)等。

2. 网络层(Internet Layer)
   - 功能:负责在不同的网络之间进行数据包的路由和转发,提供主机之间的逻辑通信。
   - 重要协议:IP(Internet Protocol,网络协议)、ICMP(Internet Control Message Protocol,Internet控制消息协议)、ARP(Address Resolution Protocol,地址解析协议)等。

3. 传输层(Transport Layer)
   - 功能:负责在网络中建立端到端的数据传输连接,确保数据的可靠传输和有序交付。
   - 重要协议:TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)等。

4. 应用层(Application Layer)
   - 功能:提供应用程序与网络之间的接口,支持特定的网络应用和服务。
   - 重要协议:HTTP(Hypertext Transfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、DNS(Domain Name System,域名系统)等。

这些层次构成了TCP/IP协议栈,通过分层的结构,TCP/IP协议栈能够实现网络通信的灵活性、可扩展性和互操作性。不同层次上的协议相互配合,完成了数据在网络中的传输和处理。

二、测试的数据你放在哪?

测试数据存放总结:
1.对于账号密码,这种管全局的参数,可以用命令行参数,单独抽出来,写的配置文件里(如 ini)
2.对于一些一次性消耗的数据,比如注册,每次注册不一样的数,可以用随机函数生成
3.对于一个接口有多组测试的参数,可以参数化,数据放 yaml,text,json,excel 都可以
4.对于可以反复使用的数据,比如订单的各种状态需要造数据的情况,可以放到数据库,每次数据 初始化,用完后再清理
5.对于邮箱配置的一些参数,可以用 ini 配置文件
6.对于全部是独立的接口项目,可以用数据驱动方式,用 excel/csv 管理测试的接口数据
7.对于少量的静态数据,比如一个接口的测试数据,也就 2-3 组,可以写到 py 脚本的开头,十年 八年都不会变更的

总之不同的测试数据,可以用不同的文件管理

三、HTTP 有哪些请求方法,分别代表什么?

HTTP(Hypertext Transfer Protocol)定义了一组请求方法(也称为HTTP动词或HTTP谓词),用于指定客户端对服务器资源的操作。以下是常见的HTTP请求方法及其含义:

1. GET(获取):用于请求服务器上的资源,通常用于获取网页、图片、文件等数据。GET方法是最常见的HTTP请求方法。

2. POST(提交):用于向服务器提交数据,通常用于提交表单数据、上传文件等。POST方法将数据作为请求体发送到服务器。

3. PUT(更新):用于向服务器上传或更新资源。PUT方法要求在请求中指定要更新的资源的完整表示。

4. DELETE(删除):用于请求服务器删除指定的资源。

5. HEAD(获取头部信息):与GET方法类似,但只请求获取服务器响应的头部信息,不返回实际内容主体。HEAD方法常用于检查资源的元数据,如验证资源是否存在或获取资源的元数据信息。

6. PATCH(部分更新):用于对资源进行部分更新。PATCH方法类似于PUT方法,但只更新请求中指定的资源的部分内容。

7. OPTIONS(选项):用于请求服务器返回支持的HTTP方法列表,或者请求服务器返回与指定资源相关的通信选项。

8. TRACE(跟踪):用于让服务器返回其接收到的请求,主要用于诊断和调试。

除了上述常见的HTTP请求方法,还有一些不太常见的方法,如CONNECT、PROPFIND、PROPPATCH等,它们具有特定的用途,但在日常应用中使用较少。

需要注意的是,HTTP请求方法的使用应符合HTTP协议的规范,且服务器必须支持相应的方法才能正确处理请求。

四、接口自动化测试的流程?

基本的接口功能自动化测试流程为:需求分析-->用例设计-->脚本开发-->测试执行-->结果分析

五、接口测试用例的编写要点有哪些?

1)必填字段:请求参数必填项、可选项
2)合法性:输入输出合法、非法参数
3)边界:请求参数边界值等
4)容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理
5)响应数据校验:断言、数据提取传递到下一级接口...
6)逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况
7)性能:对接口模拟并发测试,逐步加压,分析瓶颈点
8)安全性:构造恶意的字符请求,如:SQL 注入、XSS、敏感信息、业务逻辑(如:跳过某些关键步骤; 未经验证操纵敏感数据)
* 测试每个参数类型不合法的情况(类型不合法容易遗漏 NULL 型)
* 测试每个参数取值范围不合法的情况
* 测试参数为空的情况
* 测试参数前后台定义的一致性
* 测试每个参数的上下限(这里容易出致命的 BUG,如果程序处理不当,可能导致崩溃)
* 如果两个请求有严格的先后顺序,需要测试调转顺序的情况

六、使用ping命令后返回的是什么东西?

`ping`命令是一种网络诊断工具,用于测试主机之间的连接性和网络延迟。当你在命令行中执行`ping`命令时,它会发送网络控制协议(ICMP)回显请求消息到指定的目标主机,并等待该主机发送回相应的回显应答消息。

当`ping`命令成功地发送回显请求并接收到回显应答时,它会显示一条消息,指示成功发送和接收的回包数量,以及往返时间(往返时间是指从发送请求到接收到回应所经过的时间)。这些信息可以帮助你评估与目标主机之间的网络连接质量。

`ping`命令的输出通常包含以下信息:
- 目标主机的IP地址或主机名
- 每个回包的序列号
- 发送回包的时间戳
- 往返时间(通常以毫秒为单位)
- 回包丢失的情况(如果有的话)

`ping`命令会一直发送回显请求,直到你手动停止它,或通过设置计数或时间限制来控制发送回显请求的次数或持续时间。你可以根据输出信息来判断网络连接的稳定性和延迟情况。

当使用ping命令时,指定的目标主机可以是一个 IP 地址或一个域名(网址)。如果你提供的是域名(例如:www.example.com),ping命令会解析该域名并获取相应的 IP 地址,然后将回显请求发送到该 IP 地址所对应的服务器。

所以,当ping命令返回目标主机的 IP 地址时,它实际上是显示了你所提供的域名对应的服务器的 IP 地址。这可以帮助你验证域名解析是否正确,并与服务器建立网络连接。

七、POST 和 GET 有什么区别

POST和GET是HTTP协议中的两种常见的请求方法,它们有以下区别:

1. 数据传输位置:GET方法通过URL传输数据,将数据附加在URL的末尾,以查询字符串的形式发送。例如:http://example.com?param1=value1&param2=value2。而POST方法将数据作为请求的正文发送,不会显示在URL中。

2. 数据传输长度:GET方法对传输的数据长度有限制,不同的浏览器和服务器对URL长度的限制有不同的规定,通常在2KB到8KB之间。而POST方法没有对数据长度的限制。

3. 数据安全性:GET方法的数据在URL中可见,因此不适合传输敏感信息,如密码等。POST方法将数据放在请求的正文中,对数据的可见性有一定程度的保护,比GET方法更安全。

4. 数据存储位置:GET方法请求的数据会被浏览器缓存,数据会保存在浏览器的历史记录中。POST方法请求的数据不会被缓存

5. 请求语义:GET方法是一种幂等的请求,即多次重复请求产生的结果与一次请求的结果相同。POST方法一般用于向服务器提交数据,可能会对服务器的状态进行修改,因此不是幂等的。

总体而言,GET方法适用于请求获取数据,而POST方法适用于向服务器提交数据。根据具体的应用场景和需求,选择合适的请求方法可以更好地实现功能和保护数据的安全性。

八、Session 与 Cookie 有什么区别?

Session和Cookie是两种用于在Web应用程序中管理用户状态和跟踪的技术。

Session是一种服务器端的状态管理机制,它用于在用户与服务器之间跟踪会话状态。当用户访问一个网站时,服务器会为该用户创建一个唯一的会话标识符,通常是一个会话ID。服务器使用这个会话ID来存储和检索与该用户相关的数据,例如用户的登录状态、购物车内容等。会话数据存储在服务器上,用户的浏览器只保存一个指向会话的标识符(通常是一个名为session ID的Cookie)。通过将会话数据存储在服务器端,可以确保用户的数据不容易被篡改,并且在用户关闭浏览器或会话超时时可以自动清除。

Cookie是一种客户端的状态管理机制,它用于在用户的浏览器中存储小段数据。服务器可以将Cookie发送给用户的浏览器,并要求浏览器将其存储起来。下次用户再次访问相同的网站时,浏览器会将相应的Cookie发送给服务器,以便服务器可以读取其中的数据并作出相应的响应。Cookie通常用于跟踪用户的身份认证状态、保存用户的偏好设置等。与会话不同,Cookie的数据是存储在用户的浏览器中的,因此可以在不同的会话和浏览器之间进行持久化。

总结一下,Session和Cookie的区别如下
- 存储位置:Session的数据存储在服务器端,Cookie的数据存储在客户端(浏览器)。
- 数据安全性:由于Session的数据存储在服务器端,相对来说更安全,Cookie的数据存储在客户端,可能容易被篡改。
- 存储能力:Session可以存储较大量的数据,而Cookie由于浏览器的限制,每个Cookie的存储容量有限制(通常为4KB)。
- 生命周期:Session的生命周期通常由服务器管理,可以设置会话的过期时间;Cookie可以设置一个特定的过期时间,或者在没有设置过期时间时作为会话Cookie,仅在用户关闭浏览器时过期。
- 跨会话和浏览器:Session可以跨不同的会话和浏览器进行访问,而Cookie只在特定的会话和浏览器中可用。

在实际应用中,Session和Cookie经常一起使用。服务器可以使用Cookie来存储会话ID,使得每次请求时可以根据会话ID来检索相应的会话数据。这样可以结合Session的安全性和服务器端存储能力,同时利用Cookie的持久化和跨浏览器特性来提供更好的用户体验。

九、启动app时出现闪退,是什么原因导致的?

闪退是指在启动应用程序时,应用程序突然关闭或崩溃的情况。闪退可能由多种原因导致,以下是一些可能的原因和解决方法:

  1. 资源问题:应用程序需要大量内存或处理器资源,但设备的资源不足以支持其正常运行。解决方法包括关闭其他后台运行的应用程序,清理设备上的缓存,或考虑在较新且配置更高的设备上运行应用程序。

  2. 兼容性问题:应用程序可能不与设备的操作系统版本或硬件规格兼容。确保应用程序与设备的操作系统版本兼容,并检查应用程序的硬件要求。

  3. 编程错误:应用程序可能存在编程错误,例如内存泄漏、无限循环或空指针引用等。这些错误可能会导致应用程序崩溃并闪退。在这种情况下,开发人员需要检查和修复代码中的错误。

  4. 第三方库或插件问题:如果应用程序使用了第三方库或插件,那么这些库或插件可能存在与设备或其他库的冲突,导致应用程序闪退。更新库或插件到最新版本,或与开发者社区联系以获取支持和解决方案。

  5. 数据问题:应用程序在启动时可能尝试加载损坏或无效的数据,导致应用程序崩溃。清除应用程序的缓存或数据,并尝试重新启动应用程序。

十、通过输入a、 b、c的值来判断是否为等腰三角形,要求a、b、c为正整数且取值范围为(0,9999],请建立测试用例进行测试

等价类划分、边界值分析:

1.这道题的输入为a、b、c的值,值的要求数据类型满足正整数、长度满足(0,9999];

细分正整数、长度,得出输入值的要求(1)(0,9999] (2)整数 (3)数字 (4)3个数

2.三角形的要求,(5)任意2边之和大于第3边

3.等腰三角形的要求,(6)任意2边相等

满足以上要求,则正确输出等腰三角形

软件测试面试题

软件测试面试题

在设计测试用例数据的时候,遵循下面条件

先新增一条测试用例覆盖尽量多的有效类,再逐步补充用例,确保所有有效类覆盖完全

新增一条测试用例只覆盖一个无效类,继续新增,确保所有的无效类覆盖完全。

覆盖有效等价类的测试用例

软件测试面试题

 覆盖无效类的测试用例

软件测试面试题

软件测试面试题文章来源地址https://www.toymoban.com/news/detail-458497.html

到了这里,关于软件测试面试题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 山东大学软件学院2021-2022软件测试期末试题

    1.系统缺陷 2.测试自动化 3.回归测试 4.系统测试 5.I18N 1.单元测试与代码调试的区别 2.简述比较集成测试的不同模式、不同方法 3.比较4种导向中的正向思维、逆向思维,并说明为什么这两种导向现今不再流行 4.ST、ET的优缺点比较 给出了一段程序。每一小问给了测试用例,问是

    2024年02月09日
    浏览(26)
  • 软件测试常见基础知识面试题

    为了发现程序中的错误而执行程序的过程 1)需求调查 2)制定初步的项目计划 3)测试准备 4)测试设计 5)测试实施 6)测试评估 单元测试、集成测试、确认测试、系统测试、验收测试 单元测试:是用来对一个模块,一个函数或者一个类来进行正确性检验的测试工作 集成测

    2024年02月12日
    浏览(30)
  • Office办公软件测试题

    一、单选题 1.要将一篇文档中,所有的\\\"微软\\\"都被录入员误输为\\\"徽软\\\",如何最快捷地改正()。 A.用[定位]命令 B.用[开始]菜单中的[替换]命令 C.单击[复制],再在插入点单击[粘贴] D.用插入光标逐字查找,分别改正 2.在表格中一次性插入3行,正确的方法是()。 A.选择[表格

    2024年02月11日
    浏览(42)
  • 山东大学软件学院2022软件测试技术期末试题回忆

    前言:本篇博客记录2022大三下软件测试技术期末试题。 复习资料:山东大学软件学院软件测试技术期末复习知识总结 一(15\\\') 1、软件缺陷 2、系统测试 3、回归测试 4、软件国际化 5、测试自动化 二(20\\\') 1、单元测试和代码调试 2、比较集成测试的不同模式,简述集成测试

    2024年02月09日
    浏览(47)
  • 软件测试期末试题及答案(史上最全)

    软件缺陷是由很多方面造成的,以下哪个方面是造成软件缺陷的最多 的地方( A ) A. 规格说明书 B. 系统设计结果 C. 编写代码 D. 其他 覆盖准则最强的是( D ) A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 路径覆盖 实际的逻辑覆盖测试中,一般以(C )为主设计测试用例。 A. 条件

    2024年02月02日
    浏览(32)
  • 软件测试最全面试题及答案整理(2023最新版)

    目录 1、你的测试职业发展是什么? 2、你认为测试人员需要具备哪些素质 3、你为什么能够做测试这一行 4、测试的目的是什么? 5、测试分为哪几个阶段? 6、单元测试的测试对象、目的、测试依据、测试方法? 7、怎样看待加班问题 8、结合你以前的学习和工作经验,你认为如何

    2024年02月05日
    浏览(40)
  • 2023年软件测试常见面试题100%问必背全套教程

     随着数字化时代的到来,软件测试越来越受到重视。在未来的几年里,软件测试将继续成为信息技术领域中的热门职业之一。如果你是一名正在寻找或准备进入软件测试行业的人,那么这套常见面试题全套教程对你来说会非常有用。 这套教程旨在帮助你了解2023年软件测试面

    2024年02月06日
    浏览(29)
  • 工信部教育与考试中心-软件测试工程师考试题A卷-答

    软件测试工程师考试题 姓名________________   学号_________________  班级__________________ 题号 一 二 三 四 五 总分 分数 说明:本试卷分五部分,全卷满分100分。考试用时100分钟。 注 意 事 项:1、本此考试为闭卷考试              2、请各位考生遵守考场规则          

    2024年02月05日
    浏览(34)
  • 【美团面试】软件测试面试题

    功能测试(Function test) 0. 什么都不输入,点击提交按钮,看提示信息。(非空检查) 1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。(正常输入) 2.输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。(错误校验) 3.登录成功后能否

    2024年02月16日
    浏览(34)
  • 【软件测试】网络协议

    网络协议是规定网络中的数据如何传输、格式和规则的一套标准。这些协议定义了数据通信的方法和格式,确保不同设备和系统能够有效地进行交流。网络协议按照功能和所处的网络模型层级可分为多种类型,以下是一些基本和常见的网络协议: 1. 传输控制协议/因特网协议

    2024年02月19日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包