一、软件的分类
1、软件的定义
一系列按照特定顺序组织的计算机数据和指令的集合。
软件=数据+指令+文档
2、根据应用场景分类
工具类软件、游戏型软件、媒体型软件、电商型软件等
3、根据软件架构分类
单机版软件、分布式软件
1,单机版软件:office、红警等
2,分布式软件:
c/s:客户端需安装专门软件,如QQ 微信等
b/s:客户端为浏览器,如百度,hao123等
二、软件测试的定义与原则
1、软件测试的定义
通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程。
2、软件测试的原则
测试显示软件存在缺陷
穷尽测试不可能
测试尽早介入
缺陷集群性
测试活动依赖于测试内容
没有错误是好是谬论
杀虫剂悖论
三、开发与测试模型的介绍
1、开发模型
瀑布模型

优点:为项目提供了按阶段划分的检查点,当前一阶段完成后,只需要去关注后续阶段。
缺点:各阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
快速原型模型
增量模型
敏捷开发
2、测试模型
v模型

w模型

四、软件测试的流程


五、软件测试的分类

1、按技术划分
黑盒测试,白盒测试,灰盒测试
2、按阶段划分
单元测试,集成测试,系统测试,验收测试
3、按内容划分
功能测试,性能测试,兼容性测试
4、按其他划分
冒烟测试,随机测试,安全性测试,探索性测试,α测试,β测试,回归测试
六、测试计划
测试目的(整体概述、详细描述:功能模块、bug情况、上线日期)
测试资源:人力资源(姓名、职务、岗位职责),软件资源:系统(Windows、MacOS、Linux)、浏览器、数据库、服务器,硬件资源:电脑、手机,网络资源:局域网、互联网
测试范围:测试对象,测试特性,非测试特性
测试风险:编号,描述,等级,负责人,对测试影响,规避方法
人员分工:姓名、职务、工作内容
测试策略:做什么样测试
界面测试
接口测试
兼容性测试
性能测试
测试进度:测试任务,负责人,预期开始时间,预期结束时间时间进度,备注
测试准则:启动准则,暂停准则,再启动准则,结束准则
测试输出:名称,存放位置,备注
七、测试用例
1、用例模板
用例编号
所属模块
用例标题:测试/验证在 什么情况 去做什么 结果是什么
优先级
前置条件
操作步骤
输入数据
预期结果
实际结果
是否通过
BugId
编写人
编写时间
测试人员
测试时间
备注
2、测试用例设计方法
等价类划分
边界值分析法
因果图法
判定法
错误推测发
场景法
正交实验法
八、禅道
1、安装登录
安装:双击安装,点击启动即可
登录:点击访问禅道→登录数据库→管理员登录禅道
2、操作
人员管理(admin):添加部门 → 添加用户
创建产品(产品经理):产品 → 添加产品
添加需求(产品经理):产品 → 需求 → 提需求
创建项目(项目经理):项目 → 添加项目 → 自动跳转(选择设置团队)→ 团队管理 → 给团队配人
关联需求(项目经理):项目 → 需求 → 关联需求 → 勾选任务
批量分解(项目经理):在任务右侧 → 选择批量分解 → 批量分解
查看任务(开发人员):我的地盘 → 首页查看任务 → 点击任务数量进入任务列表 → 选择完成任务
创建版本(开发人员):项目 → 版本 → 创建版本
测试Bug(测试人员):测试 → bug → 提bug
解决bug(开发):测试 → bug → 确认 → 完成
再次测试(测试人员):测试 → 再次测试 → 如果解决的,点击关闭,否则重新编辑
创建版本(产品经理):产品 → 发布 → 创建发布 → 完成
九、缺陷报告
1、什么是缺陷?引起原因?
影响软件正常运行的问题,也叫Bug,包含软件和文档。
2、原因
软件结构复杂
编码问题
使用新技术
需求不明确或者更改需求
项目周期短,时间紧迫
3、缺陷分类
根据测试种类:界面、功能缺陷、性能、安全、兼容性
根据严重程度:严重、一般、次要、轻微
根据优先级:立即解决、高优先级、正常排队、低优先级。
根据发生阶段:需求、架构、设计、编码、测试
4、画出Bug跟踪流程图

