前言

嗨咯 大伙,我是你们的笨蛋程序员

为了让大家更好的理解和学习投入到Python自动化来
找到一份好的资料也是学习过程中,非常重要的一个点。你的检索能力越强,你就会越容易找到最合适你的资料。

我这边也整理了一些最新的面试题资料和Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC,源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

有需要的小伙伴可以戳这里免费领取可以点击这里,咱们一起进步

暗号:CSDN。


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

考点:接口测试用例设计

参考答案:

1)必字段:请求参数必填项、可选项

2)合法性:输入输出合法、非法参数

3)边界:请求参数边界值等

4)容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理

5)响应数据校验:断言、数据提取传递到下一级接口…

6)逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况

7)性能:对接口模拟并发测试,逐步加压,分析瓶颈点

8)安全性:构造恶意的字符请求,如:SQL注入、xss、敏感信息、业务逻辑(如:跳过某些关键步骤;未经验证操纵敏感数据)

二、BUG优先级和严重程度如何划分?

考点:

对于优先级和严重程度的理解

参考笞案:

Priorty(优先级)和 Severity(严重程度)是提交bug 的两个重要属性。

通常测试人员在提交Bug 时,只定义Bug 的Severity即该Bug 的严重程度,而将Priorty交给Project Leader或Team Leader来定义,由他们来决定该Bug 被修复的优先等级。某种意义上来说,Priority 的定义要依赖于Severity在大多数情况下,Severity越严重,那这个Bug的Priorty就越高。

Severity(严重程度)如下:

Blocker(有妨碍的):即系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常,退出无法测试,造成系统不稳定

critical(紧要的):即影响系统功能或操作,主要功能存在严重缺陷但不会影响到系统稳定性

Major(严重的):即界面、性能缺陷、兼容性。

Minor/Trival(次要的/不严重的)即易用性及建议性问题

Priority(优先级):lmmediate(立刻)、Urgent(紧要、优先)、

High(高度重视)、Normal(正常)、Low(稍缓)


三、做好测试用例设计工作的关键是什么?

考点:

1、考察对于测试用例的认知

⒉.考察测试用例需要的方方面面于优先级和严重程度的理解

参考答案:

关键的就是熟悉需求,但是需求可以分为以下几个方面:

1、熟悉本次业务需求

2、熟悉其他系统和本次開求的关联

3、熟悉开发设计文档,了解开发实现逻辑

4、熟悉数据库设计文档,了解数据存储

5、熟悉项目架构,发现隐藏需求


四、给你一个网站,如何开展测试

考点:

1、对于软件测试流程的理解

2、考察测试项目的计划安排能力

参考答案:

1、查找需求说明、网站设计等相关文档,分析测试需求。

2、制定测试计划,确定测试范围和测试策略。

3、设计测试用例,包括功能、兼容、性能、安全等方面

4、开展测试执行

5、回归测试及测试总结

五、bug的生命周期

考点:

bug处理流程

参考答案:

New:发现bug,未经评审决定是否指派给开发人员进行修改

Open:确认bug,并且认为需要进行修改,指派给相应的开发人员。

Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。

Rejected:如果认为不是Bug,则拒绝修改。

Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。

Closed:修改状态的Bug 经测试人员的回归测试验证通过,则关闭Bug。

Reopen:如果经验证Bug 仍然存在,则需要重新打开Bug开发人员重新修改。


六、用一条SQL语句查询出每门课都大于80分的学生姓名

表Scores 如下:

考点

1、数据库查询

2、聚合语数

3、having 筛选

参考答案:
学生的最低分数大于8o,那么就可以查询出每门课都大于80分的学生姓名
select name,min(score) from scores group by name havingmin(score)>80;

七、用一条SQL语句查询两门以上不及格课程的同学的学号以及其平均成绩,并按成绩排序,表结构如下:

考点:

1、考察sql查询条件

2、考察sql分组

3、考察分组过滤条件

参考答案:

select student.id,student.stdentname,AVG(student_score.score)

from student.student score where

student.id=student_score.id and student_score.score<60 group by student_score.id

having count(*)>1;

八、什么是事务?

考点:

事务的基本概念

参考答案:

事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行:事务是一组不可再分割的操作集合(工作逻辑单元);

1.原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,

2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致

3、隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。

4持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

九、 SQL中常用的聚合函数都有哪些?

考点:

1、考察SQL基础能力

2、考察常见的数据库函数

参考答案:

Max():最大值

Mn():最小值

Avg():平均值

Sum():求和

Count():统计总数

主键、外键和索引的区别

考点:

对数据库常用索引的理解

参考答案:

1)定义
主键:唯一标识一条记录,不能有重复的,不允许为空
索引:该字段没有重复值,但可以有一个空值

2)作用
主键:用来保证数据完整性
外键:用来和其他表建立联系用的
索引:提高查询排序的速度

