柠檬班免费软件测试面试题分享
下方软件测试面试题有柠檬班网络整理:
数据库:
1、比如student
删除一张表里面是所有内容:
delete from student
左联:
以左表为基准,右表数据不存在的时候,则显示null
1、数据库,数据库数据是存在磁盘里面的
2、一个数据库实例,有多个数据库,一个数据库下一张到多张表
3、数据库有范式,因为是关系型数据库:
第一范式:一张没有任何约束,数据可以无限的重复。
第二范式:在第一范式的基础之上,多了一个主键约束。
第三范式:在第二范式的基础之上,增加了外键的约束。
....
4、sql语句:
软件测试面试题对表数据的操作:
1、简单的sql查询:
查询(select):
select a.* from student (as) a where .... #*:表示当前表中的所有字段
select id,name from student (as) as where ...
更新(update):
update student set age=18 where ....
删除(delete):
delete from student where .....
因为数据是一行一行的删除,而 * 代表的是字段,所以 delete 后面千万不要加*。
增加(insert):
insert into student(字段) values(值)
2、对表的操作:
创建表和数据库:
创建/删除student表:create/drop table student
创建/删除数据库: create/drop database db1
对表结构的操作:(特殊的关键字,需要加table关键字)
alter table student add column api_pay_no varchar(32) not null unique comment
3、复杂sql:
1、嵌套:
course_name="数学"
选的课程为数学的学生:
select * from student where course_id in (
select id from course where course_name = "数学")
in :表示 条件数据 1个到多个
= : 相等于的数据只有一个
select * from class where id in (select class_id from student where
course_id in (select id from course where course_name="数学"))
2、左联、右联、内联
左联(left join):
以左表为基准,与右表比较值不相等,右表的数据显示为null
select s.* from student s
left join course c on s.course_id = c.id
where ....
右联:(right join)
以右表为基准,与左表比较值不相等,左表的数据显示为null
select s.* from student s
right join course c on s.course_id = c.id
where ....
内联:((inner) join )
以左表为基准,只显示匹配与右表相等数据
select s.* from student s
(inner) join course c on s.course_id = c.id
where ....
3、在sql的查询中,遵循一个原则: 一切皆表
select * from (
select * from (
select * from student where course_id in (
select id from course where course_name = "数学") ) as a
left join (
select s.* from student s
left join course c on s.course_id = c.id
where .... ) as b on a.id = b.id
where ... ) as a
.....
一个复杂的sql,有几大原则:
select 后面的永远是 字段
from 后面永远是 表
where 后面的永远是条件。
4、分组(group by)
select sum(course) from course group by name having name = "张三"
order by sum(course) desc(asc)
Linux
为什么要学Linux?Linux在我们工作当中什么时候使用?
Linux在我们公司里面 999.99999999...%应用都是部署在Linux。
Linux 上面服务都已经部署完毕,我们在排除程序上bug的时候,会去看日志。
1、搭建环境:
jdk、Tomcat、Apache、PHP、mysql、、小游戏
1、jdk : java程序运行环境
1、jdk /usr/local/java/
2、配置环境变量 /etc/profile
2、Tomcat:web应用服务器,可以部署在Linux(.sh),也可以部署在Windows(.bat),部署在mac
Tomcat目录:
- bin 存放执行脚本的文件夹 #启动方式: sh startup.sh 或者 ./startup.sh
- conf 存放程序配置文件 配置Tomcat端口等配置文件
- lib 存在程序所调用的jar包
- logs 存放日志信息
- temp 临时文件夹 存放临时文件
- webapps 存放我们的应用程序
- work 存放我们程序的进程号
3、apache(nginx):web服务器
目录结构:
....
2、常用命令:
1、创建文件:touch
2、删除文件:rm(remove)
3、查看文件:cat
4、复制: cp(copy)
5、创建文件夹: mkdir(make directory)
6、剪切或者重命名:mv(move)
7、压缩解压缩: tar
8、查看:ls list
9、编辑: vi/vim
10、查看当前路径:pwd(Print Working Directory)
11、切换用户:su switch user
12、创建用户:useradd
13、删除用户:userdel
14、创建用户组: groupadd
15、删除用户组:groupdel
16、查找: find
17、修改权限: chmod(change mode)
18、查看进程: ps process
19、杀进程: kill
20、查看日志:tail
1、Linux的每个命令,是一个或者多个英文单词的缩写。
2、拷贝: cp 文件1 文件2 cp -r 目录1 目录2
3、杀进程: kill -9 进程号
4、查看日志: tail -f catalina.out -n 300
查看命令的使用:
tail --help
man tail
接口测试:
postman
断言:在程序前加上一个断言,当程序没有出错,则正常往下执行,如果出错则,给出异常提示,程序终止。
http协议:
http协议属于应用层协议,分为请求和响应
请求:请求头(header)和请求体(body)
响应:响应头(header)和响应体(body)
请求,请求方法:
post、get...
1、post和get方法:
1、post 请求参数 放在 body 里面,get的请求的参数 放在 header里面的。
2、post请求参数的是没有字数限制,get请求参数是有字数限制的
3、post和get向服务器发送请求,没有本质安全可言,通过抓包都可以抓取到,只不过向服务器发送请求的时候
,一个放在手上,一个放在口袋。
2、http请求的状态码:
1xx: 消息
2XX: 成功 200
3XX: 重定向 302
4XX: 客户端错误 404 403
5XX: 服务端错误 500
由于软件测试面试真题比较多,小编就不一一写到文中,除此之外,还有很多经常遇到的面试题,大家可以加群:1397658968 探讨更多面试题。
柠檬班为了帮助学员更深入的去了解Jmeter这款测试主流工具。
该课程在接口测试、自动化测试以及性能测试中都有进行详细的讲解,并用实例去驱动学习,主要涉及的有Jmeter进行http以及soap类型的接口测试,Jmeter进行脚本的录制,Jmeter正则、断言等各类元件的学习使用等。
课程是由柠檬班华华老师历时2个月精心录制的,为了让同学们更好的对知识点进行分割和学习,每个知识点都单独拿出来精讲细讲,并有结合实例来进行讲解,讲解知识点的时候都有复习了前面所学的所有知识,任何层级的学生都能够学会。
免费课程学习地址:http://www.lemonban.com/front/couinfo/180