接口测试系列课1-接口测试之基础入门篇
接口测试培训

接口测试模式
接口的测试设计思路:
列出与每个部件的交互点。
与E 部件的交互点2.1~2.4; 与M部件的交互点3.1~3.2
包括:与P 部件的交互点1.1~1.2;
对每个部件的每个交互点进行正常与异常
方面的验证。
基本模式之C模式
C模式:被测对象作为客户端发送请求消息。一般来说,流程起点的接口(例子中的P部 件接口)多数为C模式。
接口测试实施在多系统多平台的构架下,有着极为高 效的成本收益比。接口测试天生为高复杂性的平台带 来高效的缺陷检测和质量监督能力。平台越复杂,系 统越庞大,接口测试的效果越明显。
目录
什么是接口测试 为什么做接口测试 接口测试的适用范围 接口测试模式 接口测试常用技术简介 接口测试数据准备
消息接口
文件接口
数据库接口
共享内存接口
类接口
接口测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依 赖关系等。 系统间的接口测试类测试的主要依据文档是通信协议。客户通常是要求把一个系统里 的通信报文格式转换成另一个系统里的报文格式。功能测试的内容,把每一条报文都 覆盖测试一次确保转换成功。关注:参数的类型、数量、顺序匹配。接口的日志文件, 异常处理。
DbUnit
DbUnit是一个基于JUnit扩展的数据库测试框架,目的是在测试运行前后使数据库处
于可知状态。它提供了大量的类对与数据库相关的操作进行了抽象和封装,运用DbUnit的 一般流程如下:
根据业务准备测试用的数据,一般准备成Excel格式的数据集; 在测试执行前,将数据集更新到数据库; 在测试执行后,将数据库恢复到测试前的状态。
PostMan接口测试(很全面的接口测试教程)

PostMan接⼝测试(很全⾯的接⼝测试教程)⼀:理论部分1. 前⾔在前后端分离开发时,后端⼯作⼈员完成系统接⼝开发后,需要与前端⼈员对接,测试调试接⼝,验证接⼝的正确性可⽤性。
⽽这要求前端开发进度和后端进度保持基本⼀致,任何⼀⽅的进度跟不上,都⽆法及时完成功能模块的测试。
做为后端开发⼈员,要求独⽴开发完成某个接⼝后,开发⼈员⾃⼰需要先测试通过后再提交给测试⼈员进⾏测试,否则会出现到测试⼈员哪⾥业务流程根本就⾛不通,或者BUG会过多的情况等。
市场上有很多优秀的,完善的接⼝测试⼯具,⽐如SoapUI,Postman,JMeter、yapi等,能够⾼效的帮助后端开发⼈员独⽴进⾏接⼝测试。
这⾥使⽤Postman接⼝测试⼯具,分别介绍如何对GET请求和POST请求进⾏接⼝测试。
2. Postman简介Postman是⼀个接⼝测试⼯具,在做接⼝测试的时候,Postman相当于⼀个客户端,它可以模拟⽤户发起的各类HTTP请求,将请求数据发送⾄服务端,获取对应的响应结果,从⽽验证响应中的结果数据是否和预期值相匹配;并确保开发⼈员能够及时处理接⼝中的bug,进⽽保证产品上线之后的稳定性和安全性。
它主要是⽤来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于有的浏览器不能输出Json格式,⽽Postman 更直观接⼝返回的结果。
3.Postman界⾯图各个功能区的使⽤如下:l 快捷区:快捷区提供常⽤的操作⼊⼝,包括运⾏收藏夹的⼀组测试数据,导⼊别⼈共享的收藏夹测试数据(Import from file, Import from folder, Import from link等),或新建请求、收藏夹、环境变量等。
l 侧边栏:包括搜索栏, Request 请求的历史记录和收藏夹管理。
l 功能区: Request 请求设置,查看 Response 响应结果和测试结果,可以将请求保存到收藏夹。
接口测试初级培训