Drop、delete、truncate三者区别

考点:

1、对关系数据库3个删除sQL了解程度

2、比较3个删除sQL的差异

参考答案:

都表示删除,但是三者有一些差别

Delete用来删除表的全部或者一部分数据行,执行delete 之后,用户需要提交(commmit)或者回滚(rollback)来执行删除或者撤销删除。

会触发这个表上所有的delete触发器Truncate删除表中的所有数据,这个操作不能回滚,也不会触发这个
表上的触发器,TRUNCATE 比 delete更快,占用的空间更小;

Drop命令从数据库中删除表,所有的数据行,索引和权限也会被删除所有的DML触发器也不会被触发,这个命令也不能回滚

InnoDB索引和MylsAM索引的区别,索引的优缺点

考点:

1、对数据库引擎InnoDB了解程度

2、对数据库引擎MylSAM了解程度

参考答案:

1)存储结构(主素引/辅助素引)
InnoDB的数据文件本身就是主索引文件。

而MylSAM的主素引和数据是分开的。

InnoDB的辅助索引 data城存储相应记录主键的值而不是地址。

而MylSAM的辅助索引和主素引没有多大区别innoDB是聚簇索引,数据挂在逐渐索引之下。

2)锁MylSAM使用的是表锁;InnoDB使用行锁

3)事务MylISAM没有事务支持和MVCC; InnoDB支持事务和 MVCC

4)全文素引:MylSAM支持FULLTEXT类型的全文素引InnoDB不支持FULLTEXT类型的全文素引,但是InnoDB可以使用sphinx插件支持全文索引.并且效果更好。

5)主键:MylSAM允许没有任何索引和主键的表存在,索引都是保存行的地址;InnoDB如果没有设定主键或非空唯一索引,就会自动生成一个6字节的主键,数据是主素引的一部分,附加索引保存的是主索引的值

6)外键 MylSAM不支持;InnoDB支持

十、列举几种表连接的方式,有什么区别

考点:

1、表连接方式的列举

2、不同连接方式的区别

参考答案:

左连接:左边为主表表数据全部显示,匹配表的不匹配部分不显示

右连接:右边为主表表数据全部显示,匹配表的不匹配部分不显示

内连接:只有两个元素表相匹配的才能在结果集中显示

全外连接:连接中的不匹配的数据全部会显示出来

交叉连接:苗卡尔桑积,显示的结果是连接表数的乘积

说几个工作中常用的Linux命令

考点:

1、考察是否有Linux使用经验

2、考察对Linux的熟悉程度

参考答案:

cd:切换目录

ls:查看文件列表

cp:拷贝文件

mv:移动文件

rm:删除文件

chmod:设置文件权限

cat:浏览文件内容

vim:文件编辑

find:搜索文件

grep:过滤文件内容

一、用过docker 吗?常用的docker命令有哪些?

考点:

1、考察Devopts相关技术
2、考察是否具备docker 实际使用经验

参考答案:

docker pull:拉取镜像
docker images:查看本地镜像
docker run:运行镜像为容器
docker ps:查看正在运行的容器
docker logs:套看容路日志
docker cp:拷贝容器文件
docker start/stop/restart:启动、停止、重启容器

二、在shell环境如何杀死一个进程?

考点:

1、linux下进程PID查找命令

2、Inux停止进程命令

参考答案:

比如tomcat,查看tomcat的PID命令如下所示:

Ps -ef|grep tomcat

比如tomcat的PID是12345停止tomcat进程命令如下所示:

kill -912345

三、 如何找当前目录下大于10K的文件

考点:

1、查找目录命令
2、当前目录命令
3、文件类型参数命令
4、文件大小参数命令

参考答案:

查找目录命令find

当前目录命令﹒

文件类型参数-type

文件大小参数-size

完整命令:find .-typef -size +10k

1.linux下查看/web.log第25行第三列的内容

考点:

1、查看文件内容中的指定行指定列

2、常用的常看文件命令

参考答案:

常用的三种实现方式如下所示

Sed -n 25p/web.log|cut-d’’ -f3

head -n 25 /web.log/tail-nll cut -d’’-f3

Awk-F"’'NR==25{print$3}/web.log

2.linux下修改test.txt的23行test为TEST

考点:

1、修改文件命令

2、直接修改文件内容参数

3、指定行替换参数

参考答案:

1.修改文件命令sed

⒉直接修改文件内容参数i

3.指定行替换参数s 加gsed -i 23s/test/TEST/g test txt

3. 在linux中如何查找日志文件中的Error信息

考点:

1、考察工作中常用的Linux命令
2、考察对错误日志的查看方法

参考答案:

Linux中通过grep命令可以过滤文本文件中的指定信息,如

Grep “Error” access.log

