一、测试理论
1、软件分类
单机版:不需要联网的软件。例如:红警、消消乐等。
分布式:需要联网。
C/S:需要下载科客户端。
B/S:直接浏览器打开即可。
2. 软件测试原则(7大原则)
穷尽测试不可能
尽早介入测试
测试显示软件存在缺陷
杀虫剂悖论
缺陷集群性(2/8原则)
测试活动依赖于测试内容
没有错误是好是谬论
3. 开发模型有哪些
瀑布模型
快速原型模型
增量模型
敏捷开发
4. 测试模型有哪些,并画图
V模型:
w模型:
H模型
X模型
5. 测试流程
阶段 名工作内容 产出物
测试准备阶段 项目立项、需求分析、需求评审 需求文档、产品PRD
测试计划阶段 编写测试计划、计划评审 测试计划
测试设计阶段 提取测试点、编写测试用例、用例评审 测试用例
测试执行阶段 冒烟测试、执行测试用例、提bug、回归测试 缺陷报告
测试完成阶段 验收测试、编写测试报告、项目上线 测试报告
6. 测试分类
按技术
黑盒测试:
白盒测试:
灰盒测试:
按阶段
测试阶段 测试对象测试人员测试方法
单元测试 小模块、方法、类白盒测工程师、开发人员白盒测试
集成测试 单元测试之后组成子系统或者系统白盒测工程师、开发人员白盒和黑盒测试
系统测试 整个系统黑盒测试工程师黑盒测试
验收测试 整个系统用户、黑盒测试工程师黑盒测试
按内容
界面测试(UI测试)
功能测试
兼容性测试
性能测试
按其他
冒烟测试
随机测试
安全性测试
探索性测试
α测试
β测试
回归测试
二、测试计划
1. 怎么写
设计封面
九大项列出
自动插入目录
2. 模板
封面:
测试目的(整体概述、详细描述:功能模块、bug情况、上线日期)
测试资源
人力资源(姓名、职务、岗位职责)
软件资源:系统(Windows、MacOS、Linux)、浏览器、数据库、服务器
硬件资源:电脑、手机
网络资源:局域网、互联网
测试范围
测试对象
测试特性
非测试特性
测试风险(人资法环时)
编号描述等级负责人对测试影响规避方法
人员分工:姓名、职务、工作内容
测试策略:做什么样测试
界面测试
接口测试
兼容性测试
性能测试
测试进度
测试任务负责人预期开始时间预期结束时间时间进度备注
测试准则
启动准则暂停准则再启动准则结束准则
测试输出
名称存放位置备注
测试计划git/svn
测试用例
缺陷报告
测试报告
软件说明书
三、测试用例
3.1 测试用例模板
用例编号
所属模块
用例标题:测试/验证在 什么情况 去做什么 结果是什么
优先级
前置条件
操作步骤
输入数据
预期结果
实际结果
是否通过
BugId
编写人
编写时间
测试人员
测试时间
备注
3.2 测试用例设计方法
等价类划分法
定义:所有数据分成若干区域,然后在每一个区域取最少具有代表性的数据测试
分类
有效等价类:合理的数据
无效等价类:不合理的数据
边界值分析法
定义:取稍高于或稍低边界值的数据进行测试
概念:开区间、闭区间,空心圆和实心圆
获取测试点:内点、上点、离点(开内闭外)
因果图法
定义:比较适合输入条件比较多的情况,测试所有的输入条件的排列组合
使用:
错误推测法
定义:
判定法
定义:
场景法:
定义:根据具体业务场景
概念:
标准流:正确完成的流程
备选流:存在异常的流程,对于基本流每一步都取反
正交实验法
定义:利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果。
正交小助手:会用
3.3 如何设计测试用例
分析需求:做什么,怎么做,结果是什么
提取测试点
设计测试用例
四、禅道
1. 安装登录
安装
双击安装,点击启动即可
登录
点击访问禅道 → 登录数据库(禅道运行环境最下边一行的密码和账号) → 管理员登录禅道(默认admin,123456)
2. 操作
人员管理(admin):添加部门 → 添加用户
创建产品(产品经理):产品 → 添加产品
添加需求(产品经理):产品 → 需求 → 提需求
创建项目(项目经理):项目 → 添加项目 → 自动跳转(选择设置团队)→ 团队管理 → 给团队配人
关联需求(项目经理):项目 → 需求 → 关联需求 → 勾选任务
批量分解(项目经理):在任务右侧 → 选择批量分解 → 批量分解
查看任务(开发人员):我的地盘 → 首页查看任务 → 点击任务数量进入任务列表 → 选择完成任务
创建版本(开发人员):项目 → 版本 → 创建版本
测试Bug(测试人员):测试 → bug → 提bug
解决bug(开发):测试 → bug → 确认 → 完成
再次测试(测试人员):测试 → 再次测试 → 如果解决的,点击关闭,否则重新编辑
创建版本(产品经理):产品 → 发布 → 创建发布 → 完成
3. bug流转
五、缺陷报告
什么是缺陷?引起原因?
影响软件正常运行的问题,也叫Bug,包含软件和文档。
原因
软件结构复杂
编码问题
使用新技术
需求不明确或者更改需求
项目周期短,时间紧迫
缺陷分类
根据测试种类:界面、功能缺陷、性能、安全、兼容性
根据严重程度:严重、一般、次要、轻微
根据优先级:立即解决、高优先级、正常排队、低优先级。
根据发生阶段:需求、架构、设计、编码、测试
画出Bug跟踪流程图
核心要素(8项)
缺陷编号
缺陷状态:新建、指派、打开、修复、拒绝、延期、回归、关闭、重开
缺陷标题
优先级
重现步骤:步骤、预期结果、实际结果
严重程度
缺陷类型
测试环境
指派人
提交人
提交时间
对应的测试用例
附件
模板
六、测试报告
定义、分类
模板
概述
编写目的:测试报告的描述、项目简介、测试内容描述。
人员分工:姓名、职务、任务
测试环境:软件、硬件环境
测试过程
测试进度:测试任务、测试负责人、启动时间、计划完成时间、实际完成时间、备注
用例执行情况:模块、用例总数、执行用例数、通过用例数、未通过用例数、阻塞用例数
缺陷统计:模块、bug总数、新增bug总数、修复bug总数、遗留bug总数
缺陷分析
按照级别分:
按照缺陷模块分:
按照缺陷类型分:版本、趋势
测试总结
测试结论:是否通过。各种率、按级别描述缺陷
风险分析:编号、风险描述、规避方法和建议
遗留问题:编号、缺陷描述、缺陷等级、处理方法
七、接口测试
HTTP和HTTPS区别
请求组成:4部分组成,请求行、请求头、空行、请求体
响应组成:4部分组成,响应行、响应头、空行、响应体
Http版本:1.1
常见状态码:200、301、404、500
接口:
接口文档:能看懂,word、showdoc、swagger
接口测试:逻辑功能、路径测试、异常测试、其他异常情况
测试案例:使用postman进行get和post测试
接口测试用例
八、Charles
常用抓包工具:
软件名称简介独 立运行支持移动设备是否收费
Fiddler免费的HTTP查看工具,系统代理,工作在应用层是是否
CharlesHTTP代理、HTTP监控、HTTP反代理、查看HTTP通讯、查看工作信息工具是是收费版/免费版
Wireshark半免费,网络抓包、监听网卡,工作在网络接口层是否否
HttpWatch集成到IE、Chrome中的网页数据分析工具否否基础版/专业版
BurpSuiteHttp代理。是用于攻击web应用程序的集成平台,包含了许多工具:抓包、扫漏、爆破等。黑客必备工具之一是是是
Charles安装、代理配置(端口、可接受的IP)
客户配置:电脑和手机,web和移动抓包
安装证书:
安装证书:Charles → help → SSL Proxy → 安装web证书(第二个选项) →
导出证书:Charles → help → SSL Proxy → save
导入证书:
HTTPS代理设置:Charles → Proxy → SSL Proxy settings → 端口=443,IP=*
断点
右击地址 → breakpoints
Proxy → breakpoint settings → 添加接口
过滤
Proxy → Recording settings → include、exclude
在请求导航栏最下边输入我们要看到域名
模拟慢网速
Proxy → throttle settings
设置主机域名 、设定慢网速
模拟404/403
tools → blocklist :指定域名
压力测试:
repeat advanced:次数、并发数
九、Fiddler
简介
配置:
电脑浏览安装、导入证书
移动端:
前提:手机和电脑必须在同一个无线网
fiddler配置端口号(8888)、配置8888
主机地址:fiddler右上角、cmd
十、 数据库
什么是数据库
是一个存储、管理、组织数据的仓储。
数据库 = 多张表 + 各表之间的关系
常见数据库
MySQL、SQLite、Oracle、Radis、SQL Server、MongoDB
数据库和SQL关系
数据库用来存放数据的,SQL是用来操作数据库中的数据的语言。
SQL语句分类
DDL:数据定义语言
库:5
表:7 + 4
//创建表
createtablestudent(idint,namevarchar(20),sexvarchar(20),ageint,saleryfloat(6,2),birthdaydate)
//删除表
droptablestudent;
//查看所有表
showtables
//查看表的创建细节
showcreatetablestudent;
//展示表结构
descstudent
// 在原有的学生基础上添加address列
altertablestudentaddaddressvarchar(20)
//在原有的学生基础上删除address列
altertablestudentdropaddress
unique、notnull、primarykey、auto_increment
DML:数据操作语言
插入数据:(2)
insertinto表名values()
insertinto表名()values()
注意事项:字符集修改(2)
setcharacter_set_client=gbk;
setcharacter_set_results=gbk;
删除数据(3)
deletefrom表名
deletefrom表名where条件
truncatetable表名
注意:delete from 表名 和 truncate table 表名区别
修改数据(3)
update表名setfiled=数据where条件
update表名setfiled=filed+数据
update表名 修改多个字段使用 ,隔开
DQL:数据查询语言
insertintosutvalues(1,'张三',90,80,80);
insertintosutvalues(2,'李四',90,87,60);
insertintosutvalues(3,'王五',70,60,69);
insertintosutvalues(4,'赵六',99,90,87);
DCL:数据控制语言
多表设计
一对一:
一对多:
多对多:子查询
selectidfromteacherwherename=’李老师’
selectstudent_idfromteacher_studentwhereteacher_id=id
select*fromstudentwhereidin(s_id1,s_id2)
select * from student where id in(select student_id from teacher_student where teacher_id =(select id from teacher where name='李老师'));
多表联查
交叉查询:
select*from左表 , 右表
内连接查询:
select*from左表innerjoin右表on条件
左外连接
select*from左表leftjoin右表on条件
右外连接
select*from左表rightjoin右表on条件
MySQL图形化工具
Navicat
项目名称:积云商城1.1
功能模块:注册、登录、商品列表、商品详情、购物车、支付