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)架构设计文档本身的测试,核心代码尽早执行性能测试


   


    应该有资深的架构师尽早介入,评审关键应用的设计文档,在早期介入减少设计失误。



    核心代码尽早执行性能测试,避免后期大规模修改。


   

Tags:  什么是openapi openapi

延伸阅读

最新评论

发表评论