责任
执行结果:{"errno":9,"errmsg":"\u6307\u5b9a\u9ad8\u7ea7\u8bdd\u9898\u4e 0d\u5b58\u5728","errcode":311101}
对结果中的参数及值进行分析
接口测试实例分析
举例1:根据话题词获取话题信息接口
/话题内部API-根据话题词获取话题 信息 接口URL: Curl"/thread/showbykeyword?cip= 127.0.0.1&k=fuckingSMweek&show_emcee=1&show_discus s_num=1"
/go.html?u= /jsonview2/
接口测试实例分析
举例2:申请话题主持人接口
/话题内部API-申请话题主持人
接口URL:
Curl "/emcee/apply?cip=127.0.0.1" -X POST -d "tid=400052&uid=2679036945" 返回结果: {"errno":9,"errmsg":"\u5bf9\u4e0d\u8d77\uff0c\u4f60\u8fd8\u4e0d\u6ee1\u8db3\u 6210\u4e3a\u4e3b\u6301\u4eba\u7684\u6761\u4ef6","errcode":312114}
接口wiki中给予的信息
必选参数、可选参数 参数取值范围(默认值、定义范围) 返回结果(Retcode值及含义、参数内容) 逻辑功能(参数之间的逻辑、接口之间的逻辑)
接口测试的原理

接口测试的原理接口测试是软件测试的重要环节之一,它主要是验证软件系统之间的数据交换是否正常、功能是否正确、性能是否满足需求等。
本文将详细介绍接口测试的原理,帮助读者更好地理解和应用接口测试。
一、什么是接口测试接口是不同软件系统之间进行数据交换和通信的媒介。
接口测试是对这些接口的正确性和稳定性进行验证的一种测试方法。
它可以分为内部接口(如模块之间的接口)和外部接口(如两个独立系统之间的接口)。
二、接口测试的原理1. 请求和响应格式验证在接口测试中,我们首先需要验证请求和响应的格式是否符合规范。
一般来说,接口请求和响应通常使用JSON或XML格式,我们需要验证这些格式是否正确地传输了请求和响应的数据。
2. 参数验证接口测试中,我们还需要验证接口所要求的参数是否正确传递。
这包括参数的类型、取值范围、必填性以及参数之间的依赖关系等。
通过验证参数的正确性,可以保证接口的稳定性和安全性。
3. 接口功能验证接口的功能验证是接口测试中最重要的一部分。
我们需要根据需求文档或接口设计文档,验证接口在各种情况下是否能够正确地执行预期的功能操作。
例如,一个用户登录接口需要验证用户的账号密码是否正确,以及是否能够成功登录系统。
4. 接口性能验证除了功能验证,接口测试还需要验证接口的性能是否满足需求。
这包括接口的响应时间、吞吐量、并发性等方面的测试。
通过性能验证,可以保证接口在高并发或大数据量情况下的稳定性和可靠性。
5. 异常处理验证在接口测试中,我们需要验证接口在异常条件下的表现。
例如,当参数错误时,接口是否返回正确的错误码和错误信息,当接口异常时,是否能够正确地处理异常并给出适当的提示。
6. 依赖关系验证在复杂的系统中,接口之间通常存在各种依赖关系。
接口测试需要验证这些依赖关系是否正确地传递和处理。
例如,一个订单接口可能需要调用用户接口获取用户信息,我们需要验证订单接口是否正确地调用和处理了用户接口的返回结果。
7. 安全验证接口测试还需要验证接口的安全性,包括数据传输的加密、权限控制、防止SQL注入、防止跨站脚本攻击等方面的测试。
接口测试方法

