利用SOAPtest进行Web service测试[2] 软件测试
当开发Web services时,另一个关键细节与安全的重要性有关。揭示Web services的本质特性需要安全考虑;因此,测试安全特性对任何Web service的确认测试都是不可缺少的。SOAPtest提供了一个加密工具,能够支持对消息的全部或者部分加密。该工具提供的加密标准包括三重DES、AES 128、AES 192和AES 256。这些数字代表密钥的位数。当使用加密测试时, 一定要安装JCE(Java密码术扩展)Unlimited Strength Jurisdiction Policy File,因为没有它测试就无法工作。
SOAPtest所提供的其他关键安全特性包括XML签字工具、XML 验证工具和对用户名和SAML标志的支持。XML签字工具提供数字签名功能。如果您的Web service需要某种数字签名,该工具能用来验证其功能性。同样,XML验证工具允许用户进行加密/解密/验证数字签名消息,方法是利用公钥/私钥存储文件。支持的密钥存储文件格式包括JKS、PKCS12、BKS和UBER。
安全声明标注语言(SAML)为交换安全信息提供了一个标准。SAML为Web services提供了一个交换认证和授权声明的方法。这赋予团队在整个组织中提供身份管理服务的机会。在出现一个失败之前,SOAPtest 支持SAML验证。
如果您的Web service测试不具备上述测试的特征,SOAPtest将通过提供自定义脚本功能来提供最高的灵活性。脚本可使用Java、JavaScript或者Jython,以及支持文件导入的工具来编写。为了完成测试,脚本代码能够完成任意所需的其他测试逻辑。
在测试Web services时,另一个关键方面是确认性能需求和识别性能的界线。在Web service测试的工具中,SOAPtest相当独特,这是因为它在负载测试领域所提供的强大功能。
要访问SOAPtest的负载测试工具包,从左侧导航面板中选择Load Test选项卡。现有的场景可以利用以前的功能测试,也可以生成新的测试场景。 该工具提供了通过约束相关机器来在整个网络中运行这些测试的能力。当您能够避免本地机器局限性的时候,这也使得负载水平显著地增加。
通过创建用户配置文件,可以将功能测试和负载测试合为一体。每个配置文件由一个或者多个功能测试组成,并且能被加入到每个负载测试或者从每个负载测试中删除。我使用的配置文件是基于前面创建的正面和负面测试场景的。
也可以延迟每个配置文件,以便更好地监视每个功能测试对负载的影响。配置文件比率可以通过使用与该场景相关的Profiles选项卡来调整。在整个计划的测试周期中,它以图形显示信息,允许对用户数量和每秒钟的点击数进行调整。很简单,在图的任何地方点击右键,创建一个点,然后把那个点移到合适的位置。每秒钟的点击数和用户的数量也可以动态地调整。
我创建的配置文件以用户数量的缓慢增加为初始,随后每分钟都有显著增加,当测试进行到一半时,再缓缓减少。我也改变了我的用户配置文件比率,随着时间的变化来减少正面测试的数量。测试的持续时间也完全由用户决定,且它可以持续数天提供数据。我选择3分钟作为精确度。运行测试,结果如图2 所示。