1. 测试概论

1. 测试概述

(1)狭义:找bug;运行软件; (2)广义:找bug;证明软件系统符合客户要求;运行软件;不运行软件;人工完成;自动化工具 (3)官方:IEEE提出软件工程一些标准术语,做了定义:使用人工和自动化手段运行或测试某个程序或系统的过程,目的在于检验它是否满足规定的需求或者比较实际结果和预期结果之间的偏差。 目的 -- 提高软件质量 (1)证明:20世纪60年代(表明软件能够工作:功能) (2)检测:20世纪70年(发现错误,各种不足(性能、界面、兼容)) (3)预防:20世纪90年代(管理质量,对各种不足问题进行分析整改避免)

2. 测试流程

测试流程

3. 测试方法

1. 单元测试(组件测试)

概念:针对软件最基本组成单位进行的测试(函数、类)。 依据:LLD(详细设计说明书) 方法:白盒测试方法为主 考察基准:逻辑覆盖率

2.集成测试

概念:针对测试好的单元进行组装查看数据传递是否有问题,也叫组装测试或者联合测试。 依据:HLD(概要设计说明书) 方法:黑盒&白盒 考察基准:接口测试覆盖率

3. 系统测试

概念: 将集成后的软件系统作为一个元素和其他硬件、软件进行整体的测试。 依据:SRS(软件需求规格说明书) 方法:黑盒测试方法为主 考察基准:需求覆盖率

4. 验收测试

概念:客户参与的测试(根据验收合同或者验收手册) 依据:验收合同;验收手册 方法:黑盒 考察基准:验收合同条款

5. 验收测试类型:

Alpha测试(内测):由体验的用户在开发环境,有开发人员在现场进行的测试,测试过程可控。 Beta测试(公测):发布到市场,潜在用户在各种不同复杂的环境下无开发人员在现场进行的测试,测试过程不可控的。

6. 回归测试(贯穿测试的全部阶段)

(1)概念 在测试的过程中会发现缺陷,开发人员针对提交的缺陷进行修改,测试人员针对修改好的缺陷做测试再次确认,就叫做回归测试(Regression Testing)。回归测试可以发生在任何测试阶段。 (2)回归测试策略 选择性回归测试 覆盖修改法--只针对发现缺陷的用例做再次确认(效率高); 周边影响法--针对发现缺陷的用了和可能会受到缺陷修改影响的用例再次确认; 指标达成法--针对发现缺陷的用了和可能会受到缺陷修改影响的用例进行指标设定(比如百分值多少)再次确认。 完全回归测试: 缺陷修改后对所有的用例都再次确认。(效果好、效率低)

7. 测式测试方法

(1) 黑盒:测试人员无需了解软件的逻辑结构,只需要了解软件的功能即可,即不看软件内部的测试; (2) 白盒:测试人员需要详细的了解软件内部的逻辑结构,包括函数结构,内部局部的数据定义引用,函数内部各个部分的控制语句是否合法等。也被称之为基于代码的测试。 (3) 静态:控制流分析技术,数据流分析技术,信息流分析技术;等 (4) 动态:逻辑覆盖率测试(分支测试,路径测试),程序插装等

4. 测试活动与工作产品

测试活动角色&职责测试工作产品
测试计划测试经理(测试组长):测试的范围;人员安排;测试进度制定;风险识别和应对措施;测试任务划分;测试目标。系统测试计划 集成测试计划 单元测试计划
测试设计测试架构师:根据测试计划做各种方案(测试环境如何搭建;具体的测试内容怎么区分;测试流程怎么制定;测试数据如何选取;测试工具如何使用;测试代码测试脚本如何编写;测试用例如何编写;缺陷报告如何提交和跟踪。。。。。)系统测试方案 集成测试方案 单元测试方案
测试实现测试人员:根据测试计划与测试方案完成测试脚本、测试代码、测试用例、测试规程的编写系统测试用例、规程 集成测试用例、规程 单元测试用例、规程
测试执行测试人员:根据测试计划与测试方案完成测试环境搭建、测试用例执行、缺陷报告提交、辅助测试经理完成测试总结报告、准备测试数据。。。系统测试缺陷报告、总结报告 集成测试缺陷报告、总结报告 单元测试缺陷报告、总结报告

