测试面经1130

news2025/5/25 14:01:34

深信服软件测试实习生面经

  • 1. 自我介绍
  • 2. 深入的聊一下软件测试岗位主要是干什么的?是一个怎样的工作?他的职责定位?软件测试需要哪些知识技能(软件测试是做什么的?)
  • 3. 如果开发了一个系统,没有bug也不会报错,但是他大部分的功能不是用户想要的,你觉得他的质量高吗?
  • 4. 平时有用过那些语言吗?
    • python有哪些基本的数据类型?
    • 给列表中的数据去重
  • 5. 接口测试有了解过吗?
    • 做接口测试的get和post请求,这两者有什么区别
  • 6. 数据库有了解过吗?做过哪些操作?
    • 增删改查。
  • 7. 测试场景:举办一个活动,扫二维码报名,扫完这个二维码之后,去填写姓名,地址,电话号码,最后点击提交
  • 其他

1. 自我介绍

2. 深入的聊一下软件测试岗位主要是干什么的?是一个怎样的工作?他的职责定位?软件测试需要哪些知识技能(软件测试是做什么的?)

  1. 软件测试主要职责就是 站在用户的角度,模拟用户真实操作的情况,检查程序的业务逻辑和代码逻辑提高产品的易用性。检查软件产品是否符合用户的需求,提高产品的质量,使用户满意。
    软件测试是为了发现软件系统或程序中的问题而执行程序的一个过程,测试这个软件是不是能够按照需求运行。软件测试简单点来说就是找Bug

  2. 在软件投入运行之前,对软件需求分析、指定测试计划、编写和执行测试用例、对bug进行跟踪,对软件的质量进行评估,输出测试报告

    1. 根据产品设计或需求,进行需求分析,关注项目需求的可测性,并能预先评估项目的风险,

    2. 制定测试计划编写测试用例(测试用例包含用例编号、用例标题、测试项目/模块、优先级、前置条件、测试步骤和数据、预期结果、实际结果),进行用例的评审

    3. 等待开发交付产品之后,搭建测试环境。首先进行冒烟测试,主要进行正常业务核心业务的测试,测试通过之后,执行用例,功能、性能等其他方面进行测试

    4. 缺陷进行深入定位跟踪分析和报告,协助开发分析解决问题;

    5. 测试完成之后,对测试结果进行分析,输出测试报告。

      (软件测试就是接收到软件之后,按照合格的标准,来对软件进行测试活动,在测试过程中发现软件存在的问题,也就是常说的Bug(漏洞),若发现问题,将问题提交至软件部门进行修改,修改之后再进行测试,直至软件达到合格标准。)
      能对测试流程进行改进,提高测试效率、测试覆盖和质量;跟进项目迭代,推进测试进度;服从领导安排的其他工作。(功能测试工程师)

      自动化测试工程师:根据产品和项目的特点,提出并指定自动化解决方案,完成自动化测试的实施,能够完成接口、UI等 测试方案实现及脚本设计

      对问题进行分析定位,缺陷分析和报告总结,并推动解决,提出代码改进意见

      提高测试效率,增加自动化测试的覆盖率

      指定产品性能,稳定性进行测试方案

      服从领导安排其他的工作

      性能测试工程师:负责规划并制定性能测试、兼容性测试、自动化测试等专项测试计划,并保证高效执行

      负责性能测试执行以及性能问题定位,跟进性能优化和问题解决

      搭建并完善自动化测试矿建的性能、兼容性自动化测试体系,提高转向测试的工作效率

      搭建并完善专项质量监控体系,全面监控产品质量

      挖掘项目研发过程中存在的性能问题、兼容性问题、安全性问题、提前暴露质量风险

      服从领导安排其他的工作

      安全测试工程师:对系统进行安全测试,包括黑盒测试、白盒测试、渗透测试,发现系统潜在的安全漏洞

      分析和评估测试结果,并提出风险分析报告和修复方案

      提供安全建议和解决方案,提供程序的安全性

      参与安全架构设计、安全咨询和安全培训等工作

      跟踪安全技术发展趋势,为企业提供前沿的、专业的、健全的安全建议。

      服从领导安排其他工作

    6. 软件测试需要掌握的知识技能可以分为以下几个部分,首先最重要就是测试的基础知识,脚本语言(python),软件测试工具、计算机的硬件知识、数据库知识、计算机网络、操作系统

3. 如果开发了一个系统,没有bug也不会报错,但是他大部分的功能不是用户想要的,你觉得他的质量高吗?

不高,一个质量高的系统,首先站在用户的角度要满足的就是功能需求,在满足功能需求下,也需要对一些体验性,流畅性、操作性进行提高。

4. 平时有用过那些语言吗?

