论如何快速的培养一个软件测试工程师出来

中级软件测试工程师独立培养计划

一个朋友要去培训机构学习软件测试,学费2万,学时4个月。
认为这是在浪费钱和时间,遂及时劝阻朋友。 为避免朋友入坑,经过测算,最快需要2个半月才能教出来一个零基础起步的软件测试工程师。 设计的最终课纲如下:

一、linux操作系统使用

(1) linux历史了解:

  • 操作系统起源
  • 操作系统发展
  • unix历史
  • minix历史
  • 贝尔实验室历史

(2) 文件管理:

命令作用 命令举例
ssh 登录linux节点 ssh -P 22 [email protected]
查看文件列表 ls -l [dir]
切换目录 cd /tmp/
创建文件 touch file.txt
创建目录(文件夹) mkdir [-p] /tmp/xx/yy/zz
查看文件类型 file /tmp/file.txt
向文件写入内容 echo “你好,我在深圳” > /tmp/file.txt
向文件追加内容 echo “你好,我在深圳” >> /tmp/file.txt
打印文件内容 cat /tmp/file.txt
改变文件权限 chmod 644 /tmp/file.txt chmod u+w /tmp/file.txt chmod o+r /tmp/file.txt
文件重命名 mv /tmp/file.txt /tmp/file1.txt
本机移动文件 mv /tmp/file.txt /home/file1.txt
本机拷贝文件 cp /tmp/file1.txt /tmp/file2.txt
跨主机拷贝文件 scp /tmp/file2.txt [email protected]:/tmp
删除文件 rm -rf /tmp/file.txt
压缩文件 tar -cjvf file.tar.bz2 file.txt tar -czvf file.tar.gz file.txt
解压缩文件 tar -xjvf file.tar.bz2 tar -xzvf file.tar.gz
磁盘分区 fdisk /dev/sdb1
磁盘格式化 mkfs.ext4 /dev/sdb1
挂载磁盘 mount /dev/sdb1 /mnt
文件链接 ln -s /tmp/file-soft.txt /tmp/link-file
文本编辑工具学习 vim学习、grep命令、awk命令集、sed命令集学习
windows上传、下载文件到Linux主机 安装工具apt install lrzsz -y 发送文件:sz file.txt 接受文件:rz

(3) 系统包管理工具:

ubuntu 发行版本:apt 包管理工具学习(安装、查看、下载、更新)
centos 发行版本:yum 包管理工具学习(安装、查看、下载、更新)

(4) 进程管理:

命令作用 命令举例
查看进程资源占用情况 top
查找进程pid ps -aux| grep “key-of-target-process”
进程转入后台启动 ./a.out &
查看后台进程 jobs
后台进程转前台执行 fg %1
前台进程转入后台执行 bg % 1
杀死进程 kill -9 pid
进程脱离终端启动 nohup ./a.out > /dev/null 2>&1 &
内核模块查看 lsmode modinfo
系统异常查看 dmesg
系统日志文件查看 ls /var/log/
systemctl系统服务管理 管理mysql进程状态:systemctl start|status|stop mysqld

(5) 内存管理:

命令作用 命令举例
查看cpu核心数 lscpu
查看磁盘剩余空间 df -h
查看内存使用情况 free -h
回收内存 echo 1|2|3 > /proc/sys/vm/drop_caches

(6) 网络管理:

命令作用 命令举例
查看ip地址 ifconfig
测试网络联通性 ping www.sina.com
配置ip地址 netplan工具

(7) vim编辑器学习:

掌握基础技能:用vim打开文件、复制、粘贴、删除、编辑行/列、查找、替换字符串、退出vim编辑器

(8) shell编程:

cli参数解析、变量定义、函数定义、函数传参、for循环、while循环、if判断、数组定义

二、网络协议概念了解