5. 测试模型

1) 瀑布模型(顺序模型):

一次性把所有的工作都计划好,下一个活动的开始在上一个活动结束后进行。(一个测试,测试发现了缺陷不太好定位) 瀑布模型

2) V模型

将测试工作阶段化,每一个开发工作都有对应的测试工作。 V

3) 双V模型

将测试工作阶段化,将每一个测试阶段又具体划分为两大部分(测试设计&测试执行),每一个开发工作都有对应的测试,测试的设计与测试的执行的顺序的相反的,开发和测试工作并行。 Double V

6. 测试用例

1) 何为测试用例

  1. Test Case(具体数据参数的示例);
  2. 测试工程师进行测试执行工作的指导文件。告诉测试工程师如何准备数据,按照一个什么样的步骤去执行以及应该是一个什么样的结果。

2) 测试用例的作用 1.防止测试的遗漏; 2.防止重复的测试工作; 3.可以进行测试复用; 4.可以估算测试执行的工作量; 5.为后续的项目提供一些指导性的数据。

要素说明举例
测试用例编号要求:唯一性;可识别性 作用:识别测试用例测试点;可以估算工作量; 编写规则:从大到小 系统测试:产品(项目)名称--测试阶段--测试类型--系统测试项名--系统测试子项名--XXX 集成测试:产品(项目)名称--测试阶段--集成测试项名(接口名字)--集成测试子项名--XXX 单元测试:产品(项目)名称--测试阶段--单元测试项名--单元测试子项名--XXX微信系统测试聊天功能 Wechat--ST--Func--Video--Called--001 微信集成测试支付接口 Wechat--IT--Pay--Meituan--001 微信单元测试文字聊天 Wechat--UT--TextChat--Gif--001
测试项要求:可识别性;明显的归类 作用:分类 编写规则: 系统测试:需求项 集成测试:接口名 单元测试:函数名(类名)微信系统测试聊天功能 微信集成测试支付接口 微信单元测试文字聊天
测试用例标题(名称)要求:直接表达测试用例的目的,目的是唯一的;(尽量唯一) 作用:方便区分每一条用例,代表某条用例的特点用手机号正确密码登录微信 用微信号错误密码登录微信
优先级(重要程度)要求:不同级别(高中低;123;) 作用:对测试执行工作进行轻重缓急划分 高:基本功能、重要特性。核心业务功能、使用频率高的 中:备选的非主流、非核心业务、使用频率中等的 低:使用频率不高、对系统业务功能影响不大的微信 高:聊天;注册;登录;朋友圈;支付 中:通讯录;卡包;小程序;游戏 低:漂流瓶;摇一摇;看一看;拍一拍
预置条件要求:不是每条用例都必须有预置条件; 作用:有些测试用例要一些依赖的 比较特别的依赖App测试,弱网测试 预置条件:信号比较弱的网络环境 App测试:5G网络 预置条件:5G网络
输入要求:一定要具体明确;不可以用模糊的词语; 作用:能够经过处理得到预期结果两个简体汉字“联通”;三个小写英文字符“abc”;5张100kJPG格式的图片
操作步骤要求:一定要用动词; 作用:指导测试执行人员完成测试工作的一个向导; 不要用分支(如果,或者)输入。。。。 点击..... 双击左键 单击右键 打回车键
预期结果要求:一定要具体明确;不可以用模糊的词语; 作用:明确判断测试用例能否通过 (具体的数据;输出形式;顺序)查询张阔建行账号信息 显示张阔的账号信息:X 显示张阔的账号信息 姓名 性别 账号 余额 开户日期 。。。。。 张阔 男 62** 888888888

7. 缺陷报告

1) 什么是缺陷

实际的测试结果与预期结果之间不一致,存在偏差。叫做缺陷(Defect)、bug、故障(Fault)、问题(Problem)、失效(Failure)。