python

python有哪些基本的数据类型?

数字、字符串、列表、元组、字典、集合

给列表中的数据去重

# 可以直接用set()进行数据类型的转换进行去重。
# 集合(set)是python中用于存储无序且不重复元素的容器,通过将列表转换为集合,可以自动除去列表中重复元素。
list1 = [1, 2, 2, 4, 5]
def func1(list1):
    return list(set(list1))

print('去重后的列表:',func1(list1))


# 使用字典,字典在python中是一个非常有用的数据结构,他以键值对的形式存储数据,在对列表去重时,可以将列表中的元素作为字典中的键,并给每个键分配任意一个值。由于字典中的键是唯一的,重复的元素将会被自动除去
#formkeys()函数创建一个新的字典,获取新字典的键 去重
list2 = [2, 3, 4, 5, 5, 2, 10, 2]
def func2(list2):
    unique_list = []
    for i in {}.fromkeys(list4).keys():
        unique_list.append(i)
    return unique_list
print(func(list4))

my_dict = {}.formkeys(list1) # formkeys()函数创建一个新的字典
unique_list = list(my_dict.keys()) # 字典中的键是唯一的
print(unique_list)
            


# 列表解析:python中简洁高效的方式用于快速创建新列表,在进行去重时,用列表解析来创建一个不包含重复元素的新列表,count()方法统计该元素在列表中出现的次数,只有当元素个数为1时,才将其加入新列表,从而实现列表去重
list1 = [1, 2, 3, 3, 4]
unique_list = [i for i in list1 if list1.count(i)==1]
print(unique)

# 直接使用空列表 for循环遍历,判断列表中是否存在相同的元素
# 不存在就追加到新的空列表里
list4 = [1, 2, 3, 4, 3]
def func4(list4):
    unique_list = []
    for i in list2:
        if i in unique_list:
            continue
        unique_list.append(i)
    print(unique_list)
print(func4(list4))

# sorted()排序
def func3(list3):
    unique_list = []
    temp_list = sorted(list3)
    i = 0
    while i < len(temp_list):
        if temp_list[i] not in unique_list:
            unique_list.append(temp_list[i])
        else:
            i += 1
    return unique_list

5. 接口测试有了解过吗?

做接口测试的get和post请求,这两者有什么区别

GET和POST方法的使用场景,参数,安全性、幂等性、可缓存和XMLHttpRequest是不同的。

  • GET用于搜索查询,查询参数在url中明文显示,提交速度快,提交数据有长度限制。
  • POST用于提交数据、注册、登录。非明文显示(相对于GET比较安全,但是还是可以用F12抓包抓取到),提交数据速度相对慢,提交长度没有限制

使用场景

get用于获取资源,比如说查找

post用于向服务器传输实体主体,比如说提交数据,登录、注册。post的主要目的并不是获取相应的主体内容

参数

GET和POST 的请求都能使用额外的参数,但是GET的传参时是以字符串出现在URL中的,POST的参数存储在实体主体中。

当使用GET方法时,这也就限制了GET的参数在URL中也不可能无限长,长度也是有限制的,一般长度为1M

相对来说POST的安全性更高一些,但是不能因为post参数存储在实体的主体中就认为他的安全性高,因为照样可以通过一些抓包工具(Fiddler)查看。

URL支持ASCII码,因此GET的参数如果存在中文等字符就需要实现进行编码。POST参数支持标准的字符集。

安全性

(安全的HTTP方法不会改变服务器的状态,也就是说他是可读的。)

GET方法是安全的,而POST不是。因为POST传输的是实体主体内容,这个内容可能是用户上传的表单数据,上传成功之后,服务器可能把这个数据存储到数据库中,因此状态也可能会发生改变。

安全的方法除了GET之外,还有HEAD、OPTIONS

不安全的方法除了POST之外还有PUT、DELETE

幂等性

幂等的HTTP方法,同样的请求被执行一次与连续多次的效果是一样的,服务器的状态也是一样的。也就是说,幂等方法不应该有副作用(统计用途除外)

所有安全的方法都是幂等的。

可缓存

如果要对响应进行缓存,需要满足以下条件

  • 请求报文的HTTP方法本身是可缓存的,包括GET和HEAD方法,但是 PUT 和 DELETE 不可缓存,POST 在多数情况下不可缓存的。
  • 响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501
  • 响应报文的 Cache-Control 首部字段没有指定不进行缓存。

XMLHttpRequest

(XMLHttpRequest 是一个API,他为客户端提供了在客户端和服务器之间传输数据的功能.通过URL来获取数据的简单方式,并且不会使整个页面刷新.这使得网页值更新了一部分页面不会打扰到用户.XMLHttpRequest在AJAX 中被大量使用.)

  • 在使用XMLHttpRequest的POST方法时,浏览器会发送Header载发送Data.但并不是所有的浏览器会这么做,火狐就不会
  • 而GET方法Header和Data会一起发送

