51Testing软件测试论坛

标题: Open API测试畅想 [打印本页]

作者: liangjz    时间: 2008-7-28 12:12
标题: Open API测试畅想
淘宝网新近开放了TOP平台,阿里软件的同事们根据平台测试的实践编写了《互联网单元测试及实践》,阿里巴巴技术部也在实现Open API给第三方开发商的项目,国内互联网公司Open API开放状况参考http://fairyfish.net/2008/07/16/chinese- open-api/。本月程序员杂志Open API大篇幅占据版面。chinaunix专门开辟openapi专栏 http://bbs.chinaunix.net/forum-137-1.html
   这些信息都表明,OPEN API是增强网站个性化、定制化的方式之一,将成为主流网站的一个趋势。

一种新的研发模式也必然对测试带来一定的影响。对于开放API的平台商而言,Open API本身的测试也会有自己个性化的特征。

(1) 安全测试要求更高。由于涉及关键数据众多,在用户输入验证、输出展现、安全交互、权限系统设计方面的要求更高。防止SQL注入、命令注入、XSS、缓冲区溢出、整数溢出等主要安全问题围绕整个软件生命周期。

(2) 流量、资源消耗、计费等监控粒度更加细致。

   从第三方开发商过来的请求流量设计方面必须足够聪明,做到有效控制DOS攻击。
   
   需要评估审核第三方开发商研发能力,加强对其管理。
   
   API调用需要大量计算资源,有效监控资源变化包括系统级别的资源(如CPU\IO\网路\内存\进程间通信\打开文件描述符、数据库的CRUD等)以及业务级别资源(页面响应时间、资源下载时间等),全方位的监控体系保证网站安全。

(3) 性能测试的需求更加迫切。
    大规模的应用访问会让系统感受到PV的强烈冲刺。
    一般应用程序关注用户访问模式,Open API更为关注API自身的调用频率。各种性能profile工具将发挥极致威力
          
(4)非常适合应用单元测试、应用代码覆盖以及做到daily build/test。

   由于提供给第三方开发商使用,其接口必然比较稳定,以及复用程度较高。从成本效益角度衡量,适合单元测试。同时借助代码覆盖率度量工具,增加测试用例。
   由于存在良好的单元测试代码,daily build/test体系建立将让BUG主动跳出来。
     
(5)demo应用程序以及API函数说明书。
   
   demo程序以及API函数说明书同样需要测试。第三方开发商借助这些demo应用程序以及API函数说明书才能有效发挥开放API的威力,由于分处两地,为了减少沟通成本,demo程序以及说明书应该相当详备。

(6) 部署模式测试。

   API部署范围不应局限于在PC/PC Serer上, Open API也应该部署在流行的google application engine平台以及Amazon AWS上进行测试,以满足不同层次的开发商需求。

(7)支持的开发语言调用测试

   针对Open API声称支持的各种开发语言对应的API都做测试。每种语言的数据类型都有差异,这个微小差异有时会导致致命的问题。
  
(8)架构设计文档本身的测试,核心代码尽早执行性能测试
   
    应该有资深的架构师尽早介入,评审关键应用的设计文档,在早期介入减少设计失误。

    核心代码尽早执行性能测试,避免后期大规模修改。
   
  欢迎各位朋友拍砖。

[ 本帖最后由 liangjz 于 2008-7-28 12:47 编辑 ]
作者: huangjfkj    时间: 2008-7-28 14:43
从成本效益角度衡量,适合单元测试。同时借助代码覆盖率度量工具,增加测试用例。
   由于存在良好的单元测试代码,daily build/test体系建立将让BUG主动跳出来。
作者: liangjz    时间: 2008-7-28 19:17
呵呵,daily build/test也是微软一向倡导并实施的研发模式
作者: liangjz    时间: 2009-1-20 00:01
偶最近在实践了,^_^,考虑的问题和纬度比以前多了好多:)

比如1  多了解 参数组合,函数调用序列  2 国外也有了针对API测试的测试框架。。。
作者: heqingbluesky    时间: 2009-1-22 13:59
如果你有API,那单元测试和自动化的测试可以更好的进行了。

能否讲讲如何在应用的实现和数据的设计方面的关系。如何实现把复杂的应用放到数据设计中,而不是放到应用程序中,减少程序过多的接口,过多的workflow,过多的计算关系。
作者: muerte    时间: 2009-2-2 11:29
原帖由 liangjz 于 2008-7-28 12:12 发表
淘宝网新近开放了TOP平台,阿里软件的同事们根据平台测试的实践编写了《互联网单元测试及实践》,阿里巴巴技术部也在实现Open API给第三方开发商的项目,国内互联网公司Open API开放状况参考http://fairyfish.net/20 ...

俺现在就在做API测试,感觉前途还是挺光明的,
作者: 架构师Jack    时间: 2009-11-7 15:56
架构设计文档本身的测试,核心代码尽早执行性能测试
    应该有资深的架构师尽早介入,评审关键应用的设计文档,在早期介入减少设计失误。

liangjz 你就有能力做这个工作。开始可能生产率不高,但坚持做,就会越来越好!有时开发的架构师未必评审时会比你做的好。
作者: mentgmery    时间: 2009-11-9 10:06
同意楼主的说法
作者: cain_1313    时间: 2010-1-11 18:20
查了一天的OpenAPI的东西,但是具体怎么测试,可否举个例子呢?
作者: xyzwh    时间: 2010-7-16 14:15
原帖由 cain_1313 于 2010-1-11 18:20 发表
查了一天的OpenAPI的东西,但是具体怎么测试,可否举个例子呢?

也盼楼主能举个例子
作者: lxtheiio    时间: 2011-5-4 16:11
也想知道如何进行API测试。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2