2) 什么是缺陷报告

将发现的缺陷用标准的文字形式表示出来,就叫做缺陷报告。

3) 缺陷报告的作用

(1)开发人员和测试人员对缺陷的理解是一致的; (2)缺陷不会被遗漏修改; (3)可以对缺陷进行缺陷分析为后续的项目提供指导。

4) 如何编写缺陷报告

属性说明
编号序列号,缺陷管理工具会自动分配
标题(摘要信息)简洁的语言直接说明实际结果 举例:9被零除,报错runtime error。
缺陷发现人(提交人)可以进行后续沟通,缺陷的回归责任人
缺陷提交日期缺陷的优先级有关;缺陷走势
严重程度从用户的角度;缺陷的发生给使用造成的影响 致命的:程序崩溃;数据丢失 严重的:核心业务无法使用; 中:备选业务无法使用; 低:文字错误;
优先级从开发人员的角度:缺陷发生后修改的应对时间; 高:一天内修改;下一个版本修复 中:三天内修改;三个版本内修复 低:一周内修改;五个版本内修复
缺陷是否重现至少要重现三次
缺陷的重现步骤缺陷是怎么发现的用的什么数据详细描述 预期结果和实际结果
状态便于缺陷的跟踪和缺陷目前阶段负责人的定位
测试阶段单元测试、系统测试、集成测试
测试模块(需求。。。) 
测试类型功能测试、性能测试、、、
测试用例编号 
开发阶段 
测试环境(操作系统;浏览器;模拟器;真机型号) 
测试版本 

5) 缺陷的管理与跟踪

image-20200905140752325

状态中文含义
NEW新建测试人员提交一个Bug
OPEN打开测试经理同意Bug
Abandon放弃Bug因重复或者其他原因不予修改
Postpone延期Bug不重要,在接下来的几个版本不修改
Assign分配Bug已经分配给开发人员
Fixed已修改开发人员已经修复了Bug
Reopen重新打开该Bug回归测试未通过,重新修复。
Close关闭Bug修复。

8. 软件质量模型

image-20200905142744104

9. 质量层次

image-20200905142937254

2. 测试方法

1)黑盒测试方法

等价类划分法

概念: 将测试的输入输出划分为若干子集合, 从子集中中选取代表的数据.

相关术语

划分原则

使用步骤

案例: 一个档案管理系统,允许用户通过输入年月对系统进行查询。要求:194901-204912

特点适用范围

边界值分析法

概念:边界值是对等价类的一种补充

相关术语

选取原则

使用步骤

特点和适用范围

判定表法

概念: 分析和表达多种输入条件进行组合完成不同动作的方法。

相关术语

使用流程

特点和使用范围

因果图法

概念:将复杂的逻辑关系转化为判定表的一种中间系统化的分析方法

相关术语

逻辑关系

使用方法

特点和适用范围

正交验证法

概念:利用正交表进行测试的方法。

相关术语

使用方法

案例

特点和适用范围

状态迁移图法

概念:争对有限状态机进行测试的一种方法

相关术语

使用方法

案例

特点和适合场景

流程分析法

从用户的使用场景考虑,测试各个路径是否有被走到的方法,

使用方法

案例

特点和适用

输入域测试法

概念:

争对软件系统需求片段的部分综合运用等价类/边界值进行测试的一种方法

测试点

举例

输出域覆盖法

概念:

在输入条件的数据不明确但输出结果确定的情况下,争对输出部分综合运用的等价类和边界值进行分析设计的一种方法。

适用步骤

错误猜测法

概念:

利用测试人员对软件系统的熟悉程度和对开发人员开发盲点有针对性的测试

使用步骤

3. 测试计划与方案(实战1串讲)

1) 计划

系统测试计划内容

系统测试计划主要是从管理角度对整个系统测试工作进行规划和控制。 1、人员分工 2、测试范围 3、时间进度 结合模板看下系统测试计划应该编写的内容: 1、项目背景 2、组织形式-----------------人员分工 3、测试对象-----------------测试范围 4、测试任务安排--------------时间进度 5、其它