6. 数据库有了解过吗?做过哪些操作?

增删改查。

  1. select name, id from students; # 查找表中的数据
    select * from students where name="LiLi"; # 查找某个学生的数据
    insert into students (id, name) values (1, 'LiMing'); # 插入数据
    DROP TABLE table_name; # 删除一个表
    delete from students; # 删除一个表
    DELETE FROM table_name WHERE condition;  # 删除某一条数据
    DELETE FROM table_nmae WHERE condition LIMIT 1; # LIMIT 1指定删除一条数据
    DELETE FROM table_name WHERE primary_key_column = (SELECT something FROM another_table WHERE condition LIMIT 1);
    

7. 测试场景:举办一个活动,扫二维码报名,扫完这个二维码之后,去填写姓名,地址,电话号码,最后点击提交

(分析测试点,界面,功能,性能,易用性,安全性,兼容性)
案例1

其他

  1. 提升点:功能测试是基于业务的,首要的就是要熟悉业务和系统,是为谁而服务的。一定要站在用户的角度。
  2. 日常工作内容:首先就是熟悉系统熟悉业务主要进行的就是功能测试,在熟悉之后做接口测试,对需求进行分析,测试用例的编写,测试用例的评审,在开发完之后进行测试,执行测试用例,提交bug,让开发去改,改完之后进行回归测试,达到要求之后,进行上线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1279123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业设计 基于Web的铁路订票管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

解读Java虚拟机垃圾回收器:探究经典算法背后的奥秘

目录 一、GC分类与性能指标 &#xff08;一&#xff09;垃圾回收器分类 &#xff08;二&#xff09;性能指标 &#xff08;三&#xff09;不可能三角 二、不同的垃圾回收器概述 三、Serial回收器&#xff1a;串行回收 四、ParNew回收器&#xff1a;并行回收 五、Parall…

可视化数据库管理客户端:Adminer

简介&#xff1a;Adminer&#xff08;前身为phpMinAdmin&#xff09;是一个用PHP编写的功能齐全的数据库管理工具。与phpMyAdmin相反&#xff0c;它由一个可以部署到目标服务器的文件组成。Adminer可用于MySQL、PostgreSQL、SQLite、MS SQL、Oracle、Firebird、SimpleDB、Elast…

水果编曲软件fl studio手机版下载

fl studio mobile手机版中文名水果编曲软件&#xff0c;它是一款非常不错的音乐编曲软件&#xff0c;凭借简单易上手的操作方式&#xff0c;强悍且实用的功能&#xff0c;深受到了音乐创作者的喜爱&#xff0c;不仅仅提供了广阔的音乐创作空间&#xff0c;可以让用户对舞曲、轻…

巧用MACD精准抄底和逃顶

一、认识MACD MACD又称平滑异同移动平均线&#xff0c;是由美国投资家杰拉尔德阿佩尔在 20 世纪 70 年代末提出的。 MACD 指标的设计基于MA均线原理&#xff0c;是对收盘价进行平滑处理&#xff08;求出加权平均值&#xff09;后的一种趋向类指标。它是股票交易中一种常见的技术…

CGAL的三维曲面细分方法

1、介绍 细分方法是从任意多边形网格生成平滑曲面的简单而强大的方法。与基于样条曲面的方法&#xff08;如NURBS&#xff09;或其他基于数字的建模技术不同&#xff0c;细分方法的使用者不需要掌握细分方法的数学知识。几何的直观性足以控制细分方法。 Subdivision_method_3适…

【U8+】用友U8删除固定资产卡片,提示:当前卡片不是本月录入的卡片,不能删除。

【问题描述】 用友U8软件&#xff0c;参照已有账套新建账套的时候&#xff0c;选择结转期初余额。 例如&#xff1a;参照已有账套的2022年新建2023年的账套。 结转期初的时候勾选了固定资产模块&#xff0c; 建立成功后登录23年新的账套后&#xff0c;删除固定资产卡片&#xf…

CSS 滚动捕获 scroll-margin

CSS滚动捕获 scroll-margin 非滚动捕获容器语法兼容性 CSS滚动捕获 scroll-margin 设置元素的滚动外边距 非滚动捕获容器 之前在 scroll-padding 中说过如何用 scroll-padding 避免锚点定位时元素贴着容器边缘的问题, 现在我们尝试用 scroll-margin 解决 <body><ma…

electerm下载和安装

