网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > Java&XML > WebServices > Web Services的测试模型与代码摘录  

Web Services的测试模型与代码摘录

2008-01-17  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

    测试Web Services的有效性、性能、可伸缩性、可靠性以及安全性时所面临的主要挑战是 Web Services的分布性。 网管u家u.bitscn@com

  为了使完整的Web Services能够实现预期的功能,就要求客户端和服务都要满足一系列的要求。接口必须在其WSDL文档中正确描述出来,消息必须遵守传输协议规范(如HTTP1.1)和消息协议(如SOAP 1.1)。同时消息必须遵守描述该服务的WSDL文档中的契约,要求同时考虑到消息的内容和传输层的绑定。加上综合的安全条款、互操作性问题、UDDI注册要求以及一定负载下的性能需求,就很容易发现为什么网络测试不是无足轻重的事情。 网管联盟bitsCN_com

  Web Services组件可由多个利益相关者来共同构建和部署。因此,测试这些组件过程中会发现确定代码质量、可用性等都有很大的难度。Web Services的标准是简单的,数据驱动的,并且共享一个公共的基于XML的基础。传统的测试工具可能不足以有效地测试这些标准。而且GUI自动化工具也不足以有效地测试Web Services的接口点和消息格式。

中国网管联盟bitsCN.com

  功能测试 网管u家u.bitsCN.com

  该测试的目标相当直观易懂:确保服务器能够对给定的请求发送正确的响应。然而,由于Web Services的复杂性,该任务原非想象的那么简单。对于大多数的Web Services而言,它不可能精确预见客户端会发来什么类型的请求。枚举所有可能的请求并不切实可行,因为可能输入的空间要么是没有边界,要么就是无穷大。因此,验证服务器是否能处理大范围的请求类型和参数是极其重要的。

网管联盟bitsCN_com

    public boolean execute(String action, String symbol, int quantity)

网管网www.bitscn.com

    throws javax.xml.soap.SOAPException{ 网管联盟bitsCN_com

       Detail detail = null;

网管下载dl.bitscn.com

       detail = SOAPFactory.newInstance().createDetail(); 中国网管联盟bitsCN.com

       detail.addChildElement( \"Stock Trade\" ).addTextNode( \"failed\" ); 中国网管论坛bbs.bitsCN.com

        System.out.println(\"execute() in webservices.stock.trade webservice has been invoked

中国网管联盟bitsCN.com

        with following arguments:: action:\" + action +

网管bitscn_com

        \" symbol:\" + symbol + \" quantity:\" + quantity);

网管u家u.bitsCN.com

        if(action == null) { 网管联盟bitsCN_com

          throw new SOAPFaultException(new QName( \"http://StockTrade/execute\", \"ServerFailed\" ),

网管u家u.bitsCN.com

                \"action parameter is null.\", 网管论坛bbs_bitsCN_com

                null,

网管u家u.bitscn@com

                detail); 中国网管联盟bitsCN.com

        } 网管bitscn_com

        if(symbol == null) { 网管u家u.bitsCN.com

          throw new SOAPFaultException(new QName( \"http://StockTrade/execute\", \"ServerFailed\" ),

网管联盟bitsCN@com

                \"symbol parameter is null.\", 网管网www.bitscn.com

                null,

网管下载dl.bitscn.com

                detail);

网管bitscn_com

     }
      if(action.equalsIgnoreCase(\"BUY\"))

网管联盟bitsCN@com

          System.out.println(\"BUYING quantity: \"+ quantity + \" of symbol:\" + symbol); 网管bitscn_com

          // Invoke method to execute trade here. 网管网www.bitscn.com

        else if(action.equalsIgnoreCase(\"SELL\")) 网管u家u.bitsCN.com

          System.out.println(\"SELLING quantity: \"+ quantity + \" of symbol:\" + symbol);

网管联盟bitsCN@com

          // Invoke method to execute trade here.

中国网管联盟bitsCN.com

        else

网管网www_bitscn_com

        {

网管网www.bitscn.com

          System.out.println(\"INVALID action: \"+ action);

网管联盟bitsCN_com

          throw new SOAPFaultException(new QName( \"http://StockTrade/execute\", \"ServerFailed\" ), 网管u家u.bitsCN.com

                \"Invalid Action:\" + action,

网管bitscn_com

                null,

中国网管论坛bbs.bitsCN.com

                detail); 中国网管论坛bbs.bitsCN.com

        } 网管下载dl.bitscn.com

        return true; 网管联盟bitsCN_com

      }

中国网管论坛bbs.bitsCN.com

网管下载dl.bitscn.com


TAGs   代码   模型   测试       Web   Services   symbol   一个   .NET      
 上一篇:Ruby on Rails不同的开发体验   下一篇:Weblogic GBK/GB2312/UTF-8乱码的问题
Web Services的测试模型与代码摘录 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户