项目背景

软件系统是用来干嘛的,主要的功能模块有哪些。

组织形式

最重要的是把每个人的具体分工明确下来,一般按测试类型或模块。 考虑分工时需要结合每个人的性格、能力以及态度等。

测试对象

1、应测试特性 按照测试类型来看 1)功能测试可以写到功能模块(比如客户管理),也可以写到具体功能点(比如新建客户、查询客户、编辑客户、删除客户等)。写到功能模块会比较省力和简单,对于工作量的把控会比较难一点。写到具体功能点会比较费时间,但对于工作量的把控会比较简单一点,同时也有助于理解业务。 2)性能测试可以写要测试的性能指标,比如cpu占用、电量消耗等。 一般管理员所使用的后台不用考虑性能测试,只有用户使用的前台需要考虑性能测试。 3)兼容性测试可以列出准备测试的环境,比如浏览器、机型等。 。。。 2、不被测试特性 1)如果时间或者人力资源不够,可以不测。 2)缺少相关的测试环境,无法测试。

测试任务安排

主要要明确: 1、任务描述 2、完成时间 3、提交工作成果物 测试任务安排可以按测试流程、测试类型、人来划分。 人力资源估算一般用人天,不用人时。 风险一般包含: 1、产品风险,由于软件的质量太差,对测试工作进度的影响。 2、人力风险,由于人员离职,对测试工作进度的影响。

其它

1、需求跟踪,只在军工或者金融这种行业会做比较严格的需求跟踪,原因是需求太复杂。

2、测试通过/失败标准 1)测试执行角度考虑,只有执行了哪些测试用例才算通过 2)软件质量角度,只有在bug减少到什么程度时才算通过

3、测试挂起/恢复条件 1)软件质量太差导致测试暂停 2)测试环境出故障导致测试暂停

2) 方案

系统测试方案是从技术角度对系统测试工作进行规划和控制。 1、如何编写系统测试用例? 2、如何部署系统测试环境? 3、如何执行系统测试用例? 4、如何提交缺陷报告? 5、如何进行回归测试?

根据模板看下系统测试方案的内容:

1、被测对象 2、测试模型(*),对应比较粗的测试方案 3、测试需求/测试设计/缺陷跟踪设计,对应比较细的测试方案

被测对象

跟测试计划类似,也分为:

1、应测试特性

如果测试计划中功能测试只列到模块,测试方案中功能测试需要列到功能点。如果测试计划中功能测试已经列到功能点,测试方案中照搬即可。

接下来的系统测试用例与方案中应测特性中每条对应。

客户管理------------------新建客户----------------------新建合法信息客户

2、不被测试特性

测试模型

1、测试组网图-----------------如何搭建测试环境

1)需要准备哪些设备,如何连接 2)设备上需要安装什么软件 3)设备对应的地址是哪个(比如测试用服务器的ip地址是多少)

2、测试原理--------------------如何编写测试用例 使用什么测试工具 不同的测试类型分别使用哪些测试技术和测试工具

3、操作流程--------------------如何执行测试用例(顺序) 不同测试类型的测试用例、不同模块的测试用例的执行顺序。 后续项目的测试方案要求写被测对象+测试模型即可。

4. Python

基础语法、函数 , class, pip, 等

5. Linux

用户管理(useradd, userdel, usermod, passwd ), 组管理(groupadd , groupdel ,groupmod , newgrp ), 权限管理(chmod, chown), 文件操作(touch, cat, less, more, vi, rm, cp, mv, link) 文件夹操作(mkdir, ls, cd, pwd, rmdir, ) 进程和服务(systemctl, ps, kill) 计划任务(crond, crontab) 其他;

6. Docker

docker-compose

  1. 安装
  1. 编辑yml文件: 示例 - LNMP

7. MySQL

增删改查,外键约束,联表查询,表/库的创建与删除

8. MongoDB

不完全的

 

9. Git

