一、问题背景

  ● 在浏览器测试中,我们曾经遇到下面几种情况:

    □ 安装完毕立即启动浏览器并通过浏览器下载数据到系统盘根目录,下载完成前重启浏览器,下载任务无法继续进行

      ◆ 这是因为安装完毕启动的浏览器进程是高完整性级别,系统盘根目录需要高完整性级别的进程才能进行写操作的;当重启浏览器后,进程以默认的中完整性级别启动,这时候无法操作具有高完整性级别的数据,因而继续下载失败。

    □ 安装完毕立即启动浏览器,点击MSN上的链接,无法在浏览器中打开页面

      ◆ 这是因为安装完毕启动的浏览器是高完整性级别,msn默认启动是中完整性级别,由于进程无法向比自己完整性级别高的进程发送消息,因而当点击msn上的链接时,并不能打开我们希望看到的页面

  ● 在桌面软件测试中,很多地方都会受到操作系统权限的影响,下面将从何时,怎样两个方面对这操作系统权限相关的测试影响因素进行说明。

  二、何时考虑权限影响

  在黑盒测试的角度,我们认为当测试对象涉及到如下三方面的功能时,需要考虑系统权限相关的影响:

  ● 能自定义目录(文件和注册表)的读写位置,例如:

    □ 浏览器下载功能可以自定义文件下载保存的路径

    □ 视频加速功能可以自定义视频缓存文件的保存路径

    □ 安装卸载

  ● 与第三方应用程序有消息发送,例如:

    □ 设置搜狗为默认浏览器,点击第三方应用程序的链接

    □ Win7上的aero peek效果

  ● 需要高权限才能执行的动作,例如:

    □ 设置默认浏览器

    □ 安装卸载

    □ 升级

  三、怎样构建权限相关测试影响因素

  当确定测试对象需要考虑系统权限相关的测试时,我们将需要考虑如下几方面系统权限相关的因素:

  ● UAC开启关闭状态

  ● 系统用户类型(administrator,自建管理员,标准用户)

  ● 操作系统类型(windows xp,vista,win7)

  ● 目标读写位置的完整性级别(高,中,低)

  ● 搜狗浏览器的完整性级别(高,中)

  ● 交互进程的完整性级别(高,中,低)

  因而形成的相关测试判定表为下面的附录1所示

  四、测试检查工具

  ● Process Explorer:用于查看进程的完整性级别

  双击Process Explorer中的进程,弹出属性对话框,选择安全标签页,在”group”区域列表中找到”Mandarory Label”斜杠后面标明了其完整性级别,例如”High Mandatory level”

  ● AccessChk:用于查看目录的完整性级别

  对于注册表:accesschk -k hklm/software

  对于磁盘文件:accesschk "administrator" c:/windows/system32