一、测试理论
(1) 软件分类
(1)单机版:不需要联网。如红警、office等。
(2)分布式:需要联网。如QQ、微信。C/S:需要下载客户端。B/S有浏览器即可。
(2)测试原则
1、测试显示软件存在缺陷。
2、没有错误是好是谬论。
3、测试活动依赖于测试内容。
4、穷尽测试是不可能的。
5、缺陷集群性。
6、杀虫剂悖论。
7、尽早介入测试。
(3)开发模型有哪些
1、瀑布模型
2、快速原型模型
3、敏捷开发模型
4、增量模型
(4)测试模型有哪些
(1)V模型、W模型、H模型、X模型
1、V模型
2、W模型
(5)测试流程
阶段名 工作内容 产出物
测试准备阶段 项目立项、需求分析、需求评审 PRD文档
测试计划阶段 编写测试计划、计划评审 测试计划
测试设计阶段 提取测试点、编写测试用例、用例评审 测试用例
测试执行阶段 冒烟测试、执行测试用例、提bug、回归测试 缺陷报告
测试完成阶段 验收测试、编写测试报告、项目上线 测试报告
(6)测试分类
二、测试计划
1、测试目的(功能模块、整体描述、详细描述、bug情况、上线日期)
2、测试资源(人力资源、软件资源、硬件资源、网络资源)
3、测试范围(测试对象、测试特性、非测试特性)
4、测试风险(风险编号、风险描述、负责人、风险等级、对测试的影响、规避方法)
5、人员分工(职务、姓名、工作内容)
6、测试策略(界面测试、接口测试、性能测试、兼容性测试)
7、测试进度(测试任务、负责人、预期开始时间、预期结束时间、完成时间、备注)
8、测试准则(启动准则、暂停准则、再启动准则、关闭准则)
9、测试输出(名称、存放位置、备注)
三、测试用例
(1)测试用例模板:
用例编号
所属模块
用例标题
优先级
前提条件
操作步骤
输入数据
预期结果
实际结果
Bugid
是否通过
编写人员
编写时间
测试人员
测试时间
备注
(2)测试用例设计方法:
1、等价类划分法
2、边界值分析法
3、错误推测法
4、因果图法
5、正交实验法
6、判定法
7、场景法
(3)如何设计测试用例:
(1)分析需求
(2)提取测试点
(3)设计测试用例
四、禅道
(1)安装登录
1、安装:双击安装,点击启动即可
2、登录:点击访问禅道----->登录数据库(禅道运行环境最下边一行的密码和账号)----->管理员登录禅道(默认账号:admin,密码:123456)
(2)操作
1、人员管理(admin):添加部门 --->添加用户
2、创建产品(产品经理):产品 --->添加产品
3、添加需求(产品经理):产品 --->需求 --->提需求
4、创建项目(项目经理):项目 ---> 添加项目 --->自动跳转(选择设置团队)--->团队管理 --->给团队配人
5、关联需求(项目经理):项目 --->需求 --->关联需求 --->勾选任务
6、批量分解(项目经理):在任务右侧 --->选择批量分解 ---> 批量分解
7、查看任务(开发人员):我的地盘 ---> 首页查看任务 --->点击任务数量进入任务列表 --->选择完成任务
8、创建版本(开发人员):项目 --->版本 --->创建版本
9、测试Bug(测试人员):测试 --->bug --->提bug
10、解决bug(开发):测试 → bug --->确认 ---> 完成
11、再次测试(测试人员):测试 --->再次测试 --->如果解决的,点击关闭,否则重新编辑
12、创建版本(产品经理):产品 ---> 发布 --->创建发布 --->完成
五、缺陷报告
(1)什么是缺陷?引起的原因?
1、影响软件正常运行的问题,也叫Bug,包含软件和文档。
2、原因
1、软件结构复杂
2、编码问题
3、使用新技术
4、需求不明确或者更改需求
5、项目周期短,时间紧迫
(2)缺陷分类
1、根据测试种类:界面、功能、性能、安全、兼容性
2、根据严重程度:严重、一般、次要、轻微
3、根据优先级:立即解决、高优先级、正常排队、低优先级
4、根据发生进度:需求、架构、设计、编码、测试
(3)Bug跟踪流程图
(4)核心要素:
1、缺陷编号
2、缺陷状态
3、缺陷标题
4、优先级
5、重现步骤
6、严重程度
7、缺陷类型
8、测试环境
9、指派人
10、提交人
11、提交时间
12、测试用例
13、附件
(5)模板
六、测试报告
(1)概述
1、编写目的
2、人员分工
3、测试环境
(2)测试过程
1、测试进度
2、用例执行情况
3、缺陷统计
(3)缺陷分析
1、按照级别分
2、按照缺陷模块分
3、按照缺陷类型分
(4)测试总结
1、测试结论
2、风险分析
3、遗留问题
七、接口测试
(1)http和https区别
http是超文本传输协议
https是具有安全性的ssl加密传输协议
(2)请求组成:
4部分组成,请求行、请求头、空行、请求体
(3)响应组成:
4部分组成,响应行、响应头、空行、响应体
(4)常见状态码:
200(请求成功)
301(资源、网页等被永久转移到其它URL)
404(请求的资源、网页不存在)
500(内部服务器错误)
八、Charles
(1)抓包过程
charles抓包过程:
1.获取本地ip地址:win+r在运行中输入cmd,在打开的命令行中输入ipconfig回车
2.在打开的charles中点击proxy->proxy→settings...在打开的proxy→settings对话框勾选enable transparent http proxying并设置端口号为:8888
3.使手机连接到代理服务器pc同一网络下,组成局域网
4.设置手机代理为手动,代理服务器信息为pc端ip地址以及相应的8888端口
5.用手机访问项目地址进行抓包,查看charles抓到的内容。
(2)常用抓包工具:
Fiddler、Charles、Wireshark、HttpWatch、BurpSuite
(3)安装证书:
安装证书:Charles → help → SSL Proxy --->安装web证书
导出证书:Charles → help → SSL Proxy ---> save。
导入证书:浏览器打开设置找到管理证书,导入。
HTTPS代理设置:Charles ---> Proxy ---> SSL Proxy settings ---> 端口=443,IP=*。
(4)断点
1、 右击地址 → breakpoints
2、proxy---> breakpoint settings ---》添加接口
(5)模拟慢网速
1、 Proxy → throttle settings
2、设置主机域名 、设定慢网速
(6)模拟404/403
tools → blocklist :指定域名
(7)压力测试:
repeat advanced:次数、并发数
九、Fiddler
(1)配置:
1、电脑浏览安装、导入证书
2、移动端:
3、前提:手机和电脑必须在同一个无线网
fiddler配置端口号(8888)、配置8888
主机地址:fiddler右上角、cmd
十、数据库
(1)什么是数据库
是一个存储、管理、组织数据的仓储。
数据库 = 多张表 + 各表之间的关系
(2)常见数据库
MySQL、SQLite、Oracle、Radis、SQL Server、MongoDB
(3)数据库和SQL关系
数据库用来存放数据的,SQL是用来操作数据库中的数据的语言。
(4)建库:create database;
(5)建表:create table 表名;
(6)删除表:drop table 表名;
(7)查询所有表:show tables;
(8)插入数据:insert into 表名 values();
(9)字符集修改:set character_set_client=gbk;
set character_set_results=gbk;
(10)修改数据:update 表名 set filed=数据 where 条件