指令说明示例
config --global user.name配置全局Git用户名 
config --global user.email配置全局Git用户邮箱 
init初始化仓库 
add FileName添加文件追踪Git add .
status查看当前工作区中的文件状态 
commit -m “”向仓库提交一个版本 
reflog查看仓库的版本提交记录 
reset --hard Name将工作区回退到指定的版本 
checkout -- FName将文件恢复仓库中的最新版本 
reset HEAD Fname将文件从暂存区撤回. 
clone Address把远程仓库克隆到本地 
pull从远程仓库拉取最新版本 
push -u “” -o把本地仓库推送到远程仓库 
branch Name创建分支 
checkout Name迁出分支 
branch -a查看全部分支 
marge Name合并分支 
branch -D Name删除分支 

10. Web(HTML, JS, CSS)

HTML

标签说明示例
a超链接<a href="/">连接名</a>
p段落 
img引用一张图片<img src="address" alt="描述"/>
div页面分组 

JS

交互脚本

CSS

层叠样式表

11. Web协议

OSI模型 - Open System Interconnect

TCP/IP -

HTTP -

12. Web测试

1)表单测试

(1)测试每一个表单项的内容正确性,通过填入正确的内容,提交,通过web页面的反馈信息来判断是不是正确。 (2)每个表单输入项的功能,根据SRS来测。等价类和边界值测试 (3)所有表单项会包含各种条件判断,可以使用判定表的方式来测试 (4)必填项:- 没有填写是否会报错?- 报错的时候,有没有注明哪一个必填项没填 (5)下拉列表:

(6)单选框:单选框的独选型(比如按住键盘shift或者ctrl不能进行多选) (7)关于起止时间控件的测试

(8)提交按钮

(9)考虑业务约束

(10)表单的UI界面

 

2)文件上传测试

3)回归测试

(1)开发发布了一个新版本,我们测试出来100个BUG,其中10个HIGH的bug。 (2)开发优先修改了这10个H的BUG,发布了新版本。 (3)测试人员就要开始第一次回归测试。

(4)测试做完第一轮回归后,开发会继续修改BUG,然后发布第二个版本,测试在进行第二轮回归。。。。。。 (5)一直到,测试下来的结果符合一开始制定的测试结束标准(例如:严重级别为高的BUG为0,严重级别为中的BUG,解决了80%;严重级别为低的BUG,解决了50%以上),才能结束测试。

4)数据库的事务可以解决数据一致性错误

13. Web安全

0. Web安全介绍

 

web安全测试概述:

web安全测试的几种方式

web渗透测试的特点

1. SQL注入

什么是SQL注入?

注入过程

防御方法

2. XSS攻击

定义

名词解释

类别

危害

怎么防御

3. 暴力破解

什么是暴力破解?

哪些内容经常被暴力破解?

特点

暴力破解的方式

防御暴力破解的方式

4. 文件包含和文件上传漏洞

文件包含漏洞

文件上传漏洞

 

5. 越权漏洞

什么是越权漏洞?

危害

两种类型

产生原因

6. 工具:Burp Suite

简介

包含13个模块

主要功能

安装步骤

 

7. 工具:SQLMAP

简介

安装

命令介绍

14. Unittest

unittest里的4个重要概念

unittset提供的断言方法

断言:将预期结果和实际结果进行比较的过程。 断言方法:实现这种比较的方法。

常见的断言方法有:

方法解释
assertEqual(a,b)判断a和b是否相等,相等则测试通过,不相等则测试失败;
assertNotEqual(a,b)判断a和b是否不相等,相等则测试失败,不相等则测试通过;
assertTrue(x)判断表达式x是否为True(成立),成立则测试通过,不成立则测试失败;
assertFalse(x): 
assertIs(a,b)判断a和b是否为同一个对象,是则测试通过,不是则测试失败;
assertIsNot(a,b): 
assertIsNone(x)判断x表达式是否为None,是则测试通过,不是则测试失败;
assertIsNotNone(x): 
assertIn(a,b)判断a是否在b中,在则测试通过,不在则测试失败;
assertNotIn(a,b): 
assertIsInstance(a,b)判断a是否是b的实例,是则测试通过,不是则测试失败
assertNotIsInstance(a,b): 

