接口自动化学习笔记

虫师的接口自动化学习笔记(虫师原创----http://fnng.cnblogs.com)

web应用接口测试分为:

  1、模块接口测试:主要测试模块之间的调用与返回

  2、web接口:

    a、服务器接口:测试浏览器与服务器的接口

    b、外部接口:指调用的接口由第三方系统提供

接口测试的意义:

  1、保证系统的稳定性

  2、将bug控制在项目前期

  3、检查服务器的异常处理能力

  我们通常把前端的验证称为弱验证,因为它很容易被绕过,这个时间如果只站在功能的层面时行测试,就很难发现一些安全的问题。不以前功能为入口的接口测试就会发挥出它的作用。
举例,某接口默认需要传三个参数,因为前端页面控制三个参数都不能为空。但是直接调用该接口时只传了一个参数,而接口并没有对只传一个参数的情况进行处理,结果将直接抛出了系统错误信息。对于这个错误而言,只从功能测试层面进行测试是无法测到的。

接口测试要点

1、检查接口返回的数据是否与预期的结果一致。
2、检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?
3、接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。
4、接口的性能,接口处理数据的时间也是测试的一个方面。牵扯到内部就是算法与代码的优化。
5、接口的安全性,如果是外部接口的话,这点尤为重要。

web接口测试要点:

1、请求是否正确,默认请求成功是200,如果请求错误也能返回404、500 等。
2、检查返回数据的正确性与格式;json 是一种非常创建的格式。
3、接口的安全性,一般web 都不会暴露在网上任意被调用,需要做一些限制,比如鉴权或认证。
4、接口的性能,web 接口同样注重性能,这直接影响用户的使用体验。如果我搜索一个关键字半天结果都没返回,果断弃用。

接口自动化测试过程:
1、接口测试项目先向测试数据库中插入测试数据
2、调用被测系统接口
3、系统的接口根据入参向测试数据库中进行查询并得到信息。
4、系统的接口得到查询结果,并将结果返回。
5、通过单元测试框架断言接口返回的数据

时间: 2024-10-20 22:53:25

接口自动化学习笔记的相关文章

接口自动化学习--mock

好久没有写学习的总结,都正月十二了,但还是要来个新年快乐鸭. 一直都在看imooc的一套java接口自动化实战课程,现在看到了尾部了,然后想到之前那些testng,mock,httpclient等都没有做小结,所以就还是怕会学了看过了,没有实战就忘记了... 简介  mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法,这个虚拟的对象就是mock对象.mock对象就是真实对象在调试期间的代替品.mock用来模拟接口的,课程中学习mock用

Android自动化学习笔记之Robotium:学习官网实例

---------------------------------------------------------------------------------------------------------------------------- 小记:MonkeyRunner暂时告一段落,今天起学习一下Robotium. ********************** 2014-11-18:初版 ********************** --------------------------

【Java】变量类接口_学习笔记

变量.类和接口 1.变量的类型 实例变量(不以static修饰) 成员变量 类变量(以static修饰) 所有变量 形参(方法签名中定义的变量) 局部变量        方法局部变量(在方法内定义) 代码块局部变量(在代码块内定义) 2.单例类(Singleton) 单例类:一个类只能创建一个对象,称为单例类. 用法: A.使用private修饰构造器. B.使用public static 类名返回类型 getInstance(),方法里创建对象并返回对象. 3.final修饰符 A.final

Selenium2+Python自动化学习笔记(第1天)

参考[http://blog.csdn.net/henni_719/article/details/51096531]大神写的笔记,多谢大神共享. 1.Webdriver API 1)定位元素:Python中定位元素的方法如下: find_element_by_id() find_element_by_name() find_element_by_class_name() find_element_by_tag_name() find_element_by_link_text() find_el

Android自动化学习笔记:获取APK包名的几种方法

---------------------------------------------------------------------------------------------------------------------------- 小记:自学过程中,经常需要用得到一个APK的包名,总结一下得到包名的几种方式. ********************** 2014-10-29:初版 2014-10-30:完善 ********************** -----------

python自动化学习笔记之DAY17

Django基础篇 MTV:URL: url的路径与视图函数的映射关系 http://jd.com/caidian/ caidian-----foo()http://jd.com/car/ car---------bar()http://jd.com/login/ login---------login() views:逻辑处理 models:与数据库相关的操作 template(模板): 与html文件相关的操作 创建项目命令:django-admin startprject 项目名 创建应用

python自动化学习笔记之DAY19

Django-model基础 表的创建(模型建立) 例1: from django.db import models #书籍 class Book(models.Model): id=models.AutoField(primary_key=True) title=models.CharField(max_length=32) pubDate=models.DateField() price=models.DecimalField(max_digits=6,decimal_places=2) #

python自动化学习笔记之DAY21

cookie 1.cookie与session cookie出现原因:由于HTTP协议无法保持状态,但是在认证的环境里面,需要保持状态,因此产生了cookie cookie工作原理:由服务器产生内容,浏览器收到请求后保存在本地,当浏览器再次访问时,浏览器会自动带上cookie,服务器会通过cookie的内容来判断是谁了 session出现原因:cookie本身最大支持4096字节,并且cookie本身保存在客户端,可能会被拦截或窃取,因此产生了更为安全的session,并且支持更多字节 2.登录

华为测试大牛Python+Django接口自动化怎么写的?

有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运. 最近被几个公司实习生整自闭了,没有基础,想学自动化又不知道怎么去学,没有方向没有头绪,说白了其实就是学习过程中没有成就感,所以学不下去.出于各种花里胡哨的原因,今天给大家整一个简单又有成就感的接口自动化学习吧. 不皮了,进入正题.本文中用到的技术点有:Python