接口测试方法

2010-03-15  赵祥方 

 

对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了(有文档更好,但大部分都没有);其次,自己去读开发的代码;然后,根据该接口功能及代码写测试用例;
用例设计:
1:写一个程序去调用该接口,看是否能够达到该接口所定义的功能
2:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果
3:根据该接口中的逻辑,设计不同条件的用例,测试该接口实现代码的逻辑
4:进行容错及健壮性测试
5:静态检测代码,看是否有内存泄露、或永远走不到的分支、代码规范及逻辑是否合理。
6:对于一些接口,需要进行多线程测试
3223°/32114 人阅读/12 条评论 发表评论

王恩建  2010-03-15

我很好奇,没有文档也可以测试接口。开发写的代码就一定覆盖了需求?开发写的代码一定按照需求来实现?开发写的代码没有添油加醋增加自己的需求?至于代码静态检查,用一些开源工具如PMD,findbug,checkstyle就搞定,配置好就不需要人工干预。


赵祥方  2010-03-15

王恩建: 我很好奇,没有文档也可以测试接口。开发写的代码就一定覆盖了需求?开发写的代码一定按照需求来实现?开发写的代码没有添油加醋增加自己的需求?至于代码静态检查,用一些
多谢回复,多多交流。
首先,进行没有文档的接口测试,需要一定的专业知识;其次,接口说独立呢是独立的,说非独立呢也是非独立的,个人的理解为:一个接口就是一个函数,一个函数能干什么呢?一个函数是一个功能,就是被别的函数调用,这是时候,这个接口就不是独立的,可以写个程序调用这个接口,看是否达到该函数定义的功能。然后,再进行日志中的2和3,在一定程度也测试了一些需求(需要行业知识)。
工具固然好,但工具并不能完全代替人工方式。


曹一富  2010-03-15

没有文档,这个杯具不能避免就算了,但是还要在这个杯具上还要去做接口测试,杯具套杯具,更杯具。在我们这里是不做这样的高投入低产出的活。


王恩建  2010-03-15

赵祥方: 多谢回复,多多交流。
首先,进行没有文档的接口测试,需要一定的专业知识;其次,接口说独立呢是独立的,说非独立呢也是非独立的,个人的理解为:一个接口就是一个函数,一个函数
我困惑的是测试人员在没有文档的条件下,是怎么知道代码实现的“最原始的需求”。

对于代码静态检查不同于自动化测试,检查规则都是很明确的,几乎都是标准的,在这里我跟你看法刚好相反,人工替代不了工具。就拿checkstyle来说,它一分钟能搞定的事情,人一个月也搞不定。


赵祥方  2010-03-16

曹一富: 没有文档,这个杯具不能避免就算了,但是还要在这个杯具上还要去做接口测试,杯具套杯具,更杯具。在我们这里是不做这样的高投入低产出的活。
多谢分享你的看法。
每个公司的情况是不一样的,对于运营模式相对稳定、成功的公司来说,公司的流程及要求都是比较健全的。但对于一些刚起步或运营没有成型的公司来说,在流程及规范上都很不薄弱。你公司应该在流程和规范上都比较健全,你觉得没文档时杯具,或许你没有做有做过没有文档时进行接口测试。你感觉不到它的作用。
就我公司而言,接口测试不是应用接口测试,是系统、平台、服务层的接口测试,是不可避免的测试环节。


赵祥方  2010-03-16

王恩建: 我困惑的是测试人员在没有文档的条件下,是怎么知道代码实现的“最原始的需求”。

对于代码静态检查不同于自动化测试,检查规则都是很明确的,几乎都是标准的,在这里我
“工具一分钟能搞定的事情,人一个月也搞不定”,这个说法有点太信奉工具了。
如果工具能代替人工,一个公司为什么不只有一两个测试人员,每个人用几个工具就可以把很多人的工作都做了。


王恩建  2010-03-16

赵祥方: “工具一分钟能搞定的事情,人一个月也搞不定”,这个说法有点太信奉工具了。
如果工具能代替人工,一个公司为什么不只有一两个测试人员,每个人用几个工具就可以把很多
这个你有点断章取义哈,我只是说在代码静态检查上。举个简单例子,检查方法的参数个数是否超过三个,几十万行的代码,你说人能不能做这件事?


王波  2010-03-16

没有文档,可以问开发,只是这样沟通麻烦一点,有的开发也不是很有耐心。


赵祥方  2010-03-16

王恩建: 这个你有点断章取义哈,我只是说在代码静态检查上。举个简单例子,检查方法的参数个数是否超过三个,几十万行的代码,你说人能不能做这件事?
呵呵,几十万的代码,不是一下子写出来的,也不是以一个整体写出来的。向盖楼一样,一层一层修,修的时候,没层都有质量保证的,你总不能等楼盖完了,再去查看哪层有问题吧?


魏哲  2010-03-20

API测试,我的理解是:
1:要了解你的测试需求是什么?基本上和软件研发部门一起确定。
2:制定测试策略,确定不同的API使用什么测试方法,以及测试的程度
3:根据相关的开发文档,需求文档开始设计test case.确保cover相关的测试需求
4:根据test case,设计test code或者test script
5:开发测试工具,如果在订制测试策略后,认为需要开发对应的测试工具,则需要开发测试工具,对应测试需求。

终于有相关测试技术的讨论,欢迎交流。


高尚  2010-06-25

做接口测试最重要的是什么了?接口测试是为了证明什么?做接口测试,如果写的用例报了 java.lang.NullPointerException异常,这是写的用例错误了?还是调用后台的接口的错误?是看它的返回结果与定义的返回信息一致么?现在是存在一大堆的问题。如果写的用例运行时失败了?它一般会有那几种可能?怎么去看它错误信息?


赵云峰  2011-11-08

没办法评价,我正在准备要做接口测试了,从没介入过.....不知从何开始了...


登录 后发表评论