软件测试面试复盘

作者:爱塔居

专栏:测试

1、计算机网络七层协议:物理层、数据链路层、网络层、传输层、表示层、会话层、应用层(面试问过这个)

2.TCP/IP四层模型:应用层、传输层、网络层、网络接口层(笔试问过)

3.Http和Https的区别:

①Http运行于TCP之上,明文传输,客户端和服务器都无法验明对方的身份。Http运行于SSL之上,SSL运行于TCP之上,是添加了加密和认证机制的Http

②Http的端口是80端口,Https的端口是443端口

③消耗资源不同。Https通信由于加减密处理会消耗更多的CPU和内存资源

④开销不同。Https需要向机构购买证书。

4.对称密钥和非对称密钥(面试问过)

对称加密和非对称加密_爱塔居的博客-CSDN博客

5.TCP和UDP区别(面试问过两回)

①TCP面向连接,UDP无连接,发送数据时不需要建立连接

②TCP提供可靠服务,通过TCP连接传送的数据,无差错、不丢失、不重复,且按序到达,UDP尽自己最大努力交付,不保证可靠交付

③UDP具有较好的实时性,工作效率比TCP高,适用于高速传输和实时性较高的通信或广播通信。

④每一条TCP连接都是点对点的。而UDP支持一对多、多对一、一对一、多对多的交互通信

⑤TCP对系统资源要求较多,UDP对系统资源要求较少。

6.三次握手和四次挥手/为什么三次,为什么四次(面试问过)

详谈三次握手与四次挥手_爱塔居的博客-CSDN博客

7.接口和抽象类的区别(面试问过)

 ①抽象类可以定义构造函数,接口不能定义构造函数

②抽象类可以有抽象方法和具体方法,而接口中只能有抽象方法

③抽象类中的成员权限可以是public、默认、protected(抽象类中抽象方法就是为了重写,所以不能被private修饰),而接口中的成员只能是public(方法默认:pubic abstrat、成员变量默认:public static final)

④抽象类中可以包含静态方法,而接口中不可以包含静态方法

⑤类可以实现很多个接口,但只能继承一个抽象类

8.JDK、JRE、JVM三者之间的关系

JDK是Java开发工具包,是Java的核心,包括了JRE、Java工具和 Java基础类库

JRE是Java运行环境,包含JVM标准实现,以及Java核心类库

JVM是Java虚拟机,是整个Java实现跨平台的最核心的部分。

9.重写和重载的区别(面试问过)

重写发生在父类子类之间,方法名必须相同,返回值类型必须相同,参数列表必须相同,访问权限不能比父类中被重写的方法的访问权限更低。构造方法不能被重写。

重载具有相同的方法名,方法的参数列表必须不同,访问修饰符、返回值类型可以相同也可以不同

10.进程和线程的区别

进程是程序运行和资源分配的基本单位。线程是cpu调度和分派的基本单位。

11.创建线程的几种方式(面试问过)

①通过继承Thread类创建线程

②通过Runnable接口创建线程

③通过Callable和Future创建线程

④通过线程池创建线程

12.Jvm的主要组成部分

①类加载器②运行时数据区③执行引擎④本地库接口

13.HTTP状态码(面试问过)

1XX:消息状态码

2XX:成功状态码

3XX:重定向状态码

4XX:客户端错误状态码

5XX:服务端错误状态码

比较常见的具体状态码:200:请求成功;301:永久重定向;302:临时重定向;404:无法找到此页面;405:请求的方法类型不支持;500:服务器内部出错

14.MySQL事务的四大特征

①原子性:事务中的所有操作要么全部执行成功,要么全部失败回滚,不能只执行其中一部分操作

②隔离性:事物间是互相隔离的,每个事务对其他事务的操作都是透明的,可以防止并发执行的事务之间产生脏读、不可重复读、幻读等问题

③一致性:事务执行前后,数据路的完整性约束没有被破坏,数据总是从一个一致性状态转移到另一个一致性状态

④持久性:事务完成后,对数据库的修改将永久保存在数据库中,即使系统故障也不会丢失。

15.查询语句知识点(笔试考过选择)

[NOT] LIKE '<匹配串>' [ESCAPE '<换码字符>']

注意%和_这两个通配符的区别。%任意长度,_任意单个字符,也要注意语句里没有as

举例:查询所有姓刘的学生的姓名、学号和性别

select Sname,Sno,Ssex from Student where Sname like '刘%';

16.聚合函数的使用(笔试考过写mysql语句)

COUNT(*) 统计元组个数

COUNT([DISTINCT|ALL] <列名>)   统计一列中值的个数

SUM([DISTINCT|ALL] <列名>)   计算一列值的总和(此列必须是数值型)

AVG([DISTINCT|ALL] <列名>)  计算一列值的平均值(此列必须是数值型)

MAX([DISTINCT|ALL] <列名>)  求一列值的最大值

MIN([DISTINCT|ALL] <列名>)  求一列值得最小值

举例:查询学生总人数

SELECT COUNT(*) FROM Student;

查询选修了课程的学生人数

SCLECT COUNT(DISTINCT Sno)

FROM SC;

计算选修1号课程的学生平均成绩

SELECT AVG(Grade) FROM SC WHERE CNO='1';

17.一条好的测试用例可以透露哪些信息(面试问的)

①功能测试:验证软件的功能是否按照预期工作,是否满足用户需求

②边界测试:测试软件在边界情况下的表现,找出可能存在的错误或问题

③异常处理:测试软件在处理异常情况下的表现,包括错误输入、无效操作。

④性能测试:测试软件在各种负载情况下的性能表现,包括响应时间、吞吐量

⑤兼容性测试:测试软件在不同平台、操作系统或浏览器上的兼容性

⑥安全测试:测试软件的安全性,包括身份验证、权限管理等。

18.(面试问的)测试用例设计的重点:确认测试范围、测试目标和测试方法,一个好的测试用例设计提高测试的效率和准确性,帮助发现软件中的缺陷,提高软件的质量。

19.软件测试用例包含的内容有哪些?(面试问的)

软件测试的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。

用例编号有一定的规则,一般是项目名称+测试阶段类型+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪

测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。

重要级别:定义测试用例的优先级别,如果软件需求的优先级为高,则针对该需求的测试用例优先级也为高。

测试输入:提供测试执行的各种输入条件。

操作步骤:提供测试执行过程的步骤。

预期结果,提高测试执行的预期结果,预期结果应该根据软件需求中的输出得出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值