总结一

一、测试理论

1. 软件分类

        单机版:不需要联网的软件

        分布式:需要联网

                    C/S:需要下载客户端

                    B/S:直接浏览器打开即可

2. 软件测试原则(7大原则)

        穷尽测试不可能

        尽早介入测试

        测试显示软件存在缺陷

        杀虫剂悖论

        缺陷集群性(2/8原则)

        测试活动依赖于测试内容

        没有错误是好是谬论

3. 开发模型有哪些

        瀑布模型

        快速原型模型

        增量模型

        敏捷开发

4. 测试模型有哪些,并画图

        V模型:

        w模型:

        H模型

        X模型

5. 测试流程

    阶段名                                        工作内容                                                        产出物

测试准备阶段                项目立项、需求分析、需求评审                        需求文档、产品PRD

测试计划阶段                      编写测试计划、计划评审                                        测试计划

测试设计阶段           提取测试点、编写测试用例、用例评审                             测试用例

测试执行阶段        冒烟测试、执行测试用例、提bug、回归测试                      缺陷报告

测试完成阶段                验收测试、编写测试报告、项目上线                           测试报告

6. 测试分类

滚瓜烂熟,懒得写

二、测试计划

1. 模板

封面:

测试目的(整体概述、详细描述:功能模块、bug情况、上线日期)

测试资源

人力资源(姓名、职务、岗位职责)

软件资源:系统(Windows、MacOS、Linux)、浏览器、数据库、服务器

硬件资源:电脑、手机

网络资源:局域网、互联网

测试范围

测试对象

测试特性

非测试特性

测试风险(人资法环时)

编号描述等级负责人对测试影响规避方法

人员分工:姓名、职务、工作内容

测试策略:做什么样测试

界面测试

接口测试

兼容性测试

性能测试

测试进度

测试任务        负责人    预期开始时间        预期结束时间        时间进度        备注

测试准则

启动准则        暂停准则        再启动准则        结束准则

测试输出

名称    存放位置    备注

测试计划        git/svn

测试用例

缺陷报告

测试报告

软件说明书

三、测试用例

3.1 测试用例模板

用例编号

所属模块

用例标题:测试/验证在 什么情况 去做什么 结果是什么

优先级

前置条件

操作步骤

输入数据

预期结果

实际结果

是否通过

BugId

编写人

编写时间

测试人员

测试时间

备注

3.2 测试用例设计方法

等价类划分法

定义:所有数据分成若干区域,然后在每一个区域取最少具有代表性的数据测试

分类

    有效等价类:合理的数据

    无效等价类:不合理的数据

边界值分析法

定义:取稍高于或稍低边界值的数据进行测试

概念:开区间、闭区间,空心圆和实心圆

获取测试点:内点、上点、离点(开内闭外)

因果图法

定义:比较适合输入条件比较多的情况,测试所有的输入条件的排列组合

使用:

错误推测法

定义:

判定法

定义:

场景法

定义:根据具体业务场景

概念:

标准流:正确完成的流程

备选流:存在异常的流程,对于基本流每一步都取反

正交实验法

定义:利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果。

正交小助手:会用

四、禅道

1. 操作

人员管理(admin):添加部门 → 添加用户

创建产品(产品经理):产品 → 添加产品

添加需求(产品经理):产品 → 需求 → 提需求

创建项目(项目经理):项目 → 添加项目 → 自动跳转(选择设置团队)→ 团队管理 → 给团队配人

关联需求(项目经理):项目 → 需求 → 关联需求 → 勾选任务

批量分解(项目经理):在任务右侧 → 选择批量分解 → 批量分解

查看任务(开发人员):我的地盘 → 首页查看任务 → 点击任务数量进入任务列表 → 选择完成任务

创建版本(开发人员):项目 → 版本 → 创建版本

测试Bug(测试人员):测试 → bug → 提bug

解决bug(开发):测试 → bug → 确认 → 完成

再次测试(测试人员):测试 → 再次测试 → 如果解决的,点击关闭,否则重新编辑

创建版本(产品经理):产品 → 发布 → 创建发布 → 完成

3. bug流转

五、缺陷报告

什么是缺陷?引起原因?

影响软件正常运行的问题,也叫Bug,包含软件和文档。

原因

软件结构复杂

编码问题

使用新技术

需求不明确或者更改需求

项目周期短,时间紧迫

缺陷分类

根据测试种类:界面、功能缺陷、性能、安全、兼容性

根据严重程度:严重、一般、次要、轻微

