尽量减少依赖-移动App测试的22条军规(8)

发表于:2015-7-30 10:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:黄勇    来源:51Testing软件测试网原创

  (51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。)
  18.2  没有Web版本的App也需要考虑App的依赖
  App基本都是用来展示数据的,真实的操作都是由后台的服务器和数据库来实现的,而前台的App和后台的服务器是通过service的形式交换数据的(如图18.4所示)。
  在这样的系统架构中,App是没办法避免对后台服务器的依赖的,这个时候,需要对service进行API和集成测试,以确保这些service的可用性和准确性。尤其当App的开发团队和后台service的开发团队不是同一个时,测试人员更需要对service测试隔离后台服务器的变化对App产生的影响。这极大地简化了测试App的复杂度,从而确保了测试的进度。
  具体来说,我们可以使用soapUI和Apache JMeter来测试SOAP service;使用POSTMAN和soapUI来测试RESTful service。
  下面笔者就以SoapUI Pro为例,演示一下如何来测试SOAP service。
  (1)在安装好SoapUI Pro之后,需要根据测试service的类型,选择创建对应的项目Project(如图18.5所示)。
  
  (2)在项目Project信息中添加被测SOAP service的WSDL,如http://wsf.cdyne.com/ WeatherWS/Weather.asmx?WSDL(如图18.6所示)。
  
图18.6  创建SOAP项目Project时需要添加Initial WSDL
  SoapUI会根据Initial WSDL所包含service的描述,创建出这些service的请求request(如图18.7所示)。
  
图18.7  创建出的项目中包含了针对SOAP和SOAP 1.2版本的各种service的请求request
  (3)以GetCityWeatherByZIP为例,笔者来介绍如何对SOAP service进行测试(如图18.8所示)。
 
 图18.8  GetCityWeatherByZIP的XML描述
  首先,打开请求request的Form标签以方便修改发送请求中的参数,从而获得期望的应答response(如图18.9所示)。
  
图18.9  设置ZIP为10001,执行请求request,可以查看service的应答response
  接着,当验证service的请求request和应答response都没有问题之后,就可以创建针对这个service的测试用例TestCase了。
  " 在请求request上选择"Add to TestCase"添加到测试用例(如图18.10所示)。
  
图18.10  把service的请求request添加到测试用例TestCase
  " 设置TestSuite的名称(如图18.11所示)。
  " 设置TestCase的名称(如图18.12所示)。
 
  " 添加service的请求request到TestCase中(如图18.13所示)。
  
图18.13  添加GetCityWeatherByZIP到TestCase中
  " 在项目Project结构中就可以看到添加的测试用例TestCase了(如图18.14所示)。
  
图18.14  添加了测试用例TestCase之后的项目Project结构
  接下来就可以通过设置断言Assertion来验证service的应答response是否符合预期了。
  " 打开测试用例TestCase下测试步骤Test Step中的请求request(如图18.15所示)。
  " 运行GetCityWeatherByZIP的请求request并查看应答response(如图18.16所示)。
  " 在应答response上选择需要验证的信息,并添加断言Assertion(如图18.17所示)。
  
图18.15  打开测试用例TestCase中GetCityWeatherByZIP的请求request
  
图18.16  GetCityWeatherByZIP的请求request运行成功并获得正确应答response会
  在测试步骤Test Step中以绿色表示运行结果的状态
  
图18.17  在应答response中添加对于State的断言Assertion
  " 在断言Assertion中可以设置需要验证的应答response返回值(如图18.18所示)。
  " 保存后在断言Assertion标签页Tab中就能看到设置的断言Assertion了(如图18.19所示)。
  
图18.18  在State的断言Assertion中设置返回值为NY
  " 通过在测试用例TestCase中运行测试,验证service中所有请求request的应答response是否符合在断言Asertion中的预期(如图18.20所示)。
本文选自《移动App测试的22条军规》第十八章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号