51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

楼主: lsekfe
打印 上一主题 下一主题

【你问我来答第17期】:如何做好接口测试?(已结束)

[复制链接]

该用户从未签到

41#
发表于 2011-12-6 08:58:23 | 只看该作者
能够有实际例子讲解的话,大家更容易理解与接收点!
回复 支持 反对

使用道具 举报

该用户从未签到

42#
发表于 2011-12-6 09:26:23 | 只看该作者
你好,刀兄
  我之前也从事过一段时间的接口测试工作,但是一直很难界定是属于什么测试,有部分接口我们在系统测试才编写系统测试桩,去测试系统之间的接口,无法可持续集成;有些是在单元测试时候就把相应测试给做了的,我大多是用Spring TestContext Framework+junit,然后加个可持续集成工具,来做接口测试工作(实际也就是白盒测试);而对于webservice接口大多采用soapUI.
  所以请问版主,你们通常在什么阶段介入接口测试,有些什么样的方法和测试技术。比如:接口测试项目构建基础框架、mock框架化等等之类;另外mock是指使用各种技术手段模拟出各种需要的资源以供测试使用,但是还是不懂如何去模拟,都有哪些方法和技术?比如我就想测试J2EE的DAO层或service层。
回复 支持 反对

使用道具 举报

该用户从未签到

43#
发表于 2011-12-6 18:25:57 | 只看该作者
回复 41# john009


      打算做一个接口测试从零开始的系列,会有实际的例子。大概的内容是:
    1. 如何去做一个接口方法的测试用例设计
    2. 接口测试的整个过程。
    3. 接口测试相关的基础,ibatis,maven
      4. mock在接口测试中使用及easyMock介绍
    5. 接口测试的数据准备。
    6. 接口测试的技巧经验
    7. 。。。
回复 支持 反对

使用道具 举报

该用户从未签到

44#
发表于 2011-12-6 18:34:28 | 只看该作者
回复 34# 小刀


1. 系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,支付宝会提供接口给淘宝调用
-----
1、假如我是做淘宝网测试的,怎样去测试与支付宝的接口是否良好的对接上了?
2、如果我的测试对象只是应用层的软件,怎样测试与service的对接?是否逐一遍历service提供的接口就行了?
谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

45#
发表于 2011-12-6 18:59:49 | 只看该作者
本帖最后由 小刀 于 2011-12-6 19:01 编辑

接口测试从零开始系列1_如何针对接口方法设计测试用例:http://www.51testing.com/index.php?uid-128005-action-viewspace-itemid-250115
回复 支持 反对

使用道具 举报

该用户从未签到

46#
发表于 2011-12-6 19:35:41 | 只看该作者
回复 23# 小刀


    谢谢你的回复。
在我们公司,这类接口是由开发主导的,测试只是参与一些评审和结果审核。
你认为接口测试由开发团队做好还是测试团队好?各有什么优势和弱点?

我的看法:对这些接口的作用以及使用场景,开发人员比测试更了解,但是开发人员一般缺少测试方法和理论指导,或者更有开发人员对测试只是应付一下,存在测试不充分的风险。测试人员需要熟悉这些接口的话,学习成本会比较高,如果测试人员流动快的话,没有经验积累,更难以保证接口测试质量,甚至影响整个项目的进度。
回复 支持 反对

使用道具 举报

该用户从未签到

47#
发表于 2011-12-6 23:32:47 | 只看该作者
小刀兄,先谢谢你开这样的一个帖子

我想请问:接口测试盒单元测试有什么区别?接口测试和白盒测试又有什么区别?
回复 支持 反对

使用道具 举报

该用户从未签到

48#
发表于 2011-12-6 23:38:31 | 只看该作者
回复 45# 小刀


    期待接口测试从零开始系列,不过,希望能够针对一个具体的接口有具体的测试代码,更直观。
回复 支持 反对

使用道具 举报

该用户从未签到

