软件测试面试题

当一个接口请求不通过或者页面无法访问该如何排查呢

请求不通,可能的原因是:
1、ip或者端口号或者url写错了
2、客户端和服务端网络不通
3、服务端项目根本没有部署起来
4、服务器的防火墙拦截了
5、服务端程序内部发生了错误
6、没有访问权限(比如缺乏token、cookie之类)
7、客户端设置了网络代理
8、如果是浏览器访问,是不是绑定了错误的hosts

怎么开展接口测试
  1. 先了解接口的业务功能、入参出参以及接口对应的数据库存储
  2. 再依据接口测试用例设计方法完成接口测试用例的设计
  3. 最后依据测试用例使用接口测试工具完成接口测试,并在测试过程中通过查看响应数据确保接口测试
    结果的正确性
给你一个网站如何测试,怎样开展工作

1.查找需求说明、网站设计等相关文档,分析测试需求。
2.制定测试计划,确定测试范围和测试策略。
3.设计测试用例,包括功能、兼容、性能、安全等方面
4.开展测试执行
5.回归测试及测试总结

浏览器输入一个url地址的请求流程是怎样的

1、DNS 域名解析
2、与服务器建立 TCP 连接
3、发起 HTTP 请求,发送数据
4、服务器响应 HTTP 请求,返回数据
5、浏览器解析数据、渲染
6、关闭连接

Session和Cookie 区别

会话(Session)跟踪是 Web 程序中常用的技术,用来跟踪用户的整个会话
Cookie 通过在客户端记录信息确定用户身份,Session 通过在服务器端记录信息确定用
户身份
区别:
1、数据存放位置不同:
cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
2、安全程度不同:
cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗,考虑到安全应当使用 session。
3、性能使用程度不同:
session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用 cookie。
4、数据存储大小不同:
单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie,而 session 则存储与服务端,浏览器对其没有限制。

http和htpps的区别

HTTP:超文本传输协议,是一个客户端和服务器端的请求和应答的标准。
HTTPS:是以安全为目标的 HTTP 通道,HTTP 的安全版本,HTTP 下加入 SSL 层,HTTPS的安全基础是 SSL,因此加密的详细内容就需要 SSL.
它们的区别如下:

  1. HTTP 信息是明文传输的,而 HTTPS 是安全的 具有安全性的 ssl 加密传输
  2. HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443
  3. HTTP 无需证书,而 HTTPS 需要认证证书.需要到 CA 申请证书,一般免费证书较少,因而需要一定费用。
get和post区别

最常见的 http/https 协议的请求方式是 GET 和 POST,它们之间的区别如下:
1.请求参数的位置
get 在 url 里面传输,post 在请求体里传输
2.安全性
正因为传输参数位置的区别,所以 get 的安全性不如 post
3.传输数据的大小
正因为传输参数位置的区别,get 的参数长度受限于浏览器,post 的长度不受限制
4.表现形式
请求行的表现形式不一样,因为请求行里面包括请求方法

开发人员说不是 bug

开发人员说不是 bug,有 2 种情况:
一是需求没有确定,所以这个时候可以找来产品经理进行确认,需不需要改动,商量确定好后再看要不要改。
二是这种情况不可能发生,所以不需要修改,这个时候可以先尽可能的说出是 BUG 的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。如果最终 bug 被确定不改,那么就要在测试报告里面记录一下,以便以后查阅。

发现一个bug,怎么定位是app端还是服务端的问题
  1. 抓包分析
    通过对客户端进行抓包,分析服务端返回的数据是否符合预期,如果服务端数据是正确的,那就是客户端的问题
  2. 日志分析
    可以通过查看客户端/服务端的日志,分析有没有异常的日志信息,从而确定具体原因
app测试和web测试的区别

Web 端测试和移动端测试类型基本相似,都需要进行功能测试、性能测试、安全性测
试,他们主要区分 web 端一般都是 b/s 架构,基于浏览器的,app 是 c/s 架构,是有客户端
的。
(1) 从系统架构来看的话:web 测试只要更新了服务器端,客户端就会同步更新;而如果是
app 端下修改了服务端,意味着客户端用户所有使用的核心版本都需要进行回归测试一遍。
(2) 客户端性能方面:Web 端可能只会关注响应时间;App 则还要关心流量、电量、cpu、
等;
(3) 兼容方面:Web 是基于浏览器的,所以更倾向于浏览器(IE、Chrome、firefox)和电脑
硬件,电脑系统方向的兼容;App 测试则必须依赖于手机或者 pad,不仅要看分辨率、频目
尺寸、重要看设备系统。