以上命令会将access.log中包含Error的行打印出来

四、如何查看安卓app界面的activity和起始activity

考点:

1、安卓adb命令

2、安装SDK工具使用

参考答案:

1、使用pm管理器查看包名adb shell pm list package -f将获取手机内所有apK对应的包名和路径
如果是windows可以后接findstr,例如:
adb shell pm list package -f|findstr douban

2、使用am管理路,查看包名Adb shell am monitor

3.使用aapt查看包名、界面名
aapt是Sdk自带的一个工具,在sdk\builds-tools\目录下

以豆瓣App为例:

1、把安装包放到aapt目录下
2、从cmd中切换目录到sdk\builds-tools\下
3、执行aapt dump badging

运行后的结果中以下两行分别是应用包名package和入口 activiVy名称
Package:name=‘com.tencentqqmusic’
launchable-activity:name =‘com.tencentqqmusic.activity.
AppStarterActivity’

五、 pytest单元框架里,前置条件怎么处理?

考点:

对pytest框架的熟练程度

参考答案:

1、使用setup

函数级的(setup.function,teardown_function)只对函数用例生效。
而且不在类中使用类级的(setup_class、teardown_class)在类中使用,类执行之前运行一次,

类执行之后运行一次

类中方法级的(setup_method,teardown_method)在每一个方法之前执行一次,在每一个方法之后执行一次

模块级的(setup_module、teardown_module)

2、使用conftest
@pytest.fixture(scope=‘mdue’)

scope参数的可选范围:
-function:每个函数或方法都会调用
-class:每一个类调用一次,一个类中可以有多个方法
-module:每一个py文件调用一次,该文件内又有多个function和cass
-session:是多个文件调用一次,可以跨.py文件调用,每个py文件就是mdue

pytest参数化怎么实现?

考点:

pytest对参数化的理解

参考答案:

使用@pytest.mark.parametrize装饰器参数对应的用例名’])

pytest.mark.parametrize(‘goods_id,stock,exp’,[(12,1,缺失规格)(‘商品编号’,'1,商品不存在或已删除)],ids=['不填写规格参数加购,商品编号为异常值])

Pytest里如何进行case的组装?

考点:

考察使用pytest 组织case 的能力

参考答案:

1、默认使用检查以test_.py或**test.py命名的文件名,在文件内部查找以test打头的方法或函数,并执行

2、可以使用自定义marker(标签),比如pytest运行的时就只运行带有该marker的测试用例,比如下面的pytest.mark.PO

3、在命令行使用指定文件

4、参数: -k args模糊匹配Case (关键字args:可以是py文件名,可以是函数名)

说说pytest里的钩子函数

考点

pytest基础知识

参考答案:

几个常用的钩子:
获取:
Pytest__configure(config):添加自定义的标签等

Pytest_collectionmodifyitemsitems):在case 收集后调用,
可以对项目顺序或其他功能进行自定义

Pytest_addoption(parser):为命令行添加自定义参数

什么是PO模式,PO模式的优点是什么?

考点:

1、po模式理论
2、po模式分层思路

参考答案:

页面对象模型(PageObject)是一种设计模式用来编写和维护自动化测试

Po模式的优点:
1、PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰
2、页面对象与用例分离,使得我们更好的复用对象
3、可复用的页面方法代码会变得更加优化
4、更加有效的命名方式使得我们更加清晰的知道方法所操作的U元素

如何编写PO模式

1、抽象每一个页面
2、页面中元素不暴露,仅报错操作元素的方法
3、页面不应该有繁琐的继承关系
4、页面中不是所有元素都需要涉及到,核心业务元素做建模使用
5、把页面划分功能模块在Page中实现这些功能方法


最后!

今天的文章就到这里结束啦,希望看完以后能对有一些不大不小的帮助。如果喜欢的可以点赞收藏关注,如果不行的话,那也得行(我们IT人不能说不行)球球大伙辽

如果大家感兴趣的话,可以学习交流讨论的,咱可以一起加油,可以点击这里,咱们一起进步