5、核心要素(8项)
缺陷编号
缺陷状态:新建、指派、打开、修复、拒绝、延期、回归、关闭、重开
缺陷标题
优先级
重现步骤:步骤、预期结果、实际结果
严重程度
缺陷类型
测试环境
指派人
提交人
提交时间
对应的测试用例
附件
6、模板

十、测试报告
1、模板
概述
编写目的:测试报告的描述、项目简介、测试内容描述。
人员分工:姓名、职务、任务
测试环境:软件、硬件环境
测试过程
测试进度:测试任务、测试负责人、启动时间、计划完成时间、实际完成时间、备注
用例执行情况:模块、用例总数、执行用例数、通过用例数、未通过用例数、阻塞用例数
缺陷统计:模块、bug总数、新增bug总数、修复bug总数、遗留bug总数
缺陷分析:按照级别分,按照缺陷模块分,按照缺陷类型分:版本、趋势
测试总结
测试结论:是否通过。各种率、按级别描述缺陷
风险分析:编号、风险描述、规避方法和建议
遗留问题:编号、缺陷描述、缺陷等级、处理方法
十一、接口测试
HTTP和HTTPS区别
请求组成:4部分组成,请求行、请求头、空行、请求体
响应组成:4部分组成,响应行、响应头、空行、响应体
Http版本:1.1
常见状态码:200、301、404、500
接口:
接口文档:能看懂,word、showdoc、swagger
接口测试:逻辑功能、路径测试、异常测试、其他异常情况
测试案例:使用postman进行get和post测试
接口测试用例
十二、charles
1、常用抓包工具

2、Charles安装、代理配置(端口、可接受的IP)
3、客户配置:电脑和手机,web和移动抓包
4、安装证书:
安装证书:Charles → help → SSL Proxy → 安装web证书(第二个选项) →
导出证书:Charles → help → SSL Proxy → save
导入证书:
HTTPS代理设置:Charles → Proxy → SSL Proxy settings → 端口=443,IP=*
5、断点
右击地址 → breakpoints
Proxy → breakpoint settings → 添加接口
6、过滤
Proxy → Recording settings → include、exclude
在请求导航栏最下边输入我们要看到域名
7、模拟慢网速
Proxy → throttle settings
设置主机域名 、设定慢网速
8、模拟404/403
tools → blocklist :指定域名
9、压力测试:
repeat advanced:次数、并发数
十三、fiddler
1、简介
2、配置:
电脑浏览安装、导入证书
移动端:
前提:手机和电脑必须在同一个无线网
fiddler配置端口号(8888)、配置8888
主机地址:fiddler右上角、cmd
十四、数据库
1、什么是数据库
是一个存储、管理、组织数据的仓储。
数据库 = 多张表 + 各表之间的关系
2、常见数据库
MySQL、SQLite、Oracle、Radis、SQL Server、MongoDB
3、数据库和SQL关系
数据库用来存放数据的,SQL是用来操作数据库中的数据的语言。
4、SQL语句分类
DDL:数据定义语言
库:5
表:7 + 4

DML:数据操作语言
插入数据:(2)

注意事项:字符集修改(2)

删除数据(3)

注意:delete from 表名 和 truncate table 表名区别
修改数据(3)

DQL:数据查询语言

DCL:数据控制语言
多表设计
一对一:
一对多:
多对多:子查询

select * from student where id in(select student_id from teacher_student where teacher_id =(select id from teacher where name='李老师'));
多表联查
交叉查询:

内连接查询:

左外连接

右外连接

MySQL图形化工具
Navicat