软件测试-linux和数据库

简介:

        本文内容大概学个三四天就够了,把课程看完做好笔记,重点熟悉下面的知识就行,面试的时候能说全,就算忘记了具体命令参数也别慌,就说“这些都很简单,而且用得不多,但是我看一下就能回忆起来”

        建议结合实际测试需要要到的场景去学习。可以这样去问豆包:“我是一名软件测试小白,目前想快速回忆linux的命令,告诉我有哪些命令会经常在测试工作中使用到,并给我一些使用场景”

        如果有什么建议,欢迎在评论区留言,主包一定改。

一、LINUX

        1.这一块我笔记有点乱,不如豆包,方法已经告诉你们了哦。

        2.另外,有时候参数有很多记一俩个就行了。标红全掌握(算了你们全看吧,标一半发现都很重要)。

        3.这部分知识会用笔试的情况。ls,pwd,mkdri,cp,vi(编辑保存),rm。可以跟豆包要实际面试题(开启“联网搜索”功能,没有的话就用deepseek)

一、文件与目录操作

1. ls - 查看文件和目录

bash

ls -l       # 长格式查看(显示权限、大小、时间等)
ls -a       # 显示隐藏文件
ls -lh      # 以人类可读的方式显示文件大小
ls -lt      # 按修改时间排序(最新的在前)

场景:查看测试环境中的日志文件、配置文件。

2. cd - 切换目录。
cd /var/log      # 进入系统日志目录
cd ..            # 返回上一级目录
cd ~             # 返回用户主目录

场景:快速定位到测试所需的目录(如测试脚本、数据文件所在目录)。

3. mkdir / rmdir - 创建 / 删除目录
mkdir test_dir          # 创建目录
mkdir -p a/b/c          # 递归创建多级目录
rmdir test_dir          # 删除空目录

场景:创建临时测试目录或清理测试数据。

4. cp / mv / rm - 复制 / 移动 / 删除文件
cp file.txt backup/     # 复制文件到目录
mv file.txt new_name    # 重命名文件
rm -f file.txt          # 强制删除文件
rm -rf test_dir         # 递归删除目录(慎用!)

场景:备份测试数据、清理临时文件。

二、文件内容查看与编辑

1. cat / more / less - 查看文件内容
cat app.log              # 查看小文件
more large_file.txt      # 分页查看大文件(空格下一页,b上一页)
less very_large.log      # 更强大的分页查看(支持搜索:/关键词)

场景:查看接口测试的响应日志、应用错误日志。

2. grep - 文本搜索
grep "ERROR" app.log               # 搜索包含ERROR的行
grep -i "warning" app.log          # 忽略大小写搜索
grep -r "api_key" /config/         # 递归搜索目录下所有文件

场景:从日志中筛选特定错误信息、查找配置文件中的敏感信息。

3. tail / head - 查看文件首尾内容
tail -n 20 app.log         # 查看日志最后20行(实时监控日志:tail -f)
head -n 10 config.ini      # 查看配置文件前10行

场景:实时监控接口请求日志、查看配置文件头部信息。

4. vim - 文本编辑(基础操作)
vim file.txt      # 编辑文件
i               # 进入插入模式(编辑内容)
Esc             # 退出插入模式
:wq             # 保存并退出
:q!             # 强制退出不保存

场景:临时修改测试配置文件、编辑简单的测试脚本。

三、权限与用户管理

1. chmod - 修改文件权限

bash

chmod +x script.sh       # 添加执行权限
chmod 644 config.ini     # 设置权限为rw-r--r--

场景:为测试脚本添加执行权限、限制配置文件的访问权限。

2. sudo - 以管理员权限执行命令

bash

sudo service nginx restart    # 重启Nginx服务
sudo apt-get install python3  # 安装软件

场景:在测试环境中安装依赖、重启服务。

四、进程与服务管理

1. ps / top / htop - 查看进程

bash

ps -ef | grep python         # 查看Python进程
top                        # 实时监控系统进程(按q退出)
htop                       # 更友好的进程监控工具(需先安装)

场景:确认测试应用是否正常运行、排查进程占用资源过高问题。

2. kill - 终止进程

bash

kill 12345                 # 终止PID为12345的进程
kill -9 12345              # 强制终止进程

场景:结束异常的测试进程、清理残留的后台任务。

3. service / systemctl - 管理服务

bash

