接口测试系列课1-接口测试之基础入门篇
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4 2
促使接口开发规范化 更早发现问题
5 6
提高测试效率
1
3
软件开发的过程是一个持续集 成和改进的过程,而每一次的改 进都可能引进新bug。 因此当软 件的部分,或者全部修改时,都 需要对软件产品重新进行测试。 当没有自动化测试代码时,往往 会由于各种各样的原因,回归不 充分,导致漏测。
软件系统的规模越来越大,通过手工测试很难 由于每次执行都是 功能点越来越多,开发人员 测试到一些更深层次 相同的代码,一旦代 的自测或者测试人员的人工 的异常和安全的问题。 码出错,必定回归出 测试非常耗时和繁琐,势必 通过一些辅助的一些 错 导致测试效率的低下。 而 测试工具,能分析出 自动化测试正好解决这些耗 代码的覆盖率,衡量 时繁琐的任务,在对外接口 测试的深度。 功能不变的情况下,达到了 一次编写,永久使用的效果。
服务器接口测试
案例 Http接口测试的过程,就是使用接口测试 工具,使用指定的url,传入参数,调用 接口,检验返回值是否符合期望。这是一 个最简单的get请求
测试要点
1
请求是否正确,默认请求成功是200,如果请求错误也能返回404、500等。
2
检查返回数据的正确性与格式;json是一种非常创建的格式。
简单来说,接口,就是开发人员将实现的 代码封装起来,仅暴露出一个提供给他人 调用的入口。调用方根据接口预先设计的 约定,传入必要的参数,实现接口的功能, 为己所用。
练习
下列选项中,操作系统提供的给应用程序的接口是() A.系统调用 B.中断 C.库函数 D.原语
答案:A 解析:操作系统接口主要有命令接口和程序接口,其中程序 接口又称为系统调用。库函数是高级语言中提供的与系统调 用对应的函数(也有些库函数与系统调用无关),目的是隐 藏“访管”指令的细节,使系统调用更为方便、抽象。但要 注意,库函数属于用户程序而非系统调用,是系统调用的上 层。库函数是面向程序员的应用编程接口。 比如我要写一个程序,这个程序的功能就是在屏幕上显示一 个字符串“hello,world!”。那么实现这么一个在屏幕上 显示一个字符串的操作就是系统调用write()的功能;我们 平时在写C语言时打印一个字符串是用printf()函数。
与单元测试比较
对比项 从属关系 单元测试 一个接口函数可能会包含多个 单元模块 开发人员 对函数代码的逻辑进行测试, 考虑的是函数内部实现,逻辑 结构,对业务关注不大。 接口测试 接口测试可以看成是单元测试 中的一部分 测试人员 站在用户角度对函数接口定义 进行的测试,考虑的是数据的 交换,传递和控制管理过程及 系统间的相互逻辑依赖,关注 业务。如下:输入接口参数值>API接口->查看接口的输出 从工程代码外部调用接口
3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处
理。
4、接口的性能,接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与 代码的优化。
5、接口的安全性,如果是外部接口的话,这点尤为重要。
web接口测试
100%
分类
80%
外部接口测 试
60%
服务器接口 测试
web接口测试又可分为两类:服务器接口测试和外部接口测试。 外部接口测试:这个很典型的例子就是第三方登录,比如你做的新系统免于新用户重新注册 的麻烦会提供第三方登录,那用户在登录的时候调用的就是第三方登录的接口,由第三方验 证用户名和密码并且返回给当前系统。 服务器接口测试:是测试浏览器与服务器的接口。这个很容易理解,我们知道web开发一般 分前端和后端,前端开发人员用html/css/javascript等技术。后端开发人用 php/java/python/ruby等各种语言。用户输入的数据是输入到的前端页面上,怎样把这些数 据传递的后台的呢?通过http协议的get与post请求来实现前后端的数据传递。这也可认为是 接口测试,调用的登录接口还是查询接口,传参的是用户密码还是搜索关键字。
课后作业
列举出你遇到过的接口,并且详细 写出你是如何进行接口测试的。
整理好word文档,下周一发99u给我
练习
2、单元测试首先对通过模块接口的数据流进行测试。接口测试主要 从如下几个方面考虑________。 1、不属于单元测试内容的是 () A.模块接口测试 B.局部数据结构测试 C.路径测试 D.用户界面测试 (1)模块的形参和其驱动模块送来的参数的个数、类型、次序是否 一致 (2)模块传送给被调用模块的参数与其桩模块的参数的个数、类型 和次序是否一致 (3)模块传送给库函数的变量个数、类型次序是否正确 (4)全局变量的定义和用法在各个模块中是否一致 (5)所使用的外部文件的属性是否正确,打开文件的语句是否正确, 缓冲区大小是否与记录长度相匹配,文件结束判断处理是否一致 (A)(1)(3)(4)(5) (B)(1)(2)(4)(5) (C)(2)(3)(4)(5) (D)(1)(2)(3)(4)(5) 正确答案:D 解析:如果发现数据不能按照预定要求进出模块,所有的其他 测试都是不切实际的。
3
接口的安全性,一般web都不会暴露在网上任意被调用,需要做一些限制,比 如鉴权或认证。
4
接口的性能,web接口同样注重性能,这直接影响用户的使用体验。如果我搜 索一个关键字半天结果都没返回,果断弃用。
PART
THREE
接口测试 意义
接口测试系列课1
接口自动化测试意义
提高测试覆盖率 提高测试质量 易于重现bug
接口类型
• 程序中自行实现的方法 ?
• 现有库提供的方法 类型
?
?
• *基于Http的接口
PART
TWO
接口测试 定义
接口测试系列课1
接口测试的定义
定义 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交 互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,这要求对业务逻辑 有一定程度上的理解,对数据流向有较好的定位。 进行接口测试,最重要的,是以用户的角度模拟使用流程,保证功能、逻辑正确;还要以调用方的角度考虑接口的易用 性、规范性。 分类 模块接口测试和 web接口测试 方法 手工测试和自动 化测试
模块接口测试
定义 模块接口测试是 单元测试的基础。 它主要测试模块 的调用与返回。 案例 可以把add()方 法看成一个接口, 这个接口接收两 个整数并返回两 个整数的和
测试要点
1、检查接口返回的数据是否与预期结果一致。
2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子
是支持整数,传递的是小数或字符串呢? 2013 2012 2014 2015
执行者 测试角度
测试层面
测试阶段
代码框架
测试代码与项目代码写在同一 个工程内,需要调用内部提供 的方法 要在代码写好之后才能开始写, 在接口文档给出后就可以着手 否则被调用的类名等信息都不 开始编写测试代码 确定 都可以使用单元测试运行框架作为基本框架,如JUnit(Java)、 Unittest(python)等
PART
FOUR
与单元测 试比较
接口测试系列课1
单元测试
单元测试是针对具体的代码逻辑进行测试, 主要测试被测代码的一个很小的、很明确的 功能是否正确。通常而言,一个单元测试是 用于判断某个特定条件(或者场景)下某个 特定函数的行为,尽量减少这些功能单元集 成起来出错的可能性。 例如,你可能把一个很大的值放入一个有序 list 中去,然后确认该值出现在list 的尾 部。或者,你可能会从字符串中删除匹配某 种模式的字符,然后确认字符串确实不再包 含这些字符了。
wk.baidu.com
接口测试可以与 开发人员的编码平 行工作,因此发现 问题会比系统测试 早很多,因此减少 了修改bug的时间 成本。 降低了项 目不能按时发布的 风险。
在进行接口测试 之前,测试人员可 以对接口说明文档 进行评审。 要求接 口设计的规范化、 完整性,保证接口 文档易用、接口易 于维护,也保证了 项目质量。
接口测试系列课1
01
接口类型
目录
CONTENTS
接口测试系列课1
02 03 04
接口测试 定义 意义 与单元测 试比较
PART
ONE
接口类型
接口测试系列课1
接口的定义
API(Application Programming Interface,应用程序编程接口)是一些预 先定义的函数,目的是提供应用程序与开 发人员基于某软件或硬件得以访问一组例 程的能力,而又无需访问源码,或理解内 部工作机制的细节。
促使接口开发规范化 更早发现问题
5 6
提高测试效率
1
3
软件开发的过程是一个持续集 成和改进的过程,而每一次的改 进都可能引进新bug。 因此当软 件的部分,或者全部修改时,都 需要对软件产品重新进行测试。 当没有自动化测试代码时,往往 会由于各种各样的原因,回归不 充分,导致漏测。
软件系统的规模越来越大,通过手工测试很难 由于每次执行都是 功能点越来越多,开发人员 测试到一些更深层次 相同的代码,一旦代 的自测或者测试人员的人工 的异常和安全的问题。 码出错,必定回归出 测试非常耗时和繁琐,势必 通过一些辅助的一些 错 导致测试效率的低下。 而 测试工具,能分析出 自动化测试正好解决这些耗 代码的覆盖率,衡量 时繁琐的任务,在对外接口 测试的深度。 功能不变的情况下,达到了 一次编写,永久使用的效果。
服务器接口测试
案例 Http接口测试的过程,就是使用接口测试 工具,使用指定的url,传入参数,调用 接口,检验返回值是否符合期望。这是一 个最简单的get请求
测试要点
1
请求是否正确,默认请求成功是200,如果请求错误也能返回404、500等。
2
检查返回数据的正确性与格式;json是一种非常创建的格式。
简单来说,接口,就是开发人员将实现的 代码封装起来,仅暴露出一个提供给他人 调用的入口。调用方根据接口预先设计的 约定,传入必要的参数,实现接口的功能, 为己所用。
练习
下列选项中,操作系统提供的给应用程序的接口是() A.系统调用 B.中断 C.库函数 D.原语
答案:A 解析:操作系统接口主要有命令接口和程序接口,其中程序 接口又称为系统调用。库函数是高级语言中提供的与系统调 用对应的函数(也有些库函数与系统调用无关),目的是隐 藏“访管”指令的细节,使系统调用更为方便、抽象。但要 注意,库函数属于用户程序而非系统调用,是系统调用的上 层。库函数是面向程序员的应用编程接口。 比如我要写一个程序,这个程序的功能就是在屏幕上显示一 个字符串“hello,world!”。那么实现这么一个在屏幕上 显示一个字符串的操作就是系统调用write()的功能;我们 平时在写C语言时打印一个字符串是用printf()函数。
与单元测试比较
对比项 从属关系 单元测试 一个接口函数可能会包含多个 单元模块 开发人员 对函数代码的逻辑进行测试, 考虑的是函数内部实现,逻辑 结构,对业务关注不大。 接口测试 接口测试可以看成是单元测试 中的一部分 测试人员 站在用户角度对函数接口定义 进行的测试,考虑的是数据的 交换,传递和控制管理过程及 系统间的相互逻辑依赖,关注 业务。如下:输入接口参数值>API接口->查看接口的输出 从工程代码外部调用接口
3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处
理。
4、接口的性能,接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与 代码的优化。
5、接口的安全性,如果是外部接口的话,这点尤为重要。
web接口测试
100%
分类
80%
外部接口测 试
60%
服务器接口 测试
web接口测试又可分为两类:服务器接口测试和外部接口测试。 外部接口测试:这个很典型的例子就是第三方登录,比如你做的新系统免于新用户重新注册 的麻烦会提供第三方登录,那用户在登录的时候调用的就是第三方登录的接口,由第三方验 证用户名和密码并且返回给当前系统。 服务器接口测试:是测试浏览器与服务器的接口。这个很容易理解,我们知道web开发一般 分前端和后端,前端开发人员用html/css/javascript等技术。后端开发人用 php/java/python/ruby等各种语言。用户输入的数据是输入到的前端页面上,怎样把这些数 据传递的后台的呢?通过http协议的get与post请求来实现前后端的数据传递。这也可认为是 接口测试,调用的登录接口还是查询接口,传参的是用户密码还是搜索关键字。
课后作业
列举出你遇到过的接口,并且详细 写出你是如何进行接口测试的。
整理好word文档,下周一发99u给我
练习
2、单元测试首先对通过模块接口的数据流进行测试。接口测试主要 从如下几个方面考虑________。 1、不属于单元测试内容的是 () A.模块接口测试 B.局部数据结构测试 C.路径测试 D.用户界面测试 (1)模块的形参和其驱动模块送来的参数的个数、类型、次序是否 一致 (2)模块传送给被调用模块的参数与其桩模块的参数的个数、类型 和次序是否一致 (3)模块传送给库函数的变量个数、类型次序是否正确 (4)全局变量的定义和用法在各个模块中是否一致 (5)所使用的外部文件的属性是否正确,打开文件的语句是否正确, 缓冲区大小是否与记录长度相匹配,文件结束判断处理是否一致 (A)(1)(3)(4)(5) (B)(1)(2)(4)(5) (C)(2)(3)(4)(5) (D)(1)(2)(3)(4)(5) 正确答案:D 解析:如果发现数据不能按照预定要求进出模块,所有的其他 测试都是不切实际的。
3
接口的安全性,一般web都不会暴露在网上任意被调用,需要做一些限制,比 如鉴权或认证。
4
接口的性能,web接口同样注重性能,这直接影响用户的使用体验。如果我搜 索一个关键字半天结果都没返回,果断弃用。
PART
THREE
接口测试 意义
接口测试系列课1
接口自动化测试意义
提高测试覆盖率 提高测试质量 易于重现bug
接口类型
• 程序中自行实现的方法 ?
• 现有库提供的方法 类型
?
?
• *基于Http的接口
PART
TWO
接口测试 定义
接口测试系列课1
接口测试的定义
定义 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交 互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,这要求对业务逻辑 有一定程度上的理解,对数据流向有较好的定位。 进行接口测试,最重要的,是以用户的角度模拟使用流程,保证功能、逻辑正确;还要以调用方的角度考虑接口的易用 性、规范性。 分类 模块接口测试和 web接口测试 方法 手工测试和自动 化测试
模块接口测试
定义 模块接口测试是 单元测试的基础。 它主要测试模块 的调用与返回。 案例 可以把add()方 法看成一个接口, 这个接口接收两 个整数并返回两 个整数的和
测试要点
1、检查接口返回的数据是否与预期结果一致。
2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子
是支持整数,传递的是小数或字符串呢? 2013 2012 2014 2015
执行者 测试角度
测试层面
测试阶段
代码框架
测试代码与项目代码写在同一 个工程内,需要调用内部提供 的方法 要在代码写好之后才能开始写, 在接口文档给出后就可以着手 否则被调用的类名等信息都不 开始编写测试代码 确定 都可以使用单元测试运行框架作为基本框架,如JUnit(Java)、 Unittest(python)等
PART
FOUR
与单元测 试比较
接口测试系列课1
单元测试
单元测试是针对具体的代码逻辑进行测试, 主要测试被测代码的一个很小的、很明确的 功能是否正确。通常而言,一个单元测试是 用于判断某个特定条件(或者场景)下某个 特定函数的行为,尽量减少这些功能单元集 成起来出错的可能性。 例如,你可能把一个很大的值放入一个有序 list 中去,然后确认该值出现在list 的尾 部。或者,你可能会从字符串中删除匹配某 种模式的字符,然后确认字符串确实不再包 含这些字符了。
wk.baidu.com
接口测试可以与 开发人员的编码平 行工作,因此发现 问题会比系统测试 早很多,因此减少 了修改bug的时间 成本。 降低了项 目不能按时发布的 风险。
在进行接口测试 之前,测试人员可 以对接口说明文档 进行评审。 要求接 口设计的规范化、 完整性,保证接口 文档易用、接口易 于维护,也保证了 项目质量。
接口测试系列课1
01
接口类型
目录
CONTENTS
接口测试系列课1
02 03 04
接口测试 定义 意义 与单元测 试比较
PART
ONE
接口类型
接口测试系列课1
接口的定义
API(Application Programming Interface,应用程序编程接口)是一些预 先定义的函数,目的是提供应用程序与开 发人员基于某软件或硬件得以访问一组例 程的能力,而又无需访问源码,或理解内 部工作机制的细节。