49#
发表于 2011-12-7 15:10:13 | 只看该作者
我想问下:如何着手用LR做性能测试,我还没入过门,什么也不会,属菜鸟中的菜鸟,公司以前会做的人走了,大侠们有没有相关资料,发我一份,求
zhanglh101@126.com
回复 支持 反对

使用道具 举报

该用户从未签到

50#
发表于 2011-12-7 20:01:06 | 只看该作者
接口测试从零开始2------接口测试的全过程:http://www.51testing.com/index.p ... space-itemid-250266
回复 支持 反对

使用道具 举报

该用户从未签到

51#
发表于 2011-12-7 20:11:27 | 只看该作者
回复 33# 永远的测试者

      你好,如果要做接口测试,是需要一定的编程能力的,需要学习相对应的开发语言的,然后还需要学习开发所使用的一些框架,比如ibatis,spring等,对数据库的操作也需要了解一些,还有eclipse操作,这些内容并不需要了解的多么深入,如果只是一般的做做接口测试,这些能够使用就可以了,当然,要做好接口测试,就另当别论了。

    我不知道你当前是什么样的能力,所以,我的建议就是,
    1. 学习编程语言,基础的语法,循环,条件等
    2. 学习项目工程管理及开发框架:eclipse,maven,svn,ibatis,spring等
    3. 学习Xunit
      4. 自己尝试去写测试代码

    其实,上面的过程除了第一步是必须具备的意外,其他的都可以一边写测试代码,一边学习,最好的办法就是看开发写的代码,并且,请开发写一个正常的测试代码,然后照着开发的测试代码去模仿。
回复 支持 反对

使用道具 举报

该用户从未签到

52#
发表于 2011-12-7 20:22:26 | 只看该作者
回复 44# iTest99

      照你说的 ,是做淘宝网的测试,那么支付宝的接口在提供给淘宝网的时候,就是已经做过测试了的,接口测试要保证的是对外提供的接口要正确实现了接口定义的功能,而不是去测试别人提供的接口。
    如何测试和支付宝的接口良好的对接,是通过测试淘宝网自己的接口去验证的,比如,将淘宝网的交易过程当做一个接口,在这个接口的实现中,肯定是需要调用支付宝的付款接口来实现支付的操作,同时,根据支付宝付款接口返回的值来坐响应的处理,也就是说,支付宝的付款接口是实现淘宝交易过程的一个操作,那么,我们可以模拟支付宝接口返回不同值来验证我们的接口是不是对支付宝的所有的返回值都进行了处理,这个才是我们测试的重点。

   服务层提供的接口,本来就是给应用层调用的,要测试两者之间的对接,就需要了解,应用层的哪些操作对应服务层的哪个接口,了解了这个对应关系后,我们可以直接操作应用层,这样,通过应用层调用服务层,就可以测试到二者之间的对接。
回复 支持 反对

使用道具 举报

该用户从未签到

53#
发表于 2011-12-7 20:34:50 | 只看该作者
回复 46# iTest99


    我觉得,还是要区分一下单元测试和接口测试,单元测试一般来说,是针对具体的代码逻辑进行测试,尽量减少这些功能单元集成起来出错的可能性,一般是由开发人员来完成,而接口测试,更注重从用户的角度设计用例,更偏向于功能测试,单元测试设计测试用例的时候,可能更多的考虑是代码覆,而接口测试,则需要更多的考虑业务覆盖。单元测试由开发人员来做,可以保证从代码角度来看是没有问题的,但服务保证业务角度来看也是没有问题的,而接口测试,则通过业务的角度去设计测试用例,其实,也可以说是从更早的时候,以功能测试的方法,先保证项目的流程及功能是正常的,而不至于在页面开发完成后,又修改主要功能代码,导致项目赶工及一系列的重写。
   所以,我觉得,单元测试由开发人员来做,接口测试由测试人员来做。
   至于你说的学习接口的成本,我觉得这个成本并不高,原因是:
    1.  接口测试的用例也是依赖需求文档的,并不是根据开发代码去设计
    2. 接口测试的用例可以在功能测试中复用。
    3. 接口测试看似增加测试时间,实则不然,因为,接口测试会更早的发现bug,而使得修改bug的成本更低,接口测试会减少功能测试的时间,应该接口测试会确保主要流程功能的正确性,接口测试更容易实现持续集成,从而减少回归测试的次数。