electerm下载和安装 一、概述 electerm 是一款免费开源、基于electron/ssh2/node-pty/xterm/antd/ subx等libs的终端/ssh/sftp客户端(linux, mac, win)。 而且个人觉得electerm界面更好看一些&#xff0c;操作都是类似的。 二、下载安装 下载地址&#xff1a;https://elec…

opencv知识库:基于cv2.flip()函数对图像进行随机翻转(水平/垂直)

需求场景 欲对RGB格式的lena图像进行随机翻转&#xff0c;要求这些图像不翻转、水平翻转、垂直翻转的概率都为1/3。 功能代码 import cv2 import random# 读取并展示图像 img cv2.imread("lena.jpg") cv2.imshow(lena, img) cv2.waitKey(0)for i in range(6): #…

react之ReactRouter的使用

react之ReactRouter的使用 一、环境搭建二、抽象路由模块三、路由导航3.1 声明式导航3.2 编程式导航 四、导航传参4.1 searchParams 传参4.2 params 传参 五 、嵌套路由配置六、默认二级路由七、404页面配置八、俩种路由模式 一、环境搭建 1.创建项目安装依赖 npx create-rea…

【每日OJ —— 226. 翻转二叉树】

每日OJ —— 226. 翻转二叉树 1.题目&#xff1a;226. 翻转二叉树2.解法2.1.算法讲解2.2.代码实现2.3.代码提交通过展示 1.题目&#xff1a;226. 翻转二叉树 2.解法 2.1.算法讲解 我们从根节点开始&#xff0c;递归地对树进行遍历&#xff0c;并从叶子节点先开始翻转。如果当前…

Spring是怎么解决循环依赖的?

什么是循环依赖 循坏依赖就是字面意思&#xff0c;A 依赖了 B&#xff0c;B 同时也依赖了 A。 如下所示 Component public class A {// A中注入了BAutowiredprivate B b; }Component public class B {// B中也注入了AAutowiredprivate A a;又或者是下面这种 // 自己依赖自己…

Zabbix监控接收SNMPTrap消息与SNMPTT结合

一.SNMP 协议 1.协议介绍 snmp 协议是日常使用的较多的一种协议&#xff0c;绝大多数网络设备/存储等都支持 snmp 协议&#xff0c;通过此协议可以实现设备状态的监控及管理。 2.主要组成 SNMP 协议包括以下三个部分: SNMP Agent&#xff1a;负责处理 snmp 请求&#xff0c…

Python实战:批量加密Excel文件指南

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是彭涛&#xff0c;今天为大家分享 Python实战&#xff1a;批量加密Excel文件指南&#xff0c;全文3800字&#xff0c;阅读大约10分钟。 在日常工作中&#xff0c;保护敏感数据是至关重要的。本文将引导你通过…

ARP安全综合功能示例

ARP安全简介 定义 ARP&#xff08;Address Resolution Protocol&#xff09;安全是针对ARP攻击的一种安全特性&#xff0c;它通过一系列对ARP表项学习和ARP报文处理的限制、检查等措施来保证网络设备的安全性。ARP安全特性不仅能够防范针对ARP协议的攻击&#xff0c;还可以防…

在国内Facebook广告怎么解决充值渠道问题?

怎么解决Facebook预充值跑广告营销的付款方式问题呢&#xff1f; Facebook跑广告是很多做出口营销的公司或团队喜欢的平台之一&#xff0c;那就避免不了需要支付给Facebook平台广告费用了&#xff0c;那到底用什么方式去充值到FB号上去解决呢&#xff1f;FB预充值有什么咔可以…

使用极限网关助力 ES 集群无缝升级、迁移上/下云

在工作中大家可能会遇到以下这些场景&#xff1a; 自建 ES 集群需要平滑迁移到 XX 云&#xff1b;从 XX 云将 ES 集群迁移到自建机房&#xff1b;ES 集群进行跨版本升级&#xff0c;同时保留回退能力&#xff1b; 这些场景往往都还有个共同的需求&#xff1a;迁移过程要保证业…

面试 Java 基础八股文十问十答第三期

面试 Java 基础八股文十问十答第三期 作者&#xff1a;程序员小白条&#xff0c;个人博客 ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 21.说下Java8的Stream流的常用方法 答: forEach遍历、find、match进行匹配reduce进行归约&#xff0c;比如求和&#xff0c;乘&#xff0c;除聚合…

前端项目打包和自动化部署(jenkins+gitee+nginx)

项目打包和自动化部署 一. 项目部署和DevOps 1. 传统的开发模式 在传统的开发模式中&#xff0c;开发的整个过程是按部就班就行&#xff1a; 但是这种模式存在很大的弊端&#xff1a; 工作的不协调&#xff1a;开发人员在开发阶段&#xff0c;测试和运维人员其实是处于等待…