课程名称 | 课程内容 | 知识要点 |
第一阶段: 掌握计算机软硬件、计算机网络基础,了解前后端分离软件系统的基本框架;掌握软件测试理论、流程、方法,能够独立完成功能测试,能够独立完成前后端分离集群环境搭建。 |
计算机基础 | 计算机基础 | 1.计算机概述、软硬件系统、计算机发展 2.计算机在工作中的应用 3.计算机的组成 4.操作系统基本概念 |
DOS命令基本操作 | 常用的DOS命令 |
计算机的数制 | 1.基本数制类型 2.数制之间转换 |
计算机网络概述 | 1.网络的基本类型 2.IP地址的概念及分类 3.DNS域名解析 4.常见网络设备 5.IP地址配置 |
HTML语法基础 | 1.HTML的基本概念、HTML文件结构 2.IDE工具的安装与使用 3.常用的HTML标签 4.iframe框架 5.页面布局 |
http协议基础 | http协议概念、fiddler抓包 |
测试理论 | 测试流程、策略、模型 | 1.软件测试概述 2.研发流程 3.测试流程 4.软件测试方法 5.测试策略 6.软件质量模型 |
测试需求分析与用例设计 | 1.需求分析,XMind工具的使用 2.测试设计方法 3.测试用例编写规范 |
测试执行与管理 | 1.常用测试管理工具禅道、Redmine的环境搭建与使用 2.测试执行策略的理解 3.缺陷的识别、书写规范、缺陷处理流程 |
测试报告与总结 | 1.测试报告编写规范 2.测试度量、测试指标、测试评估 |
Linux操作系统-CentOS | Linux系统的安装与使用入门 | 1.安装CentOS7操作系统 2.Linux的发展历史 3.远程登录工具Xshell的安装与使用 4.Linux的命令格式 5.Linux的7种运行 6.Linux的结构:内核层、Shell层、文件系统、应用层 |
Linux文件与目录管理 | 1.Linux的目录结构及常见目录 2.目录相关操作命令 3.文件相关操作命令 4.通配符的使用 5.复制文件、目录的命令 6.移动文件、目录的命令 7.搜索命令 8.硬链接与软链接 9.文本编辑命令 |
系统资源统计、管道符、环境变量 | 1.统计文件的行数和字节数 2.统计文件占用的磁盘空间大小 3.统计主机的磁盘使用情况 4.统计内存的使用情况 5.统计CPU的使用情况 6.输出重定向 7.管道符的使用 8.环境变量 |
Linux用户管理 | 1.用户与用户组 2.用户的创建修改删除、用户切换 3.用户组的创建修改删除 |
Linux的软件安装 | 1.yum命令安装 2.rpm包安装 3.源码安装 4.apache、Tomcat、Nginx的安装与使用 |
计算机网络 | 计算机网络基础 | 1.计算机网络体系结构 2.OSI七层协议 3.TCP/IP体系结构 4.网络数据传输过程 5.TCP三次握手与四次挥手 6.常用网络协议 |
Linux网络操作命令 | 网络接口查看、启用/禁用网络接口、netstat命令、ping命令、lsof命令、tcpdump抓包、wireshark包分析 |
Linux网络操作工具 | 1.远程登录工具XShell/SecureCRT 2.远程拷贝文件工具XFTP/Winscp 3.远程拷贝文件命令scp |
Shell脚本 | Shell脚本 | Shell脚本的基础语法 |
数据库-MySQL+Redis | MySQL数据库基础 | 1.数据库定义、数据库管理软件 2.MySQL数据库安装、客户端安装、sql脚本执行 3.数据库的数据类型 4.数据库的基本操作 5.MySQL数据库的常用函数 |
MySQL数据库增删改查 | 1.数据库查询语句 2.数据库插入语句 3.数据库修改语句 4.数据库删除语句 |
MySQL数据库维护操作 | 1.备份数据库与表 2.还原数据库与表 |
索引、视图、存储过程 | 索引、视图、存储过程的概念 |
非关系型数据库:Redis | 1.Redis介绍、安装、配置 2.Redis的常用命令 |
轮考核 | 轮笔试+技术答辩 |
App专项测试 | 移动App测试概述 | 1.App的概念,Web和App测试的区别 2.Android App与iOS App的区别 3.常用adb命令的使用 4.monkey命令详解 5.PC端管理软件的使用 6.Android模拟器的使用 |
移动App测试要点 | 1.安装、卸载测试 2.功能测试 3.UI测试(高保真设计) 4.兼容性测试 5.弱网测试 6.稳定性测试 7.交互测试 8.耗电量测试 9.升级测试 10.前后台切换测试 11.push消息测试 12.App常见问题的日志分析 13.移动端性能工具PerfDog的使用 |
应用框架 | 常见应用框架 | 1.常见的系统应用架构:单体、分布式、微服务架构等 2.Docker容器技术 3.基于Docker容器的应用部署 |
项目实战 | Web项目实战 | 1.Web项目的后台安装 2.需求分析、用例设计、执行、提单、项目总结 |
App项目实战 | 1.App项目的后台安装 2.需求分析、用例设计、执行、提单、项目总结 |
测试环境部署实战 | 基于Centos+Nginx+Tomcat集群测试环境搭建 |
考核 | 轮考核 | 轮笔试+技术答辩 |
第二阶段: 熟练掌握Python基础语法和高阶语法、selenium库的常用方法,能编写Web自动化的数据驱动脚本,能够独立完成Web自动化框架搭建。 |
Python基础语法 | 计算机语言的发展与分类 | 1.计算机语言的发展与分类 2.编译型与解释型的代表语言、优势 3.面向过程与面向对象 4.Python的特点 |
Python环境安装 | 1.安装Python解释器 2.IDE的安装与配置-PyCharm 3.安装第三方库的方法 |
Python的输入与输出 | 1.输出函数print 2.格式化输出,格式控制:%s,%d,%f 3.输入函数input |
数据类型-数值型 | 1.Python标识符、命名规范 2.变量的声明与使用 3.常量 4.数值型 5.二进制、八进制、十六进制数的表示 6.十进制、二进制、八进制、十六进制之间的转换 |
数据类型-字符串str | 1.Python中的引号 2.字符串的声明 3.字符串的切片 4.字符串的常用函数 5.字符串的常用方法 6.字符串的驻留机制 7.转义字符 \' \" \\ \t \n \x |
数据类型-列表list | 1.列表的声明 2.列表的切片 3.列表的常用函数 4.列表的常用方法 5.列表跟字符串之间的转换 |
数据类型-元组tuple | 1.元组的声明 2.元组的切片 3.元组的常用函数和方法 4.修改元组的元素 5.元组的作用与用途 |
数据类型-range | 1.range的声明 2.range的优势 |
数据类型-字典dict | 1.字典的声明 2.字典的常用操作 |
数据类型-集合set | 1.集合的声明 2.集合的运算 3.集合的常用方法 |
数据类型-布尔型bool | 1.布尔型:True和False; 2.非空为True,空位False |
数据类型-特殊类型None | 1.None和空的区别 2.None与null的区别 |
Python运算符 | 1.算数运算符 2.比较运算符 3.逻辑运算符 4.位运算符 5.身份运算符 6.成员运算符 7.赋值运算符 8.三元运算符 |
流程控制 | 1.条件判断 2.循环 3.几个常用语句 4.循环的嵌套 |
函数 | 1.函数的作用 2.函数的分类 3.自定义函数 4.匿名函数lambda |
Python 高阶语法 | 推导式(解析式) | 1.列表推导式 2.字典推导式 3.集合推导式 4.生成器推导式 |
可迭代对象、迭代器、生成器 | 1.迭代的概念 2.可迭代对象 3.迭代器 4.生成器 |
面向对象编程思想 | 1.面向对象的思想 2.声明一个类 3.继承 4.多态 5.封装 6.代码入口:if __name__ == '__main__' 7.私有方法或属性 |
常用模块 | 1.模块的导入 2.常用的内置模块 2.1 os 2.2 sys 2.3 time 2.4 json 2.5 random 2.6 string 3.常用的外置模块 3.1 openpyxl 3.2 pyMySQL 3.3 pyyaml 3.4 unittestreport |
文件的操作 | 1.open函数 2.打开文件的模式 3.with open结构 |
装饰器 | 1.将函数作为参数传给另一个函数 2.装饰器的作用 3.装饰器的定义及调用 4.functools.wraps装饰器 5.装饰器的应用场景 |
错误与异常 | 1.错误与异常的区别 2.Python内置的异常 3.处理异常:try…except…else…finally…结构 4.抛出异常 5.自定义异常 |
专题小测验 | 专题小测验 |
Python +Selenium实现Web自动化 | Web自动化基本概念 | 1.什么是自动化 2.为什么要做自动化 3.哪些场景适合做自动化 |
Web自动化环境的安装 | 安装selenium模块、浏览器驱动 |
8种基本的元素定位方法 | 1.通过元素的属性定位 2.通过Xpath路径表达式定位:find_element_by_xpath() 3.通过CSS选择器表达式定位:find_element_by_css_selector() |
8种复数定位方法 | 1.8种复数定位方法 2.复数定位方法与单数定位方法的区别 |
二次定位 | 1.二次定位的实现原理 2.二次定位的使用举例 |
获取定位元素的属性值 | get_attribute()方法 |
定位子页面中的元素 | 页面切换的方法 |
下拉选择框的操作 | 下拉选择操作的方法 |
执行js脚本 | execute_script()方法 |
切换窗口 | 常用方法和属性 |
上传文件 | 使用send_keys()方法来上传文件 |
滚动条的操作 | 通过执行js脚本来实现滚动条的操作 |
截图 | 1.通过driver.get_screenshot_as_file方法来截图 2.通过Pillow-PIL模块来截图 |
在代码中设置等待时间 | 1.强制等待 2.隐式等待 3.显式等待 |
鼠标事件、键盘事件 | 1.动作链:ActionChains模块 2.鼠标事件 3.键盘事件 |
Web自动化测试框架搭建 | 框架封装 | 代码分层设计 1.公共层:放自己封装的底层方法 2.页面层:放页面逻辑,PO模式 3.数据层:放数据文件json、yaml等 4.用例层:放用例 5.结果层:放结果(日志,报告等) |
unittest单元测试框架 | 1.测试类、测试用例的声明方法 2.测试固件test fixture 3.测试套件test suite 4.测试运行器test runner 5.unittest中的装饰器 |
数据文件 | 1.yaml文件的操作 2.json文件的操作 3.ini文件的操作 |
参数化-ddt | 1.参数化的概念及作用 2.参数化模块ddt的使用 |
生成html格式的报告 | HTMLTestRunner,TestRunner模块的使用 |
邮件发送 | 1.smtplib模块 2.连接服务器、构造邮件内容、发送邮件 |
自动化中验证码的处理 | 1.验证码的处理方法及步骤 2.通过打码平台实现打码 |
日志模块-logging | 1.Logger对象 2.Formatter对象 3.Handler对象 4.Filter对象 5.为测试代码添加日志输出 |
考核 | 第二轮考核 | 第二轮笔试 |
项目实战 | Web自动化项目实战 | 1.独立完成Python+Selenium+Unittest自动化框架搭建 2.项目重要功能模块实现Web自动化测试 |
第三阶段: 掌握http协议的报文格式,会使用fiddler工具抓取http请求并分析;掌握postman工具测试接口;熟练使用JMeter工具完成接口测试;能够独立搭建接口自动化测试框架进行接口自动化测试,能够掌握Jenkins的使用;会使用JMeter工具完成系统的压力测试,分析系统的性能指标。 |
http协议详解与接口的基本概念 | 抓包工具fiddler | 1.fiddler的安装 2.fiddler抓包的原理 3.fiddler分别抓取Web和App的包 4.fiddler抓取https 5.fiddler页面布局介绍 6.fiddler过滤主机 |
http协议 | 1.什么是http协议、tcp/ip协议族 2.http协议的工作原理 3.http与https的区别 4.http报文格式 5.http请求方法 6.url格式 7.http信息头 8.http状态码 9.cookie、session与token |
接口的基本概念 | 1.前端与后端的概念 2.什么是接口测试 3.为什么要进行接口测试 4.接口测试的测试点 5.接口测试的工具 6.接口的分类 7.接口的管理方式 8.什么时候进行接口测试 9.第三方接口 10.mock数据-通过fiddler实现mock数据 |
使用postman工具测试接口 | postman工具测试接口 | 1.postman的介绍与安装 2.postman发送get和post请求 3.断言 4.环境变量 5.参数化 6.cookie管理器 7.newman命令运行postman脚本并生成报告 |
JMeter工具详解 | JMeter的安装与基本概念 | 1.JMeter简介 2.JMeter安装 3.JMeter的基本概念 |
JMeter八大组件介绍 | 1.取样器 2.配置元件 3.前置处理器 4.后置处理器 5.逻辑控制器 6.定时器 7.断言 8.测试片段
9.各组件的作用域
10.各组件的运行顺序
|
JMeter脚本录制 | 使用第三方工具badboy录制并导出JMeter脚本 |
逻辑控制器 | 1.If控制器If Controller 2.循环控制器Loop Controller 3.While控制器While Controller 4.ForEach控制器ForEach Controller 5.仅一次控制器Once Only Controller 6.交替控制器 7.简单控制器Simple Controller 8.事物控制器Transaction Controller |
参数化 | 1.使用CSV 数据文件实现参数化 2.使用函数实现参数化 |
JMeter中的函数 | 1.JMeter的常用函数: 2.JMeter变量调用与属性调用的方法 3.JMeter变量的跨线程组调用 |
接口的关联与后置提取器 | 1.cookie关联与数据关联 2.正则表达式提取器 3.xpath提取器 4.css提取器 5.json提取器 |
JMeter操作数据库 | 1.MySQL驱动包的导入 2.jdbc连接配置元件的配置 3.jdbc请求元件的使用 |
JMeter的断言元件 | 1.响应断言 2.json断言 3.大小断言 4.xpath断言 5.持续时间断言 |
BeanShell元件 | 1.什么是BeanShell 2.Beanshell取样器 3.BeanShell 预处理程序 4.BeanShell后置处理程序 5.BeanShell断言 |
JMeter的元件 | 1.汇总报告 2.聚合报告 |
命令行模式运行JMeter脚本 | 通过命令行模式运行JMeter脚本并生成报告 |
Python+Requests实现接口自动化 | requests模块的安装 | 1.requests模块的概述 2.requests模块的安装 |
requests模块的常用函数 | 1.request函数 2.get函数 3.post函数 4.Response类 |
接口的关联 | 1.cookie依赖的处理 1.1 CookieJar对象的概念 1.2 CookieJar对象的常用属性与方法 1.3 请求中传入cookie的方法 2.Session对象 2.1 实例化Session对象 2.2 Session对象的作用 3.Python的正则模块re 3.1 正则表达式的语法 3.2 re模块中的函数 3.业务依赖的处理 3.1 通过正则表达式提取数据,传入到请求中 |
接口自动化测试框架搭建 | 接口自动化的框架设计 | 1.自动化用例模板设计 2.公共操作类的封装:实现excel、json文件的读写操作 3.数据文件层:json、excel、ini等文件 4.请求操作类的封装:实现请求方法的封装,实现Cookie关联和数据关联的处理 5.用例管理层:用单元测试框架pytest来编写用例 6.测试结果层:存放测试的报告、日志等 |
单元测试框架:pytest | 1.什么是pytest以及pytest的安装 2.pytest框架标识符命名规范 3.在pycharm上以pytest框架运行脚本的方法 4.在DOS下以pytest框架运行脚本的方法:pytest命令、py.test命令、Python命令 5.pytest中的断言:assert语句 6.pytest中的默认的固件 7.pytest中的自定义固件 8.实现自定义固件中的teardown代码 9.conftest.py文件 10.pytest中常用的装饰器 11.pytest的参数化 12.unittest和pytest的区别总结 |
pytest框架封装测试用例 | 使用pytest框架编写用例,实现接口自动化代码结构的的用例层封装 |
生成接口自动化的测试报告 | 1.pytest-html插件的安装与使用 2.allure工具生成报告 |
Jenkins持续集成 | Python+SVN+Jenkins实现自动化测试的持续集成 | 1.Jenkins的安装 2.将项目上传到github/SVN 3.新建Jenkins项目 4.General、源码管理、构建触发器、构建、构建后操作配置 5.构建 6.邮件配置 |
考核 | 第三轮考核 | 第三轮笔试 |
项目实战 | 接口自动化项目实战 | 1.独立完成Python+Requests+Pytest自动化框架搭建 2.项目接口实现接口自动化测试 |
性能测试-JMeter | 性能测试概述 | 1.什么是软件性能 2.什么是性能测试 3.什么时候进行性能测试 |
关键性能指标讲解 | 1.负载 2.QPS与TPS 3.响应时间 4.思考时间 5.并发用户数 6.吞吐量 7.PV、UV、IP 8.可用性 9.CPU利用率 10.内存占用指标 |
性能测试的类型 | 1.负载测试 2.压力测试 3.配置测试 4.并发测试 5.可靠性测试 |
性能测试工具 | 1.主流的性能测试工具介绍 2.JMeter的分布式 3.JMeter集合点 4.JMeter的第三方插件的安装与使用 |
性能监控工具 | 1.JMeter的perfmon插件 2.nmon工具 3.perfdog工具 |
典型性能问题分析 | 典型性能问题分析讲解 |
项目实战 | 性能测试项目实战 | 1.性能测试中构造测试数据 2.项目一:验证系统的登录并发数是否达标 3.项目二:测试项目的并发 |
第四阶段: 简历书写、面试技巧,以及职业素养,在就业老师的指导下,完成就业,进入测试岗位。 |
就业指导 | 复习串讲 | 重点串讲、二阶段的知识,结合面试典型问题讲解,帮助学生梳理所需知识 |
就业课 | 面试技巧 |
简历指导 | 简历指导 |
|
|