跳过测试和预期失败

在运行测试时,有时需要直接跳过某些测试用例,或者当用例不符合某个条件时跳过测试,又或者需要直接将测试用例标记为失败。unittest提供了实现这些功能的装饰器。

单元测试用例的两种加载方式:

1)直接通过unittest.main()方法加载所有的测试用例进行执行; 2)将所有的测试用例添加到测试套件里,然后使用测试运行器进行执行; a. 手动添加:addTest() b. 自动添加:discover()

随着层级及测试用例的不断增加、我们还可以选择使用unittest提供的discover方法去自动发现测试用例并执行它们。

测试用例的执行顺序

main()方法加载测试用例的规则跟discover()方法加载测试用例的规则相同。——》unitest执行测试用例的规律:unittest框架默认根据ASCII码的顺序加载测试用例,数字和字母的顺序为:0-9、A-Z、a-z。

addTest()方式加载测试用例,测试用例是按照添加的先后顺序进行执行。

如果你希望你的测试用例集按照特定的顺序去加载,那么有两种方法: 一种是通过TestSuite()类提供的addTest()方法按照你希望的顺序去添加测试用例; 另外一种方式将需要优先执行的测试用例选择优先级更高的ASC码字符去表示。

使用unittest组织和执行自动化测试脚本

以Selenium为例:

  1. 首先要搭建Selenium的环境:

    1. Python解释器
    2. 安装Selenium
  2. 获取浏览器驱动并配置到系统环境变量

  3. 安装浏览器并禁用更新

15. Selenium

0. Selenium介绍

Selenium是专门为Web应用程序编写的一个验收测试工具。

主要功能

  1. 兼容性测试:可以测试Web应用程序是否可以很好的工作在不同的浏览器和操作系统上;
  2. 功能测试:可以测试Web应用程序的功能,创建回归测试检验软件的功能和用户需求

特点

Selenium的组成

基本脚本

1. 元素定位

WebDriver API

元素定位

  1. find_element_by_id(‘xx’)
  2. find_element_by_name(‘xx’)
  3. find_element_by_class_name(‘xx’)
  4. find_element_by_tag_name(‘xx’)
  5. find_element_by_link_text(‘xx’)
  6. find_element_by_partial_link_text(‘xx’)
  7. find_element_by_xpath(‘xx’)
  8. find_element_by_css_selector(‘xx’)

8种元素定位的方法的共同特点:

  1. 它会返回找到的页面上的元素,返回值的数据类型是WebElement对象;
  2. 如果页面上没有匹配的元素,则该方法会报错:NoSuchElementExcpt异常;
  3. 如果页面上有多个匹配的元素,通常情况下,只返回找到的第一个匹配的元素

(注意:做元素定位的时候,尽量不要去使用有可能取多个但是定位第一个的情况,因为不同的软件的实现可能不同,这个状态不是确定的,应该尽量写准确,能定位到某一个特定元素。)

8大元素定位的各自的特点:

  1. id定位:最为方便且唯一,但很可能不存在,也可以自动生成
  2. name定位:使用简单,但通常不唯一 3.class定位:使用简单,但可能受JS影响而动态变化
  3. tag name定位:使用简单,但是很少有唯一的情况,使用场景极少
  4. link text定位:使用最为直观,但只能针对链接元素
  5. partial link text定位:是link text定位方式的补充,支持部分文字来完成定位,不用将链接文本写全
  6. xpath定位:可以准确定位任何元素,但需要熟练掌握xpath语法
  7. css定位:可以准确定位任何元素,但需要熟练掌握css选择器
定位方式XpathCSS
标签//divdiv
id定位//div[@id=’xx’]div#xx
class定位//div[@class=’xx’]div.xx
属性定位//div[@yy=’xx’]div[yy=xx]
定位子元素//div/x1div>x1

2. 元素操作

16. Jmeter

0. 环境

JDK 1.8 & Jmeter