软件测试面试刁难人?花重金购买的资料1套全给你解决相关推荐

  1. 梦三花重金修改服务器,梦幻西游:一只卖了三年的3技能变异宝宝,现被看山哥花重金收藏...

    原标题:梦幻西游:一只卖了三年的3技能变异宝宝,现被看山哥花重金收藏 梦幻西游开服到现在已经走过了十六个春秋,一路走来确实不是容易.作为一款网络虚拟游戏,游戏系统虽然每周都进行更新与维护,但也不可避免 ...

  2. 万人总结的软件测试面试简历及软件测试面试题

    一.前言:浅谈面试 面试是我们进入一个公司的门槛,通过了面试才能进入公司,你的面试结果和你的薪资是息息相关的.那如何才能顺利的通过面试,得到公司的认可呢?面试软件测试要注意哪些问题呢?下面和笔者一起来 ...

  3. 软件测试面试101问(附答案)

    前言 前阵子一位读者告诉我,某位大厂HR给他发了我之前做的面试题答案合集. 这个消息让我开心了一整天,因为这说明我之前做的面试题系列真的能帮助到部分测试同学,也算是侧面得到了一种认可吧. 今天写的这份 ...

  4. 面试刁难题——你有哪些缺点?

     面试刁难题--你有哪些缺点? 参加招聘面试,最怕考官提些让人"无从下口"的问题,像"你有哪些缺点?",就是典型的面试难题.对这个问题,可以把自己的优点当成缺点 ...

  5. 软件测试面试如何写出HR青睐的简历?

    目录 前言 戒律一:简历标题突出关键字 戒律二:简历整体情况 戒律三:个人简介填写完整 戒律四:正确书写名词 戒律五:教育经历突显优势 戒律六:工作技能.奖励.经验等可以适度夸大 戒律七:突出工作经验 ...

  6. 软件测试面试python一般会问什么问题_软件测试面试一定会问到的面试问题

    原标题:软件测试面试一定会问到的面试问题 软件测试面试官会如何刁难你和都会问到什么问题? 我剖析下面试不同的岗位问的问题,不同岗位问的肯定是不一样的,那么我先从初级开始 分为三个等级,就是初级怎么去面 ...

  7. 如何维持手机电池寿命_一块能用百年的手机电池将诞生,你愿意花高价购买吗?...

    在我们日常生活中必不可少的电器设备实在太多了,而电器最离不开的就是电能源.大部分电器的电能主要依靠电线传输,其中部分可移动设备的电器则需要依靠电池来维持电能供应,但目前世界上大部分的电池容量及续航能力 ...

  8. 这简直比高考容易多了...3个月自学转行软件测试,懒散人的一次自我突破!

    3个月转行软件测试,懒散人的一次自我突破,比高考容易多了 我是20年6月开始考虑转行这件事(原先是做运营的),19年5月公司内部转岗调整,同年12月原公司经营不善裁员,遇到疫情加跨年,整整在家歇了6个 ...

  9. 又真香了!到底是怎样的软件测试面试文档,拿到这么多大厂offer

    前言 由于马上就又要到金九银十面试高峰期了,网上的软件测试面试题更是层出不穷. 但是单单刷软件测试面试题就足够了吗?答案显然是不够的!那么为什么呢? 因为现在的软件测试就业环境早就和两年前不可同日而语 ...

最新文章

  1. Unity 4.x 2D游戏开发基础教程大学霸第一更
  2. 求链式线性表的倒数第K项(堆栈解法)
  3. 【杂谈】认识有三AI的一年,从机械转行CV到专栏作者
  4. build.xml编译报错Specified VM install not found: type Standard VM, name jdk1.7.0_45
  5. php memcached 队列,redis获取所有队列_memcached
  6. 漫谈LiteOS之开发板-GPIO(基于GD32450i-EVAL)
  7. PostgreSQL学习总结(7)—— PostgreSQL 语句 INSERT INTO、SELECT、UPDATE、DELETE 等学习
  8. 敏捷遇上UML—软创基地马年大会(广州站 2014-4-19)
  9. iOS 推送证书制作 (JAVA/PHP)
  10. (10)进程---Manager数据共享
  11. echarts地图文字重叠解决方案_踩坑日记:在Echarts中国地图踩到的坑
  12. 四川水泥杂志四川水泥杂志社四川水泥编辑部2022年第11期目录
  13. Unity Shader Color、HSV、HDRColor以及HDRColor面板转换源码分析
  14. STM32——触摸屏实验-电容型触摸屏-M4
  15. oracle fnd global,Oracle EBS R12 - 利用fnd_conc_global.set_req_globals设置子请求的Parent Request ID...
  16. 回文串(algorithm)
  17. 使用 freeradius 搭建 EAP PEAP MS-CHAPv2 验证环境
  18. 11 | 向埃隆·马斯克学习任务分解
  19. 九个Web开发者必备的软技能
  20. 从老板的裤裆拉链看 Google 管理之道

热门文章

  1. html文本框监听粘贴,HTML5将粘贴板上的图片粘贴到文本框中
  2. android动态文本框,Android文本框实现搜索和清空效果
  3. 基于DLNA实现iOS、Android投屏:基本概念
  4. eclipse折叠if语句块_「03」java中的方法以及控制语句
  5. 投资理财-曾经一起投资理财的朋友们
  6. Java极光短信发送
  7. OpenCv视频读与存
  8. Chrome浏览器插件安装说明
  9. 《第四堂棒球课》:MLB棒球创造营·棒球名人堂
  10. 面向面试题的前端学习-js篇(自用,持续完善中)