淘宝商城(天猫)高级技术专家.3年研发+3年性能测试调优/系统测试+4年团队管理与测试架构、研发系统实践. 新舞台新气象, 深化测试基础架构及研发架构,希望能在某个技术领域成为真正的技术大牛。欢迎荐才http://bbs.51testing.com/viewthread.php?tid=120496&extra=&page=1 .邮件: jianzhao.liangjz@alibaba-inc.com,MSN:liangjianzhao@163.com.微博:http://t.sina.com.cn/1674816524

Open API测试畅想

上一篇 / 下一篇  2008-07-28 12:48:20 / 个人分类:测试管理技巧

查看( 2408 ) / 评论( 10 )
淘宝网新近开放了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 编辑]

TAG: Open API 性能测试 阿里巴巴 安全测试 监控 测试管理技巧

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

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

能否讲讲如何在应用的实现和数据的设计方面的关系。如何实现把复杂的应用放到数据设计中,而不是放到应用程序中,减少程序过多的接口,过多的workflow,过多的计算关系。
渊,知识厚薄也;冲,精神亢奋也; muerte 发布于2009-02-02 11:29:13

QUOTE:

原帖由 liangjz 于 2008-7-28 12:12 发表
淘宝网新近开放了TOP平台,阿里软件的同事们根据平台测试的实践编写了《互联网单元测试及实践》,阿里巴巴技术部也在实现Open API给第三方开发商的项目,国内互联网公司Open API开放状况参考http://fairyfish.net/20 ...
俺现在就在做API测试,感觉前途还是挺光明的,
架构师Jack的个人空间 架构师Jack 发布于2009-11-07 15:56:40
架构设计文档本身的测试,核心代码尽早执行性能测试
    应该有资深的架构师尽早介入,评审关键应用的设计文档,在早期介入减少设计失误。

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

QUOTE:

原帖由 cain_1313 于 2010-1-11 18:20 发表
查了一天的OpenAPI的东西,但是具体怎么测试,可否举个例子呢?
也盼楼主能举个例子
心心草的个人空间 lxtheiio 发布于2011-05-04 16:11:43
也想知道如何进行API测试。
我来说两句

(可选)

Open Toolbar