1. 基础知识:

  1. 负载测试 执行时间 > 压力测试

  2. 工作负荷 = 虚拟用户数 = 线程数

  3. 响应时间

    1. 性能测试,一般在局域网中测试
    2. 性能测试,一般使用客户常用的浏览器去做测试,可以忽略掉不同浏览器对页面加载速度快慢的影响
  4. throughput ~Ti & To 吞吐量 例如:服务器接收的请求为吞,发出的响应为吐 量:必须有一段时间的计算

  5. 吞吐率:单位时间上的吞吐量,一般单位是字节/秒,请求数/秒,页面数/秒,人数/天......

  6. 网页点击数/请求 要注意是向服务器发送了有效的请求

特点:

  1. 能够对HTTP和FTP服务器进行压力和性能测试,也可以对于任何数 据库进行同样的测试。
  2. 免费开源,纯Java开发的性能测试工具。
  3. 应用:静态文件、java小服务程序、CGI脚本、Java对象、数据库、 FTP服务器、邮件服务器等
  4. 各种负载统计表和计时器可供选择;
  5. 数据分析和可视化插件提供了很好的可扩展性以及个性化;
  6. 具有提供动态输入到测试的功能;

2. 常用元件

  1. 测试计划
  2. 线程(用户)
  3. 测试片段
  4. 控制器 (取样器,逻辑控制器)
  5. 配置元件
  6. 定时器
  7. 前置处理器
  8. 后置处理器
  9. 断言
  10. 监听器

3. 脚本录制

1. Badbay

2. JMeter代理录制

3. 手动编写

4. 参数化

前置处理参数化

image-20200905205818559

CSV Data 参数化

image-20200905205857565

函数助手参数化

image-20200905205929356

5. 事务

image-20200905210647343

6. 集合点

image-20200905210744632

7. 检查点

a. 内容检查断言

添加内容价差断言1 添加内容检查断言2-设置断言条件 断言响应字段的含义

b. 断言持续时间

断言持续时间

c. 断言结果大小

断言结果大小

8. 监听器

a. 断言结果

b. 图形结果

image-20200905211822545

c. 察看结果树

d. 聚合报告

image-20200905211840290

e. Summary Report

image-20200905211908110

9. CLI

image-20200905212127992

17. 接口测试

接口的作用

0. 接口测试重点,在于检查数据正确性,接口之间逻辑依赖关系

  1. Soap协议
  2. HTTP协议

1. 为什么接口测试?

  1. 数据的错误往往致命的,直接说明功能失败
  2. UI界面太多,测试无法穷尽
  3. 越早介入测试,修复bug成本越低

2. 怎样开展接口测试

  1. 协议基础 - 了解所使用的协议 SOAP ,HTTP ,FESTful等

  2. 如何客户端从服务端按照协议 获取数据?

    1. HTTP / FEST

    2. Get - 请求参数 ?Key=Value& image-20200905213713623

    3. Post - 请求参数安全+数据量比较大,既可以URL传参也可以请求体传参

    4. PUT

    5. DELETE

    6. SOAP

      1. 根据wsdl接口文档进行测试
  3. 机器之间 交互数据的方式?

    1. xml
    2. json
    3. yaml
  4. 使用工具

    1. soupUI
    2. postman

 

18. 微信小程序开发(WXML, WXSS, JS, JSON)

1. WXML

类似于HTML用于表述页面的结构

2. WXSS

类似于CSS用于描述网页的样式

3. JS

同Web中的js一样

4. JSON

配置文件,保存页面的一些配置

19. Andriod OS & APP测试 & Appium

app自动化测试简介

什么是自动化测试

app自动化测试工具介绍

appium介绍

定义:

appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。

特点

环境搭建

Capability的设置

简单的自动化案例实现

多次安装及卸载手机上的app

基本的元素定位方法

实现一个登录功能

元素定位方式

定位工具

常用定位方法

相对定位

列表定位

手机特有操作的案例演示

案例一:手机上的滑动操作

案例二:手机上的拖动操作

自动化测试框架介绍

为什么需要框架?

如何解决?