前言
为了方便的扩展各自平台环境的功能,更好的为终端用户服务,不少服务提供商都向开发者提供了插件开发的功能。在插件中,开发者除了调用服务商对外封装的平台(Platform)API外,还可以调用系统API。系统API的调用,如文件、注册表的写操作,可能对终端用户的操作系统产生影响。为了控制插件中系统API调用的影响,服务商要求插件以独立进程的方式在沙箱中运行。沙箱是一套隔离环境,通过在操作系统底层进行某些系统API Hook操作后,根据API策略权限管理机制,决定这些API是否继续向下调用。平台环境、插件、沙箱与操作系统的关系如下图:
由于涉及多个进程,需要通过进程间通信来完成一些信息交换。
插件及沙箱的测试策略
插件及沙箱的使用对象包括开发者和终端用户。测试过程中也需要从两个角度出发,针对不同的测试项目采用不同的测试方法实现。整体的测试策略如下:
……………………
查看全文请点击下载:http://www.51testing.com/html/13/n-806213.html
API的接口测试方法
无论是平台(Platform)API,还是系统API,都可以采用接口测试的方式进行。由于实际的调用参数,是由第三方代码决定的,可能由于其对API不熟悉或者代码错误等因素传入不符合要求的参数,因此平台API应有良好的参数校验机制,能处理各种参数,具有良好的健壮性。在接口测试中,应对所有的输入参数进行等价类划分,配合上边界值分析,将接口的实际返回结果与预期结果(Expect Result)进行比较。
平台API是内部API的对外封装,当内部接口存在错误时,API也会返回错误。因此有条件的接口测试,还可以从平台环境内部调用内部API,将内部API结果与平台API结果比较,可以帮助定位接口问题原因。
系统API的结果由操作系统返回,可能受到操作系统权限策略(如UAC)、其他进程、调用参数的影响。下面以沙箱控制文件读写权限为例进行说明如何验证沙箱的读写权限。
沙箱限制文件的读写,通过Hook打开文件API调用,根据权限策略机制改变该函数中文件句柄的申请权限。权限申请能否成功,取决于如下几个因素:
1、插件中函数申请的权限
2、沙箱中,对权限的修改
3、操作系统的文件访问权限
4、文件是否存在、是否被打开,是否开放读写权限
对于所有因素,可以采用决策表的方式,对预期的结果进行分析。其中,沙箱对权限的修改结果是测试的主要目的。在测试数据准备阶段,需要一个工具在沙箱外[沙箱策略可能会影响数据准备过程]完成因素4中涉及的数据准备。
……
查看全文请点击下载:http://www.51testing.com/html/13/n-806213.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。