回复 支持 反对

使用道具 举报

该用户从未签到

54#
发表于 2011-12-7 20:35:56 | 只看该作者
回复 49# bestlckh

      你好我对LR学习不多,更多的是使用Jmeter进行性能测试的,非常抱歉,没有相应的资料,你可以在网上搜索,而且51testing的LR板块也有很多的资料的。
回复 支持 反对

使用道具 举报

该用户从未签到

55#
发表于 2011-12-8 15:31:52 | 只看该作者
版主回下42楼
:所以请问版主,你们通常在什么阶段介入接口测试,有些什么样的方法和测试技术。比如:接口测试项目构建基础框架、mock框架化等等之类;另外mock是指使用各种技术手段模拟出各种需要的资源以供测试使用,但是还是不懂如何去模拟,都有哪些方法和技术?比如我就想测试J2EE的DAO层或service层。
回复 支持 反对

使用道具 举报

该用户从未签到

56#
发表于 2011-12-8 20:08:11 | 只看该作者
回复 55# lisongsu


          其实,在讨论需求,技术评审的时候已经介入了,但是一般是在开发设计定义好接口正式介入接口测试了,开始接口测试用例的编写。当然,并不完全是这个样子的,有些项目,因为资源的原因,可能会在开发完成代码设计设计后进入。

      因为我们项目主要使用spring+ibatis+maven,所以接口测试使用的技术框架是maven,spring,junit,easyMock,同时,我们有一个自己的工具类,用来做数据操作,断言及其他的一些工具类。在eclipse中是使用clover来检查代码覆盖率,持续集成使用hudson。

     mock方法,主要有两种,一种是自己写mock类去实现接口方法,测试的时候,使用自己的mock实现类,另外一种是使用easyMock,具体的例子可以查看http://bbs.51testing.com/thread-521311-1-1.html
        
           如果测试DAO层,可以使用mock方法模拟数据库操作相关的内容,比如Connection ,Statement ,ResultSet 等。
       如果测试Service层,可以使用mock模拟DAO,比如:

                IMocksControl mockControl = EasyMock.createControl();
                IPingJiaDao pingJiaDao = mockControl.createMock(PingJiaDaoImpl.class); //创建模拟的DAO
                EasyMock.expect(pingJiaDao.getGoodPingJiaRate("storeId1")).andReturn(0.12).times(1,3);//设置方法返回值
                EasyMock.replay(pingJiaDao);//回放
                storeService.setPingJiaDao(pingJiaDao);//设置DAO
                double rate1 = storeService.getStoreGoodRate("storeId1");//调用service方法
回复 支持 反对

使用道具 举报

该用户从未签到

57#
发表于 2011-12-8 20:17:09 | 只看该作者
各位同学可以查看接口测试从零开始系列文章:

接口测试从零开始1------如何针对接口方法设计测试用例:http://www.51testing.com/index.p ... space-itemid-250115

接口测试从零开始2------接口测试的全过程:http://www.51testing.com/index.p ... space-itemid-250268

接口测试从零开始3------mock技术使用: http://www.51testing.com/?uid-12 ... space-itemid-804050
回复 支持 反对

使用道具 举报

该用户从未签到

58#
发表于 2011-12-8 22:43:48 | 只看该作者
小刀,你还没有回复我的问题啊,不过你的系列文章不错,赞一个,期待!
回复 支持 反对

使用道具 举报

该用户从未签到

59#
发表于 2011-12-10 14:07:15 | 只看该作者
《接口测试从零开始》系列教材不错,期待完整的系列......
回复 支持 反对

使用道具 举报

该用户从未签到

60#
发表于 2011-12-10 17:38:37 | 只看该作者
现在在做接口的测试,很有兴趣,顶一下~~~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-20 02:35 , Processed in 0.081982 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表