接口测试方法接口测试是软件测试中非常重要的一部分,它主要是用来验证系统组件之间的通信和数据传输是否正常。
接口测试方法可以帮助我们发现潜在的问题,确保系统的稳定性和可靠性。
下面我们将介绍一些常用的接口测试方法。
1. 静态测试。
静态测试是在不执行代码的情况下对接口进行测试。
这种测试方法通常包括对接口文档、数据结构、数据流和控制流进行审查和分析。
通过仔细研究接口文档和数据结构,我们可以发现潜在的设计缺陷和逻辑错误。
静态测试的好处是可以在早期发现问题并及时修复,从而减少后期的成本和风险。
2. 动态测试。
动态测试是在执行代码的情况下对接口进行测试。
这种测试方法主要包括单元测试、集成测试和系统测试。
单元测试是对单个接口进行测试,集成测试是对接口之间的交互进行测试,系统测试是对整个系统进行测试。
通过动态测试,我们可以验证接口的功能是否符合预期,并发现潜在的性能问题和安全漏洞。
3. 压力测试。
压力测试是对接口进行负载测试,以验证系统在高负载情况下的性能和稳定性。
通过模拟大量并发用户对接口进行访问,我们可以发现系统的瓶颈和性能瓶颈,并进行相应的优化和调整。
压力测试可以帮助我们确保系统在高负载情况下仍然能够正常运行,不会出现性能下降或系统崩溃的情况。
4. 兼容性测试。
兼容性测试是对接口在不同环境和平台下的兼容性进行测试。
这种测试方法主要包括操作系统、浏览器、数据库和网络环境等方面的测试。
通过兼容性测试,我们可以确保接口在不同环境和平台下都能够正常运行,不会出现兼容性问题和兼容性错误。
5. 安全测试。
安全测试是对接口的安全性进行测试,以验证系统在面对各种安全威胁时的表现。
这种测试方法主要包括认证、授权、数据加密和防火墙等方面的测试。
通过安全测试,我们可以发现系统的安全漏洞和风险,并采取相应的措施进行修复和加固,以确保系统的安全性和可靠性。
总结。
接口测试是软件测试中非常重要的一部分,它可以帮助我们发现潜在的问题,确保系统的稳定性和可靠性。
Python接口测试基础知识(面试)习题及答案解析_2024高级测试开发工程师面试题集锦