service nginx status       # 查看Nginx状态
systemctl restart mysql    # 重启MySQL服务(CentOS 7+)

场景:启动 / 停止 / 重启测试环境中的服务(如 Web 服务器、数据库)。

五、网络与端口操作

1. ping / telnet - 网络连通性测试

bash

ping www.baidu.com         # 测试网络连通性
telnet api.example.com 80  # 测试端口连通性

场景:确认测试环境是否可以访问外部 API、检查服务器端口是否开放。

2. netstat / ss - 查看端口占用

bash

netstat -tulpn | grep 8080    # 查看8080端口占用情况
ss -tulpn | grep 80           # 更高效的端口查看工具

场景:排查端口被占用导致服务无法启动的问题。

3. curl / wget - 网络请求

bash

curl https://api.example.com/data    # 发送HTTP请求
wget https://example.com/file.zip     # 下载文件

场景:测试 API 接口、下载测试数据或依赖包。

六、其他实用命令

1. find - 文件搜索

bash

find / -name "*.log"            # 全局搜索.log文件
find /var/log -mtime -1         # 查找24小时内修改过的文件

场景:查找历史测试报告、定位丢失的配置文件。

2. gzip / tar - 压缩与解压

bash

tar -zcvf backup.tar.gz /data   # 压缩目录为tar.gz
tar -zxvf backup.tar.gz -C /tmp # 解压到/tmp目录

场景:打包测试报告、备份测试环境数据。

3. df / du - 磁盘空间查看

bash

df -h        # 查看磁盘使用情况
du -sh /data  # 查看目录占用空间

场景:检查测试环境磁盘是否已满、排查日志文件过大问题。

七、测试工作中的典型场景

  1. 接口测试

    • 使用 curl 发送 HTTP 请求测试 API。
    • 通过 grep 从日志中提取接口响应结果。
  2. 性能测试

    • 使用 top/htop 监控测试过程中服务器资源占用。
    • 通过 iostat/vmstat 分析系统性能瓶颈。
  3. 自动化测试

    • 使用 chmod 为测试脚本添加执行权限。
    • 通过 nohup 后台运行长时间测试任务。
  4. 环境搭建

    • 使用 sudo apt-get 或 yum 安装测试工具。
    • 通过 vim 修改配置文件部署测试环境。

八、快速记忆技巧

  1. 多用多练:在本地虚拟机或云服务器上实践命令。
  2. 善用帮助man 命令 查看详细手册(如 man ls)。
  3. 自定义别名:为常用命令组合设置别名(如 alias ll='ls -lh')。
  4. 快捷键
    • Tab 自动补全命令和文件名。
    • Ctrl + R 反向搜索历史命令。
    • Ctrl + C 终止当前命令。

九、sql命令

        这部分是我自己的笔记。你们也可以用上面的方法去问AI。

使用场景

 

查询数据(查看数据的准确性)

修改数据(方便测试)

 

库操作

表操作:

汇总

增删改查,多表联查,子查询,3种删除,分页分组,一些聚合函数

数据操作

#

 

多表联查

--内连接:INNER JOIN

-- 查询用户及其所属部门信息(仅返回两表匹配的记录)
SELECT users.username, departments.department_name
FROM users
INNER JOIN departments
ON users.department_id = departments.department_id;

--左 /  右连接:LEFT JOIN  /  RIGHT JOIN 

-- 查询所有用户及其订单信息(若无订单则订单字段为NULL)
SELECT users.username, orders.order_id, orders.order_date
FROM users
LEFT JOIN orders
ON users.user_id = orders.user_id;

应用:数据库表结合接口测试

接口--返回值

排序

--从小到大

select * from students order by age;

-- 从大到小

select * from students order by age desc, studentNo;

--先class,再studentNo

select * from students order by class, studentNo;

 

3个删除的区别。

-- delete from 表名 where 条件  (id = 6 )逻辑删除:用一个字段标识已删除

delete from students where id=6;

-- truncate table   表名  (删除表里的数据,保留结构)物理删除不可恢复。

truncate table studens;

-- drop table  表名  (删除数据表,数据和结构)物理删除不可恢复。

drop table students;

 

子查询

--条件:

select * from 表1  where id =(select id from 表2 where name='test001')

--数据:查询数据库和系统测试的课程成绩

select * from scores as sc inner join (

select * from courses where name in ('数据库','系统测试')

) as co on sc.courseNo=co.courseNo;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值