什么是负载与有哪些负载模式?

负载就是对服务器迭代式加压,从而寻求性能测试拐点。

  1. 用户模式。不断增加的用户数带来的压力;
    1个用户1s内发起20个请求,rps=20/s。
  2. 请求模式,不断增加的请求数带来的压力;
    10个用户,1s用户1s内发起1个请求,rps=10/s。
    不能单纯的通用用户去衡量压力,直接通过每秒请求数去衡量压力。直接从服务端考虑。
Jmeter性能测试时,应用服务器CPU高的排查方法?

应用cpu高,说明进程非常耗用资源,进程又是由线程组成的,故登录服务器排查,排查步骤如下:

  1. 用top命令查看占用资源高的进程,记下进程pid。
  2. top -Hp pid 列出进程下面的哪些线程消耗资源,记下线程的pid,转换为16进制。
  3. 打出进程dump信息:命令为:jstack -l pid >111.txt
  4. sz 111.txt,下载进程dump信息查看,查找dump中16进制的线程信息。
  5. 定位到哪里,就是哪里的线程一直在耗费资源,定位出来让研发去解决。
jmeter性能测试需求的来源是什么?
  1. 客户提供需求
  2. 开发提供需求
Jmeter性能测试如何准备性能测试数据?
  1. 调用业务接口构造数据,一般适用于数据逻辑比较复杂的情况下。
  2. 直接写 jdbc 代码造数据,一般适用于数据量较大且数据逻辑较简单的情况。
  3. 存储过程造数据,一般适用于数据量巨大且数据逻辑较简单的情况。
  4. 导入 sql,一般适用于数据安全级别较低且数据量巨大的情况。
描述下性能测试流程
  1. 分析性能需求(用户使用最频繁的场景进行测试),确定性能指标(例如:事务通过率100%,top99%是5秒,最大并发是2000,CPU和内存都是70%以下)
  2. 制定性能测试计划,明确测试时间、测试环境和测试工具
  3. 编写测试用例
  4. 搭建测试环境,准备测试数据、编写测试脚本
  5. 测试脚本优化:设置检查点,参数化,关联,集合点,事务,调整思考时间等
  6. 设计测试场景,运行测试脚本和监控服务器
  7. 分析测试结果,收集相关日志提单给开发
  8. 回归测试
  9. 编写测试报告
Jmeter如何实现200用户的并发?

绝对并发:在脚本对应的请求后添加集合点。
相对并发:线程组设置200线程数。

服务器的cpu使用率和load是什么关系?

通常情况下,cpu使用率和load值是正比关系,即cpu使用率越高,load值越高。但是在一些特殊情况下,也会出现cpu使用率不高,但是load值较高的情况,比如某系统只能使用CPU中的单核运行,它可以占用单核cpu100%,但从整体cpu使用率来看,只是使用了一小部分。而随着并发的增大,单核CPU的任务队列会越来越长,造成了load值较高。

如何分析性能测试结果?

首先看事务通过率,然后分析响应时间、CPU、内存等指标是否满足需求,如果结果不可信,则分析异常原因并复测,确定性能结果可信之后,如发现以下问题,按下面思路来定位问题:
1)响应时间不达标:首先看事务所消耗的时间主要是在网络传输还是服务器,如果是网络,就需要结合网络吞吐量图,计算宽带是否存在瓶颈,如果存在就需要考虑增加宽带;如果不存在则有可能是网络不稳定导致的。如果是服务器,就要分别查看web服务器和数据库服务器的CPU、内存的使用率是否过高,因为过高的CPU,内存必定会造成响应时间过长、
2)服务器CPU指标异常:把web服务器对应上对应的用户操作日志取下来,发给开发定位。
3)数据库CPU指标异常:把数据库服务器对应上对应的日期取下来,发给开发定位。
4)内存泄漏:把内存的heap数据取下来,分析是那个对象消耗内存最多,然后发给开发定位。
5)程序在单用户场景下运行成功,多用户运行失败,提示连不上服务器:程序可能是单线程处理机制。