Python接口测试基础知识(面试)习题及答案解析(答案见尾页)一、选择题1. 什么是指令测试?A. 接口测试B. 功能测试C. 集成测试D. 性能测试2. 在Python中,如何判断一个字符串是否是URL?A. 使用urlparse模块B. 使用re模块C. 使用requests模块D. 使用os模块3. Python中获取请求方法的值,应该使用哪个函数?A. request.methodB. request.get_methodC. request.urlD. request.build_url4. Python中如何发送POST请求?A. requests.post()B. requests.put()C. requests.patch()D. requests.delete()5. 在Python中,如何判断一个响应的状态码是否为?A. response.status_code == 200B. response.code == 200C. response.statustext == "200 OK"D. response.body == "OK"6. Python中如何解析JSON数据?A. json.loads()B. json.dumps()C. json.load()D. json.dump()7. 请求头中的"Content-Length"字段表示什么?A. 请求体大小B. 响应体大小C. 请求URL长度D. 请求方法8. 请求头中的"Accept"字段用于告诉服务器什么类型的内容可以接受?A. JSONB. XMLC. HTMLD. CSS9. 以下哪种情况会导致请求失败?A. 请求头中的"User-Agent"设置不正确B. 请求方法不支持C. 请求头中的"Content-Type"设置不正确D. 服务器返回错误代码40410. 如何在Python中设置请求延时?A. time.sleep(1)B. random.uniform(0.1, 1)C. requests.Session().get(url, timeout=1)D. requests.Session().put(url, timeout=1)11. 以下哪个选项不是请求头中的常见字段?A. Content-TypeB. AcceptC. User-AgentD. Authorization12. 在Python中,如何使用SQLite进行数据库操作?A. 直接使用Psycopg2库B. 使用sqlite3库C. 使用MySQLdb库D. 使用pyodbc库13. 以下哪种方法不是Python中常用的获取URL参数的方式?A. 直接在URL字符串中指定B. 使用urllib.parse库中的urlparse函数C. 使用requests库中的Request对象D. 使用os.environ14. 在Python中,如何创建一个表单并接收用户输入的数据?A. 使用flask库B. 使用django库C. 使用Flask-WTF库D. 使用Spring Boot库15. 在Python中,如何处理异常捕获?A. 使用try-except语句B. 使用raise语句C. 使用finally语句D. 使用with语句16. 如何在Python中发送POST请求?A. 使用requests库B. 使用urllib库C. 使用socket库D. 使用curl库17. 以下哪种方法是在Python中处理CSV文件的好方法?A. 使用csv库B. 使用pandas库C. 使用open函数D. 使用os库18. 在Python中,如何进行数据库连接池的管理?A. 使用pymysql库B. 使用psycopg2库C. 使用sqlite3库D. 使用pyodbc库19. 以下哪种方法是Python中进行多线程编程的最佳选择?A. 使用threading库B. 使用multiprocessing库C. 使用asyncio库D. 使用queue库20. 在Python中,如何解析JSON数据?A. 使用 `json.loads()` 函数B. 使用 `json.dumps()` 函数C. 使用 `json` 模块D. 使用 `urllib.parse.quote()` 函数21. 以下哪个函数是用来发送GET请求的?A. requests.get()B. requests.post()C. requests.put()D. requests.delete()22. 如何防止网络爬虫对网站造成过多的访问压力?A. 通过代理IPB. 设置请求速度限制C. 模拟用户浏览器行为D. 使用第三方CDN加速23. 以下哪个模块在Python中主要用于处理网络爬虫?A. requestsB. BeautifulSoupC. scrapyD. lxml24. 如何处理请求中的重定向?A. 使用 `location` 属性B. 使用 ` follow` 属性C. 使用 ` headers` 属性D. 使用 ` session` 属性25. 以下哪个错误是在发送请求时可能会遇到的?A. 请求超时B. 请求被拒绝C. 请求URL错误D. 网络连接问题26. 如何在爬虫中处理登录验证?A. 使用session对象进行登录B. 使用cookie对象进行登录C. 使用表单提交进行登录D. 使用验证码识别进行登录27. 以下哪个函数是Python中用于发送POST请求的?A. requests.get()B. requests.post()C. requests.put()D. requests.delete()28. 在Python中,可以使用哪个库来进行性能测试?A. requestsB. timeitC. unittestD. PyTest29. 以下哪种是常见的性能测试指标?A. 请求成功率B. 响应时间C. 吞吐量D. 错误率30. 如何进行接口的并发性能测试?A. 使用多线程或多进程B. 使用请求队列C. 使用代理服务器D. 使用负载均衡器31. 接口性能测试中,需要关注哪些方面的性能?A. 请求响应速度B. 资源消耗C. 可用性D. 容错能力32. 以下哪种类型的请求可以用来进行性能测试?A. 正常请求B. 随机请求C. 压力测试D. 容量测试33. 以下哪种技术可以用来模拟大量的并发请求?A. 请求队列B. 负载均衡器C. 分布式系统D. 虚拟机34. 如何评估接口的安全性?A. 检查请求头B. 检查响应状态码C. 检查数据库操作D. 检查异常处理35. 在进行性能测试时,应该将测试环境设置为实际生产环境的仿真环境。
接口测试标准

接口测试标准
接口测试的标准主要包括以下几个方面:
1. 接口的正常调用:按照接口定义,传递正确的接口信息,包括地址、方法、传输数据,然后查看接口返回的响应结果是否正确,数据库的数据是否正确。
2. 请求参数的校验:需要覆盖正常和异常情况,例如请求数据输入异常值、错误参数名、错误传输数据格式等,接口能否正确处理且返回响应结果是否合理。
3. 安全性测试:敏感数据是否加密传输、返回数据是否含有敏感信息、接口是否对传入的数据做安全校验、接口是否防止恶意请求等。
4. 性能测试:接口的响应时间在用户可接受的范围内,并发请求相同的接口,查看接口的处理情况,对于业务操作频繁的接口需要做压测。
5. 案例设计:需要覆盖业务正常和异常场景,输入参数的校验,输出结果的校验等。
6. 规范编写:文件以系统名称命名,同一个系统的接口案例归纳在一起,环境信息、用户数据等常量提取成公共变量。
同一个接口的案例归纳到一个控制器之下。
总之,这些标准能够有效地帮助进行有效的接口测试,确保接口的正常运行和安全性。
接口测试常见方法与总结

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