协议类型 功能说明
tcpip协议 有顺序有状态的网络数据传输协议,用于raw数据传输。 会用
udp 无顺序无状态的网络数据传输协议。 常用于游戏画面传输。 熟悉即可
http/https1.0 通讯、文件传输。 了解协议格式、会用
https3.0技术 用的不多,尚未普及,了解技术发展趋势即可。
ftp 专门用于文件通过网络传输的一种协议,用于广域网。 仅了解用途
nfs 网络文件传输协议,用于局域网。 会用即可
websocket 一种轻量级的消息传递协议,比http轻量。 仅了解用途
mailbox 邮件传输协议。 仅了解用途
mqtt 物联网传输协议。 仅了解用途

三、常用数据编码格式了解

数据编码类型 功能说明
json 高级数据编解码协议。 学习json数据的格式
html web站点常用的组件渲染编码方式。 熟悉即可
protobuf 用于对数据有是实现要求的场景。 例如im聊天工具、游戏传输
cbor 二进制的json编码协议,区别与以上三种,cbor属于专用数据编码协议,数据压缩度比protobuf高,用于区块链技术

四、开发语言类

python(重点学习):

python环境搭建、基础语法、变量类型、运算符号、条件语句、while/for循环语句、循环嵌套、break语句、continue语句、List链表、字符串、元组类型数据、字典类型数据、函数定义、(系统、第三方、本工程)模块管理、文件读写、目录操作、异常处理、正则表达式(仅做了解即可)、CGI编程、读写mysql数据库、多线程、json解析、定时器

java(仅做了解):

安装jdk、maven包管理、编译

c/c++编程(仅做了解):

gcc、g++、make、makefile、cmake、gdb概念了解

golang(仅了解):

gomod 项目管理工具了解

nodejs(了解):

了解使用场景:web前后端开发

五、数据库、消息队列、虚拟化、AI框架、源码管理工具

mysql数据库安装使用:

mysql单例搭建、创建数据表、增删改查数据表、数据表扩容、Msqyl集群搭建

redis数据库安装使用:

redis单例搭建,操作数据:字符串、哈希、列表、集合、有序集合。

redis集群搭建:cordis + redis

kafka消息队列搭建:

理解消息队列概念、学会搭建消息队列服务器

docker容器安装使用

docker安装、镜像拉取、镜像查看、容器启动、容器状态查看、容器日志查看、进入容器命令行

k8s集群管理(虚拟化技术,在当前这个阶段仅了解,下半年有空再学习):

k8s容器编排概念、deployment、pod概念、yaml配置文件启动|管理容器实例、亲手搭建k8s集群

nginx搭建一个http服务器

nginx搭建http服务器,nginx搭建正向/反向代理服务器、nginx搭建文件服务器

gluster存储集群搭建、ceph存储集群搭建、minio对象存储:

仅了解当前存储技术

raid集群搭建:

zpool 工具学习,搭建raid 阵列

pytorch、tensorflow:

学会安装AI框架、导入基本的计算单元进行运算

git源码管理工具学习:

会用git切换源码分支、下载源码、查看版本日志即可

六、测试工具

  • curl网络客户端命令使用
  • adb命令远测测试手机
工具 说明
curl 知名的网络客户端工具,用于服务器测试
adb 手机远程协助协议,用于远程连接手机。 用于手机测试
stf 知名的手机测试自动化工具,可以在web页面控制海量的智能安卓手机,对手机进行批量测试
TestComplete 开源免费的测试自动化工具,用于web测试

七、测试理论、测试方法

  • 控制变量法
  • 自上而下测试
  • 自下而上测试
  • 梯度测试
  • 边界测试
  • 破坏性测试
  • 黑盒测试
  • 白盒测试
  • 盲盒测试

八、markdown格式文档编写

学会markdown文档编写、学会编写测试报告的内容格式

九、实战项目

  • web压力测试
  • 服务器压力测试
  • app功能测试

猜你喜欢

转载自blog.csdn.net/jacky128256/article/details/121432170