性能测试中常见的性能问题有哪些?
  1. 响应时间过长:指系统对请求做出响应的时间过长,导致用户等待时间增加。例如,一个网页的响应时间超过3秒,用户可能会失去耐心并离开该网页;
  2. 吞吐量过低:指系统处理请求的速率过低,导致系统无法满足用户需求。例如,一个网站的每秒处理页面数过低,用户可能需要等待较长时间才能加载页面;
  3. 延迟过高:指系统处理请求的延迟时间过长,导致用户等待时间增加。例如,一个API的延迟时间超过 200 毫秒,可能会导致应用程序响应缓慢;
  4. 带宽不足:指系统传输数据的速率过低,导致系统无法满足用户需求。例如,一个视频网站的带宽不足,可能会导致视频播放卡顿或无法加载;
  5. CPU使用率过高或过低:指系统CPU的利用率过高或过低,导致系统处理能力不足或浪费。例如,一个数据库的CPU使用率过高,可能会导致数据库性能下降;
  6. 内存使用率过高或过低:指系统内存的利用率过高或过低,导致系统处理能力不足或浪费。例如,一个服务器的内存使用率过高,可能会导致服务器崩溃或无法满足用户需求
常见的性能测试指标有哪些?

1、响应时间:指系统对请求做出响应的时间,通常以毫秒或秒为单位测量;
吞吐量:指系统处理请求的速率,通常以每秒处理的请求数或每秒处理的页面数为单位测量;
2、并发用户数:指同时发起请求的用户数量,通常用于评估系统的并发处理能力;
3、带宽:指系统传输数据的速率,通常以比特或字节为单位测量;
4、CPU使用率:指系统CPU的利用率,通常以百分比表示;
5、内存使用率:指系统内存的利用率,通常以百分比表示;
回答参考:
这些指标可以帮助我们评估系统的性能表现,发现性能瓶颈和优化空间,为系统的优化和升级提供参考。在性能测试过程中,我们通常会记录这些指标的数据,并进行分析和比较,以确定系统的性能表现和需要改进的地方。

如何确定并发用户数
  1. 用户并发数指标:并发用户数的定义是每秒同时向服务器提交请求的用户总数量
    平均并发用户数的计算公式:C=nL / T
    其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)
    并发用户数峰值计算公式:C’ ≈ C+3根号C
    其中,C’指并发用户数的峰值,C即是平均并发用户数
  2. 先确定 n、L、T:
    n: 项目预估运行一年日活:10 w;
    L: 用户平均使用时长是:10 min;
    T: 用户每天活跃时间大约是从早上 10 点到晚上 10 点。
  3. 平均并发 = 100000 * 10 / 12 ≈ 83333.33 人/分钟 ≈ 1388 人/秒
  4. 峰值并发 ≈ 1500 人/秒
    回答参考:
    确定并发用户数需要考虑系统用户数、在线用户数和并发用户数之间的关系,以及系统的高峰期和日常流量等情况。并发用户数不是随便确定的,需要根据系统实际情况进行数据分析和估算,一般采用经验公式或通用公式进行计算;同时,还需要考虑系统性能指标和用户行为需求等因素,以确保系统能够支持预期的并发用户数
    在这里插入图片描述
测试报告应该包括哪些内容?

1、测试背景说明
2、测试范围说明
3、测试环境说明
4、测试方法说明
5、测试结果与缺陷分析,主要从功能性能方面来分析
6、测试结论与建议
7、质量或风险评估

bug的生命周期都有那些阶段

1)New: 是新发现的bug(指给对应的开发);
  2)Open: 开发确认这是bug,并且认为需要进行修复;
  3)Fixed: 修复,开发人员修改后,标记一下已经修复完毕,等待测试人员进行确认性测试;
  4)Rejected: 拒绝,如果开发不认为这是个bug,就拒绝修改,把bug的状态制成Rejected状态;
  5)Delay: 延迟,如果认为暂时不需要修改或者暂时不能修改,延后去做修改,就可以将bug置成Delay状态 ,并且说明理由;
  6)Closed: 关闭,修改状态的bug,经测试人员确认测试,并且通过测试之后,关闭bug;
  7)Reopen: :修改状态的bug,经测试人员确认测试,如果仍然存在问题,把bug置成Reopen状态,开发人员需要重新去修改这个bug;
  8)later: 延期修改,下个版本再进行去修复这个bug;

测试计划都包括那些项
  1. 测试计划目标

  2. 测试参考文档

  3. 测试术语与定义

  4. 测试内容

  5. 测试人员的分工

  6. 测试进度

  7. 测试流程

  8. 测试工具

  9. 测试缺陷管理

  10. 测试的风险分析

  • 23
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值