根据优先级:立即解决、高优先级、正常排队、低优先级。

根据发生阶段:需求、架构、设计、编码、测试

画出Bug跟踪流程图

核心要素(8项)

缺陷编号

缺陷状态:新建、指派、打开、修复、拒绝、延期、回归、关闭、重开

缺陷标题

优先级

重现步骤:步骤、预期结果、实际结果

严重程度

缺陷类型 

测试环境

指派人

提交人

提交时间

对应的测试用例

附件

模板

六、测试报告

定义、分类

模板

概述

编写目的:测试报告的描述、项目简介、测试内容描述。

人员分工:姓名、职务、任务

测试环境:软件、硬件环境

测试过程

测试进度:测试任务、测试负责人、启动时间、计划完成时间、实际完成时间、备注

用例执行情况:模块、用例总数、执行用例数、通过用例数、未通过用例数、阻塞用例数

缺陷统计:模块、bug总数、新增bug总数、修复bug总数、遗留bug总数

缺陷分析

按照级别分:

按照缺陷模块分:

按照缺陷类型分:版本、趋势

测试总结

测试结论:是否通过。各种率、按级别描述缺陷

风险分析:编号、风险描述、规避方法和建议

遗留问题:编号、缺陷描述、缺陷等级、处理方法

七、接口测试

HTTP和HTTPS区别

1、https协议需要申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式

请求组成:4部分组成,请求行、请求头、空行、请求体

响应组成:4部分组成,响应行、响应头、空行、响应体

Http版本:1.1

常见状态码:200、301、404、500

200请求成功

301资源(网页等)被永久转移到其它URL

404请求的资源(网页等)不存在

500内部服务器错误

接口:

接口文档:能看懂,word、showdoc、swagger

接口测试:逻辑功能、路径测试、异常测试、其他异常情况

测试案例:使用postman进行get和post测试

接口测试用例

八、Charles

常用抓包工具:Charles、fiddler、wireshairk

Charles安装、代理配置

客户配置:电脑和手机,web和移动抓包

安装证书:

安装证书:Charles → help → SSL Proxy  →  安装web证书(第二个选项) →

导出证书:

导入证书:

HTTPS代理设置:

断点

右击地址 → breakpoints

Proxy → breakpoint settings → 添加接口

过滤

Proxy → Recording settings → include、exclude

在请求导航栏最下边输入我们要看到域名

模拟慢网速

Proxy → throttle settings

设置主机域名 、设定慢网速

模拟404/403

tools → blocklist  :指定域名

压力测试:

repeat advanced:次数、并发数

10.抓包流程:客户端向服务端发送请求,Charles拦截并修改请求,服务端响应,Charles拦截,并伪装代理服务器向客户端发送响应

九、Fiddler

简介

配置:

电脑浏览安装、导入证书

移动端:

前提:手机和电脑必须在同一个无线网

fiddler配置端口号(8888)、配置8888

主机地址:fiddler右上角、cmd

十、 数据库

什么是数据库

是一个存储、管理、组织数据的仓储。

数据库 = 多张表 + 各表之间的关系

常见数据库

MySQL、SQLite、Oracle、Radis、SQL Server、MongoDB

数据库和SQL关系

数据库用来存放数据的,SQL是用来操作数据库中的数据的语言。

SQL语句分类

DDL:数据定义语言

库:5

表:7 + 4

//创建表

create tables tudent(id int,name varchar(20),sex varchar(20),age int,salery float(6,2),birthday date)

//删除表

drop tables tudent;

//查看所有表

show tables

//查看表的创建细节

show create tablestudent;

//展示表结构

desc student

// 在原有的学生基础上添加address列

alter tablestudent add address varchar(20)

//在原有的学生基础上删除address列

alter tablestudent drop address

unique、notnull、primarykey、auto_increment

DML:数据操作语言

插入数据:(2)

注意事项:字符集修改(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:数据查询语言

insert into sut values(1,'张三',90,80,80);

DCL:数据控制语言

select id from teacher where name=’李老师’

select student_id from teacher_student where teacher_id=id

select*from student where id in(select student_id from teacher_student where teacher_id =(select id from teacher where name='李老师'));

多表设计

一对一:

一对多:

多对多:子查询

多表联查

交叉查询:,

内连接查询:

select*from坐表innerjoin右表on条件

左外连接

select*from坐表leftjoin右表on条件

右外连接

select*from坐表rightjoin右表on条件

MySQL图形化工具

你可能感兴趣的:(总结一)