外贸企业网站优化,营销培训学院,大型网站一般用什么语言做的,wordpress 分类目录模板软件测试实习常见面试题#xff0c;主要是功能测试相关的基础问题 目录
一、软件测试基础
1、介绍一下你最近的项目#xff0c;以及工作职责
2、软件项目的测试流程?
3、黑盒测试与白盒测试的区别?
4、黑盒测试常见的设计方法?怎么理解等价类方法和边界值方法
1主要是功能测试相关的基础问题 目录
一、软件测试基础
1、介绍一下你最近的项目以及工作职责
2、软件项目的测试流程?
3、黑盒测试与白盒测试的区别?
4、黑盒测试常见的设计方法?怎么理解等价类方法和边界值方法
1常见设计方法
2细节
3为什么要等价类和边界值联合使用
5、怎样的测试用例才能算优秀的测试用例
二、App测试
1、APP测试和WEB测试的的区别?
2、你是如何做APP的兼容性测试?
3、Fiddler如何抓App的包
4、adb安装命令ADB是操作安卓模拟器的工具
三、软件缺陷BUG相关
1、如何精准的定位前后端BUG?
1前端BUG
2后端BUG
2、抓包用什么工具实际用什么状态码
1Fiddler实际一般F12查看源代码
2常见状态码
3、fidder抓包怎么区分前后端BUG
4、你发现一个BUG开发认为不是一个BUG?
5、印象最深的一个BUG如何解决
6、提BUG注意事项
1BUG描述
2BUG需要与开发先说明情况
3BUG生命周期
4BUG内容
7、假如一个项目上线之后用户发现h5页面显示是一张空白页你会如何处置说具体点
8、博客点赞后无反应可能是什么问题
9、输入正确的用户名/密码点击登录没响应可能是哪些问题
四、接口测试/自动化测试、性能测试
1、怎么理解接口测试接口测试流程
2、用什么工具进行接口测试
3、接口测试重点
4、接口测试如何设计测试用例
5、自动化测试学了什么用过什么框架和实战
1Python接口自动化
2Web自动化-selenium工具
3App自动化-abd
6、什么情况下适合自动化测试主要什么模块自动化测试
7、性能测试指标
8、怎样模拟多个用户进行性能测试
9、如何快速批量创建测试数据Jmeter的csv变量传参
五、Mysql数据库/Linux命令
1、增删查改是哪些字符
2、模糊查询和分组查询和分页查询
1模糊查询-LIKE
2分组查询-group by
3分页查询-LIMIT
3、事务四大特性-ACID
4、Linux怎么查看日志
5、在MYSQL中 使用什么语句来创建数据库创建表的语句是修改表结构的语句是删除表的语句
六、计网/编程题
1、网络协议Http/Https、tcp、udp
2、get/post区别
3、从计算机角度说一下从浏览器输入网址到弹出内容的整个过程
4、客户端发送一个Https的请求到服务端会经过哪几个层次具体每个层次的调用
5、排序数组
5、逻辑题五个海盗分100金币需要半数以上的人同意才行半数及以下同意就杀了剩下的人继续分配。如果你是第一个人你怎么分配
七、HR面
1.项目经验测试什么模块如何测试
2.蓝桥杯如何准备比赛
3.为什么要选择测试这个行业
4.生活中或者学习测试中收获最大的事情
5.有什么兴趣爱好优点
6.测试该具备什么条件
7.项目经历为什么要选择这个及测试的模块
8.了解到本公司是咋样的
八、java/c/python/git
1、java数组和链表区别
2、python数据类型和脚本
3、git push和commit 一、软件测试基础
1、介绍一下你最近的项目以及工作职责
2、软件项目的测试流程?
需求评审-测试准备-测试执行
1.需求评审项目经理会将需求文档发出来再组织开发人员测试人员对需求进行讲解沟通不理解的需求和模糊的需求包含需求的合理性还有需求的可测性等
2.测试准备测试组长会定一个测试计划安排人员分工及时上线。然后每个人根据自己的模块用Xmind画思维导图以及Excel设计测试用例组内评审后项目组评审。
3.测试执行待开发人员提测后通过Jelkins部署到测试环境先冒烟测试大概测试一下是否有阻塞的BUG之后进行系统测试我们会通过禅道记录提交BUG测试3-4遍后整体回归测试达到上线要求后编写测试报告。待上线前验证测试后总结问题。
3、黑盒测试与白盒测试的区别?
-黑盒测试又称功能测试是以用户角度出发的测试。
-白盒测试又称结构测试分析程序的内部结构。
相关技术语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、路径覆盖、循环覆盖、模块接口测试
黑盒测试是在程序接口进行测试它只是检查程序功能是否按照规格说明书的规定正常使用。也被称为用户测试。
白盒测试是按照程序逻辑进行测试也称程序员测试
4、黑盒测试常见的设计方法?怎么理解等价类方法和边界值方法
1常见设计方法
黑盒测试又称功能测试是以用户角度出发的测试。
常见设计方法等价类划分、边界值分析、判定表、因果图、场景法、错误推测法
2细节
-等价类方法就是把输入域划分为多个子集选取代表性的数据可以减小测试用例个数同时保证覆盖度。一般是划分为有效等价类和无效等价类有效等价类接着设计一个测试用例覆盖所有有效等价类设计多个测试用例将每个无效等价类都一一覆盖。
-边界值方法对等价类划分的补充一般BUG常出现在输入/输出的边界值可以尽早发现错误并减少测试用例。
3为什么要等价类和边界值联合使用
①互补性等价类划分关注于输入数据的内部值而边界值分析关注于边界值。两种技术结合起来可以更全面地覆盖输入数据的所有可能情况。 ②提高测试效果经验表明边界值是错误的高发区。结合使用等价类划分和边界值分析可以更有效地发现潜在的边界错误。 ③减少测试用例数量等价类划分可以减少不必要的测试用例因为它认为等价类中的任何一个值都能代表该类的测试情况。边界值分析则确保了边界情况的覆盖两者结合可以在保证测试覆盖的同时减少总的测试用例数量。 ④提高测试效率通过选择代表性的测试用例测试人员可以集中精力在最有可能导致错误的地方这有助于提高测试的效率。
5、怎样的测试用例才能算优秀的测试用例
二、App测试
1、APP测试和WEB测试的的区别?
功能测试基本流程一样不同的是Web测试是B/S架构App是C/S架构
B/S架构是浏览器访问的服务端更新时客户端自动更新了
C/S架构服务端更新时客户端软件要升级更新才算新版本
app测试还有一些专项测试如安装、更新、卸载、兼容性、稳定性、性能测试、弱网测试、交互性测试登录
2、你是如何做APP的兼容性测试?
Web端考虑的是不同浏览器、不同操作系统的兼容性接口
app测试不同品牌机型、不同操作系统、不同屏幕大小
3、Fiddler如何抓App的包
Fiddler抓包工具-CSDN博客
4、adb安装命令ADB是操作安卓模拟器的工具
安装应用apk格式 adb install apk-file
三、软件缺陷BUG相关
1、如何精准的定位前后端BUG?
1前端BUG
①界面相关排版错乱文案错误等问题大都属于前端bug
1、出现样式的问题基本都是CSS的bug 2、出现文本的问题基本都是html的bug
3、出现交互类的问题基本都是JS的bug
②请求接口的url错误/传参不正确为前端BUG
2后端BUG
请求接口url和传参均正确则查看响应内容若错误为后端BUG
2、抓包用什么工具实际用什么状态码
1Fiddler实际一般F12查看源代码
如果是以4开头的话就有可能是前端问题一般我会到前端排查
以5开头就有可能是后端问题我就会到后端排查;
如果是200的话就需要检查请求行请求报头请求正文是否正确如果请求错误就是前端问题如果请求没有问题那就是后端问题看后端问题服务器运行日志是否包含exceptionerror或根据时间点去看日志。 弱网环境诵过 fiddler 工具选择Customize Ruels...(CtrR)调出定义脚本编辑器找到“if (m_SimulateModem)”设置上行下行网速然后把 Rules- Performance- Simulate Modem Speeds选中生效
2常见状态码
2xx请求成功。200 表示服务器响应成功也就是服务器找到了客户端请求的内容并且将内容返回给客户端。3xx重定向。 301 永久性的重定向客户端跳转302 临时跳转304 请求资源成功是客户端本地浏览器缓存中就有的这个资源4xx客户端错误。403 Forbidden请求的服务器资源权限不够404 NotFound 服务器找不到客户端请求的资源5xx服务器错误。服务器端的网页程序出错
3、fidder抓包怎么区分前后端BUG
以百度搜索为例
1)打开Fiddler设置过滤条件
2)打开浏览器输入网址抓包工具会开始读取如果会话列表有数据记得清屏
3)双击会话列表对应的数据包查看Raw
a、查看请求的 http 状态码是否正确。
例若抓取到的请求返回的 http 状态码为 404说明可能是前端 JS 提交了错误的地址也可能是后端服务器没有对应地址的服务若抓取到的请求返回的 http 状态码为 500说明是后端服务器内部错误。
b、查看请求的 http 状态码 200 但界面提示报错则具体分析 request 及 response 信息确认是否前端请求传参错误若前端对应请求地址及传参都正确则确认后端问题。
4、你发现一个BUG开发认为不是一个BUG?
-首先再看需求文档是不是理解有问题同时与项目经理确认后与开发沟通再三复测
-是需求没有确定这个时候可以找来产品经理进行确认需不需要改动。3方商量确定好后再看要不要改。
-是BUG在实际环境中不可能发生所以不需要修改这个时候我可以先尽可能的说出我的担忧如果被用户发现或出了问题会有什么不良结果?如果还是不行那我可以给这个问题提出来跟开发经理和测试经理进行确认如果要修改就改如果不要修改就不改。
-其实有些真的不是BUG我也只是建议的方式写进测试文档中如果开发人员不修改也没有大问题。如果不是BUG的话一定要坚持自己的立场让问题得到最后的确认。
5、印象最深的一个BUG如何解决
测试一个不是很熟悉的工作流系统需要用户逐级审批但是二级审批时点击通过需要手动刷新才能跳转且工作流未进入下一阶段但测试环境有这个BUG但开发环境没有与开发一起排查后发现是测试环境的工作流设置有问题配置后BUG也就解决了。
我认识到不要出现BUG就盲目提交要结合需求与配置环境且描述细致与开发沟通去复现尽量结合日志和数据库去定位方便开发修改提高工作效率。
6、提BUG注意事项
1BUG描述
重现步骤清楚及预期结果及相关配置环境附图或者视频及级别
2BUG需要与开发先说明情况
分析一下是前端还是后端。确定是否为BUG需要沟通提交后还要跟踪BUG修复
3BUG生命周期
提交-指派开发人员已激活但未确认-开发确认已确认-开发修复已解决-测试复测通过已关闭)/激活给开发已激活
4BUG内容
项目名称、影响版本、所属模块、指派人员、截至日期、BUG类型、BUG环境、严重程度、优先级、BUG标题、BUG描述重现步骤、实际结果、期望结果、附件
7、假如一个项目上线之后用户发现h5页面显示是一张空白页你会如何处置说具体点
8、博客点赞后无反应可能是什么问题
9、输入正确的用户名/密码点击登录没响应可能是哪些问题
四、接口测试/自动化测试、性能测试
1、怎么理解接口测试接口测试流程
主要是验证后台服务端的业务逻辑是否有问题提供测试效率。检查系统安全性前端传参不可信。接口自动化提高效率容易实现自动化持续集成。
一般有需求就会做后台的接口开发好就可以开始测。例外如果增加了新需求也要做接口测试 还有就是开发对后台的接口做了修改交互逻辑发生变化我们也要重新对接口进行测试
流程
1.首先分析开发给到的接口文档
2.接口文档分析完成编写测试用例
3.然后借助接口测试工具去测试执行测试用例
4.发现bug 提交bug并跟进bug修复
2、用什么工具进行接口测试
1Postman
2Jmeter
3、接口测试重点
进行测试点的分析主要是考虑正常场景与异常场景。
正常场景条件的组合参数的格式校验等价边界值;
异常场景多一个参数少个必填参数参数为空;
4、接口测试如何设计测试用例
参数约束——长度、必选项、格式、数据类型业务场景——正确的业务场景;错误的业务场景;异常场景:服务器空间不足组合场景——相互依赖:手机和验证码、用户名和验证码; 相互排斥:二选一 当然还有边界值等价类等等 5、自动化测试学了什么用过什么框架和实战
1Python接口自动化
pytest-requests-allure生成在线报告
Postman接口测试、Python接口自动化测试_postman python 自动化-CSDN博客
2Web自动化-selenium工具
Web自动化测试-掌握selenium工具用法使用WebDriver测试Chrome/FireFox网页(Java_selenium webdriver chrome-CSDN博客
3App自动化-abd
6、什么情况下适合自动化测试主要什么模块自动化测试
功能需求需求稳定界面稳定不会频繁变动才可以做版本迭代次数比较多做出来才有意义项目周期比较长(大项目)意义
7、性能测试指标 8、怎样模拟多个用户进行性能测试
在JMeter等工具中通过线程组来模拟多个用户。设置线程数即用户数量、Ramp-Up时间线程启动的时间间隔和循环次数等参数。
9、如何快速批量创建测试数据Jmeter的csv变量传参
五、Mysql数据库/Linux命令
1、增删查改是哪些字符 2、模糊查询和分组查询和分页查询
1模糊查询-LIKE
LIKE操作符
%表示任意0个或多个字符。_表示任意单个字符。
名字以张开头SELECT * FROM students WHERE name LIKE 张%;
2分组查询-group by 3分页查询-LIMIT 3、事务四大特性-ACID
原子性(Atomicity)事务是不可分割的最小操作单元要么全部成功要么全部失败一致性(Consistency)事务完成时必须使所有的数据都保持一致状态。隔离性(Isolation)数据库系统提供的隔离机制保证事务在不受外部并发操作影响的独立环境下运行。持久性(Durability)事务一旦提交或回滚它对数据库中的数据的改变就是永久的。
4、Linux怎么查看日志
过命令 tail -200 或 tail -500 查看当天的日志的后面多少行或者前面多少行定位 bug
或者通过 tail -f app.log 来查看日志里的关键字,会显示 app.log 文件的最后10行内容。如果 app.log 文件有新内容被追加这些新内容会立即显示在终端上
5、在MYSQL中 使用什么语句来创建数据库创建表的语句是修改表结构的语句是删除表的语句
1创建数据库
2创建表
3 修改表结构 修改表结构通常涉及添加、删除或修改表中的列。这些操作分别通过ALTER TABLE语句来完成。
4删除表 六、计网/编程题
1、网络协议Http/Https、tcp、udp
-http80/https(443)都是超文本传输协议用于浏览器与服务端之间的请求https增加了ssl加密协议
-tcp/upd都在传输层tcp面向连接可靠传输发送请求前三次握手
-udp面向非连接、不可靠可以传输大量数据
2、get/post区别
1Get请求的数据参数会显示在地址栏而Post不会所以Post比Get更加安全。
2Post请求的参数存放到了请求实体中而Get没有请求实体Get是存储在请求行中。
3数据传输Post有优势Get方式请求的数据不能超过2k而Post 没有上限。
4浏览缓存Get有优势Get具有数据缓存而Post没有。
✿ 从优势角度看数据传输使用Post数据浏览查询使用Get。即查询时使用Get其他时候使用Post。表单全部使用Post提交
3、从计算机角度说一下从浏览器输入网址到弹出内容的整个过程
1.浏览器输入网页URL地址 2.浏览器通过DNS解析域名对应的IP地址 3.浏览器根据IP地址和端口号向目标服务器发起TCP连接请求 4.在TCP连接上向服务器发送HTTP报文请求去获取网页的信息 5.服务器处理HTTP请求并返回HTTP响应 6.浏览器收到HTTP响应后解析响应HTML编码渲染网页的结构和样式同时根据HTML的其他资源的URL再次向服务器发送HTTP请求获取资源
4、客户端发送一个Https的请求到服务端会经过哪几个层次具体每个层次的调用
应用层客户端发起https请求包含请求行/请求头/请求体
传输层HTTPS建立在TCP上需要先建立TCPTCP三次握手保证数据传输的可靠性
TCP连接建立后HTTPS在传输层进行SSL/TLS握手以建立加密通道
网络层吧传输层的数据TCP报文段封装成IP数据包包含源IP地址/目的IP地址协议类型
根据IP地址和路由表选择对应目的网络
数据链路层IP数据包被封装成帧包含目的MAC地址、源MAC地址
帧通过物理介质传输到下一节点
物理层数据以比特流传输
5、排序数组
5、逻辑题五个海盗分100金币需要半数以上的人同意才行半数及以下同意就杀了剩下的人继续分配。如果你是第一个人你怎么分配
七、HR面
1.项目经验测试什么模块如何测试
2.蓝桥杯如何准备比赛
3.为什么要选择测试这个行业
-测试很重要
-自己的兴趣成就感
-发展不错逻辑提升自己
4.生活中或者学习测试中收获最大的事情
5.有什么兴趣爱好优点
6.测试该具备什么条件
-掌握基本的测试基础理论和开发的相关知识
-细心和耐心可熟练阅读需求规格说明书等文档
-以用户的观点看问题有强烈的质量意识
-良好的有效的沟通方式(与开发人员及客户)
7.项目经历为什么要选择这个及测试的模块
8.了解到本公司是咋样的
八、java/c/python/git
1、java数组和链表区别
数组大小不可变数组越界顺序存储下标访问查找效率高
链表可动态改变大小需要遍历访问查找效率低插入/删除效率高
2、python数据类型和脚本
数值数据类型int、bool、float、complex序列数据类型不可变str、tuple、bytes和可变list、bytearray集合数据类型set、frozenset字典数据类型dict。例如{1: one, 2: two}
3、git push和commit
git add到暂存区git commit 提交到本地库git push 别名 分支推送本地分支到远程仓库git pull 远程仓库地址 远程分支名拉取远程分支与本地分支合并 6.foxbase如何复制数据库 7.博客点赞后无反应接口响应返回正确还可能是前端渲染错误