一、软件分类
单机版:不需要联网的软件
分布式:需要联网
C/S:需要下载客户端
B/S:直接浏览器打开即可
2. 软件测试原则(7大原则)
1.穷尽测试不可能
2.尽早介入测试
3.测试显示软件存在缺陷
4.杀虫剂悖论
5.缺陷集群性(2/8原则)
6.测试活动依赖于测试内容
7.没有错误是好是谬论
3. 开发模型有哪些
1.瀑布模型
2.快速原型模型
3.增量模型
4.敏捷开发
4. 测试模型有哪些,并画图
V模型:
用户需求 验收测试
需求分析 系统测试
概要设计 集成测试
详细设计 单元测试
编码和实现
w模型:
H模型
X模型
5. 测试流程
阶段名 工作内容 产出物
测试准备阶段 项目立项、需求分析、需求评审 需求文档、产品PRD
测试计划阶段 编写测试计划、计划评审 测试计划
测试设计阶段 提取测试点、编写测试用例、用例评审 测试用例
测试执行阶段 冒烟测试、执行测试用例、提bug、回归测试 缺陷报告
测试完成阶段 验收测试、编写测试报告、项目上线 测试报告
6. 测试分类
按技术:黑盒测试,白盒测试,灰盒测试,
按阶段:单元测试,集成测试,系统测试,验收测试
按内容:界面测试(UI测试),功能测试,兼容性测试,性能测试
按其他:冒烟测试,随机测试,安全性测试,探索性测试,α测试,β测试,回归测试
二、测试计划
0.封面:
1.测试目的(整体概述、详细描述:功能模块、bug情况、上线日期)
2.测试资源
人力资源:(姓名、职务、岗位职责)
软件资源:系统(Windows、MacOS、Linux)、浏览器、数据库、服务器
硬件资源:电脑、手机
网络资源:局域网、互联网
3.测试范围
测试对象
测试特性
非测试特性
4.测试风险(人资法环时)
编号 描述 等级 负责人 对测试影响 规避方法
5.人员分工:姓名、职务、工作内容
6.测试策略:界面测试,接口测试,兼容性测试,性能测试
7.测试进度:测试任务 负责人 预期开始时间 预期结束时间 时间进度 备注
8.测试准则:启动准则 暂停准则 再启动准则 结束准则
9.测试输出
名称 存放位置 备注
测试计划 git/svn
测试用例
缺陷报告
测试报告
软件说明书
三、测试用例
3.1 测试用例模板
1.用例编号
2.所属模块
3.用例标题:测试/验证在 什么情况 去做什么 结果是什么
4.优先级
5.前置条件
6.操作步骤
7.输入数据
8.预期结果
9.实际结果
10.是否通过
11.BugId
12.编写人
13.编写时间
14.测试人员
15.测试时间
16.备注
3.2 测试用例设计方法
1.等价类划分法
定义:所有数据分成若干区域,然后在每一个区域取最少具有代表性的数据测试
分类
有效等价类:合理的数据
无效等价类:不合理的数据
2.边界值分析法
定义:取稍高于或稍低边界值的数据进行测试
概念:开区间、闭区间,空心圆和实心圆
获取测试点:内点、上点、离点(开内闭外)
3.因果图法
定义:比较适合输入条件比较多的情况,测试所有的输入条件的排列组合
4.错误推测法
5.判定法
6.场景法:
定义:根据具体业务场景
标准流:正确完成的流程
备选流:存在异常的流程,对于基本流每一步都取反
7.正交实验法
定义:利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果。
四、禅道
1. 操作
1.人员管理(admin):添加部门 → 添加用户
2.创建产品(产品经理):产品 → 添加产品
3.添加需求(产品经理):产品 → 需求 → 提需求
4.创建项目(项目经理):项目 → 添加项目 → 自动跳转(选择设置团队)→ 团队管理 → 给团队配人
5.关联需求(项目经理):项目 → 需求 → 关联需求 → 勾选任务
6.批量分解(项目经理):在任务右侧 → 选择批量分解 → 批量分解
7.查看任务(开发人员):我的地盘 → 首页查看任务 → 点击任务数量进入任务列表 → 选择完成任务
8.创建版本(开发人员):项目 → 版本 → 创建版本
9.测试Bug(测试人员):测试 → bug → 提bug
10.解决bug(开发):测试 → bug → 确认 → 完成
11.再次测试(测试人员):测试 → 再次测试 → 如果解决的,点击关闭,否则重新编辑
12.创建版本(产品经理):产品 → 发布 → 创建发布 → 完成
五、缺陷报告
1.缺陷分类
根据测试种类:界面、功能缺陷、性能、安全、兼容性
根据严重程度:严重、一般、次要、轻微
根据优先级:立即解决、高优先级、正常排队、低优先级。
根据发生阶段:需求、架构、设计、编码、测试
2.Bug跟踪流程图
核心要素(8项)
缺陷编号
缺陷状态:新建、指派、打开、修复、拒绝、延期、回归、关闭、重开
缺陷标题
优先级
重现步骤:步骤、预期结果、实际结果
严重程度
缺陷类型
测试环境
指派人
提交人
提交时间
对应的测试用例
附件
模板
六、测试报告
1.概述
①编写目的:测试报告的描述、项目简介、测试内容描述。
②人员分工:姓名、职务、任务
③测试环境:软件、硬件环境
2.测试过程
①测试进度:测试任务、测试负责人、启动时间、计划完成时间、实际完成时间、备注
②用例执行情况:模块、用例总数、执行用例数、通过用例数、未通过用例数、阻塞用例数
③缺陷统计:模块、bug总数、新增bug总数、修复bug总数、遗留bug总数
3.缺陷分析
①按照级别分
②按照缺陷模块分
③按照缺陷类型分
4.测试总结
①测试结论:是否通过。各种率、按级别描述缺陷
②风险分析:编号、风险描述、规避方法和建议
③遗留问题:编号、缺陷描述、缺陷等级、处理方法
七、接口测试
1.HTTP和HTTPS区别
1、https协议需要申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式
2.请求组成:4部分组成,请求行、请求头、空行、请求体
3.响应组成:4部分组成,响应行、响应头、空行、响应体
4.常见状态码:200、301、404、500
200请求成功
301资源(网页等)被永久转移到其它URL
404请求的资源(网页等)不存在
500内部服务器错误
5.接口:
接口文档:能看懂,word、showdoc、swagger
接口测试:逻辑功能、路径测试、异常测试、其他异常情况
测试案例:使用postman进行get和post测试
接口测试用例
八、Charles
常用抓包工具:Charles、fiddler、wireshairk
1.安装证书:Charles → help → SSL Proxy → 安装web证书(第二个选项)
2.断点
右击地址 → breakpoints
Proxy → breakpoint settings → 添加接口
3.过滤
Proxy → Recording settings → include、exclude
在请求导航栏最下边输入我们要看到域名
4.模拟慢网速
Proxy → throttle settings
设置主机域名 、设定慢网速
5.模拟404/403
tools → blocklist :指定域名
6.压力测试:
repeat advanced:次数、并发数
7.抓包流程:客户端向服务端发送请求,Charles拦截并修改请求,服务端响应,Charles拦截,并伪装代理服务器向客户端发送响应
九、Fiddler
1.简介
2.配置:
1.电脑浏览安装、导入证书
2.移动端:
1. 前提:手机和电脑必须在同一个无线网
2.fiddler配置端口号(8888)、配置8888
3.主机地址:fiddler右上角、cmd
十、 数据库
1.什么是数据库?
是一个存储、管理、组织数据的仓储。
数据库 = 多张表 + 各表之间的关系
2.常见数据库
MySQL、SQLite、Oracle、Radis、SQL Server、MongoDB
3.数据库和SQL关系
数据库用来存放数据的,SQL是用来操作数据库中的数据的语言。
4.SQL语句分类
DDL:数据定义语言
DML:数据操作语言
DQL:数据查询语言
DCL:数据控制语言