PC客户端产品自动化测试工具和框架集使用总结

Posted 企鹅狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PC客户端产品自动化测试工具和框架集使用总结相关的知识,希望对你有一定的参考价值。

概述

软件测试工具就是通过一些工具能够使软件的一些简单问题直观的显示在读者的面前,这样能使测试人员更好的找出软件错误的所在。软件测试工具也分为自动化软件测试工具和测试管理工具。 软件测试工具存在的价值是为了提高测试效率,用软件来代替一些人工输入。 测试管理工具是为了复用测试用例,提高软件测试的价值。 目前国际上主要分为三类的软件测试工具包含: Mercury测试工具 、Rational测试工具、Segue测试工具 、qtp自动化测试工具 和AutoRunner工具,占有市场90%以上。

如果按照结构的可扩展性分类,也可以分为工具类和框架类,工具类在这里特指针对某些测试任务所使用的程序和脚本集合,例如在注册表测试中用到的专用测试工具,框架类指可以满足某些测试模式设计的可扩展的程序和脚本集合,例如QuickTest测试模式下用到的Robot

使用情况介绍

常用的软件测试工具:

开源测试管理工具:BugfreeBugzillaTestLinkmantis zentaopms

开源功能自动化测试工具:WatirSeleniumMaxQWebInject

开源性能自动化测试工具:JmeterOpenSTADBMonsterTPTESTWeb Application Load Simulator

禅道测试管理工具:功能比较全面的测试管理工具,功能涵盖软件研发的全部生命周期,为软件测试和产品研发提供一体化的解决方案。是一款优秀的国产开源测试管理工具。

[Quality Center]:基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。

[QuickTest Professional]:用于创建功能和回归测试。

[LoadRunner]:预测系统行为和性能的负载测试工具。

其他测试工具与框架:

Rational Functional TesterBorland Silk系列工具、WinRunnerRobot等。

国内介绍软件测试工具比较好的网站为:51Testing软件测试论坛。

国内免费软件测试工具有:AutoRunnerTestCenter

 

 

1、界面类(鼠标键盘类)

UI自动化中,Proxy技术比较高级,将自己编写的dll文件载入到程序中辅助测试,其缺点是对测试人员的编码能力要求比较高,能够改动RD的工程代码,在安全产品当中,留后门的手法原则上是不被允许的,在目前的安全产品测试当中,使用自动点击界面、想办法对比结果的方式来做安全产品的自动化测试,以下是在实际测试工作使用过的测试工具。

1Sikuli

Sikuli是我最早尝试使用的界面自动化点击工具。感觉它最大的好处是能够使用截图来进行判断和操作,无论是点击还是返回状态判断都能够使用图片;而且sikuli能够使用python的语法进行脚本编写;同时sikuli提供了很多与界面相关的库函数,例如click()wait()onAppear()等,可以使得基于界面的操作很方便、容易同步一连串的界面操作。

但是第一次出问题是在图片识别问题上;随后发现把图片嵌入在脚本中,不便于管理和维护;再者当时产品界面不稳定,经常换图,导致我需要经常去重新切图,非常的麻烦……但是这些问题都是可解决的,图片识别的问题可以通过设置匹配精度解决;图片嵌入脚本中的问题也能通过配置文件将图片抽离,进行映射;界面更新后需要重新切图则没有什么办法。

Sikuli运行环境需要安装sikulijava

2Autorunner

使用了一段时间的Autorunner,发现这个工具的一个很强大的功能是界面操作录制,可以将一连串的操作进行录制,然后播放的时候自动执行这一连串操作。但是问题在于,这种录制播放完全基于上次操作的坐标和时间间隔,所以一旦播放时的界面条件和录制时的界面条件不一致,播放操作并把不能得到想要的效果;如扫描等待,有可能播放时扫描等待时间变长;另外在点击操作中间,可能还需要部署垃圾文件、检查扫描和清理结果等,需要在录制得到的脚本中插入自己的脚本,autorunner对插入的脚本语言可能有限制(没有深入研究)。

Autorunner是一个收费软件,在winXP上装了个试用版,用了几次;但是在win7上就没有安装成功过,比较头疼,也没有进一步使用和研究了。

 

3、按键精灵

按键精灵是一个模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作,按键精灵都可以替代完成。

 

 

 

目前使用的界面自动化方法:

Python-win

环境:安装python2.7win-python2.7即可,非常的简单

安全产品界面自动化关心的问题及解决:

1. 界面点击:

对于指定按钮的点击,采用相对坐标,点击界面上特定的位置实现特定按钮的点击;在xml配置文件中指定按钮名称和位置,如下配置指定了名称为“Home”和“Quick-Care”的两个按钮的坐标位置(相对于界面左上角的位置坐标),代码中实现点击采用名称,Click(Home),执行则是点击对应坐标;这样在界面频繁换图的情况下,配置文件无需改动;只有界面整体调整、按钮位置也进行调整时才需要更新xml配置文件,维护相对简单。

<?xml version="1.0" encoding="utf-8"?>

<pos>

<button>

<title>Home</title>

<xpos>45</xpos>

<ypos>65</ypos>

</button>

    <button>

<title>Quick-Care</title>

<xpos>290</xpos>

<ypos>365</ypos>

</button>

</pos>

2. 界面遮挡问题:

出现意外情况使得主界面被遮挡时,所有的脚本点击操作都会出问题;使用pythonwin直接在点击操作前将窗口属性设置为始终之前,并调整窗口位置,就能避免因为电脑桌面上出现意外弹框导致脚本运行失败的情况。

3. 点击操作同步:

点击某个按钮之后,可能需要等待操作完毕再继续点击下一个按钮;解决方法是使用界面某个点的颜色代表某个操作的返回状态,写在xml配置文件中,如下表示坐标位置为(510,200)的点的颜色为0x19aa5a0x22c06f时,表示Home体检界面操作的返回状态,体检扫描和fix完成后的界面状态是这样的(当然,判断该状态时,之前的操作必须是Home上的操作才行);之所以会有两个颜色,是因为鼠标悬浮和不悬浮时该点的颜色不一样。这样只有在界面出现调整的情况下,才需要更新xml配置文件。

<?xml version="1.0" encoding="utf-8"?>

<!--  Return status (the color of pix) of specified operations.  -->

<Root>

    <HomeReturn1>

        <x>510</x>

        <y>200</y>

        <color>0x19aa5a</color>

    </HomeReturn1>

    <HomeReturn2>

        <x>510</x>

        <y>200</y>

        <color>0x22c06f</color>

    </HomeReturn2>

</Root>

点击同步的使用方法是:

Click(Home)

Click(Quick-Care)

Waitfor([HomeReturn1, HomeReturn2])

……(其他操作)

4. 启动、停止PCFaster主程序

在目前还没有主防的情况下,在python-win下面可以非常方便的使用脚本命令去停止、启动PCFaster;有主防之后也可以通过python去调用停主防的工具。

5. 点击操作间隙中,分析log检查扫描结果、脚本部署文件、脚本检查操作结果(清理文件、优化服务项等)

能够全部使用python脚本实现,在点击操作脚本中间直接穿插。

6. 感觉Python-win最大的优势在于库函数更加的丰富,可扩展性强,对未来很多还不明确的预期需求,解决的可能性比较大,同时编码难度要相对较小。

 

2、测试框架类

这里以Robot FrameWork介绍,同时这个框架也是我们目前在使用的。

1为什么选择Robot

· 用简单的方式在表格里创建case,格式风格统一

· 可以复用现有的keyword创建更高级的keyword

· html的形式提供了方便阅读的log和report

· 平台无关性

· 提供了简单的lib库,可以自己扩展需要的python或者java库

· 提供了命令行接口和xml的输入报告,方便和其他工具集成

· 提供Selenium可以作为web测试, Java GUI 测试,运行进程            Telnet, SSH.等

· 支持创建data-driven test cases.

· 提供了给case打标签的机制,可以选择执行case的种类

· 方便和版本控制工具集成,test suites是一些目录和文件,很方便用工具版本化

· 提供了测试用例级别,和测试集级别的setup和teardown

2、类似相关软件

ATF:基于keyword的开源框架。使用perl语言。

QTP&QC: 商用软件,重量级框架。Vbscript开发。

 

3、介绍

Robot Framework是一个通用的关键字驱动自动化测试框架。测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储。通过测试库中实现的关键字驱动被测软件。Robot Framework灵活且易于扩展。它非常适合测试有不同接口的复杂软件:用户接口、命令行 操作的,Web服务,专有的编程接口等。

安装Robot Framework之前先要安装Python。如果使用Java编写的测试库,Jython中必须安装。

对于测试工作来说,Robot的优势在于其可视化的关键词和类库管理、直观的测试结果报表和容易操作的Case扩展。

 

3、强大的windows系统测试小工具集合 Sysinternals

Sysinternals Suite包含一系列免费的系统工具,其中有大名鼎鼎的Process ExplorerFileMonRegMon等,如果把系统管理员比喻成战士的话,那么Sysinternals Suite就是我们手中的良兵利器。熟悉和掌握这些工具,并且对Windows的体系有一定的了解,将大幅度的提高日常的诊断和排错能力。之所以把这些工具列到自动化测试工具系列,是因为大部分小工具支持命令操作和导出日志,便于在实际当中运用。

AccessChk 

Windows管理员往往需要知道什么样的访问特定的用户或团体的资源,包括文件,目录,注册表项 和Windows服务。 AccessChk将回答这些问题的一个直观的界面和输出。

AccessEnum 

AccessEnum可以让你在数秒的时间内了解目录、文件以及注册表的权限设置情况,快速找到安全漏洞并锁定需要保护的权限。对于虚拟主机管理者来讲帮助会更大。

CacheSet  

CacheSet 允许您处理系统文件缓存中的工作集参数。CacheSet 可以在所有版本的 NT 上运行,而且在不对新 Service Pack 版本进行修改的情况下也可运行。除了使您能够控制工作集大小的最小值和最大值,它还允许您重置缓存的工作集,强制它在必要时从一个最小的起点开始增长。CacheSet 的更改会对缓存的大小立即产生影响。注意:要在 NT 4.0 Service Pack 4 上使用 CacheSet,您必须拥有“增加配额”的权限(管理员账户默认拥有此权限)。CacheSet 已经获得更新可启用此权限,因此它可以在 SP4 上运行。

Contig  

一个基于命令行的小程序,能够快速有效的整理硬盘上的文件碎片,可以使文件变的连续,提高访问速度。Power Defragmenter是一个高手编写的Contig的GUI版本,带有一个图形界面,用起来更方便,更直观。可以大大提高碎片整理速度。使用前需要把Contig与Power Defragmenter放在同一文件夹下。

DiskExt 

DiskExt 展示了对 IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS 命令的使用,该命令返回有关某卷的分区位于哪个磁盘(多分区磁盘可以驻留在多个磁盘上),以及分区位于磁盘上的什么位置等信息。

DiskMon  

Diskmon是一硬盘数据存取实时监控软件,能够将 Windows NT/2000/XP 操作系统的硬盘数据存取时间滴水不漏地纪录下来,您还可以将纪录文件储存成 LOG 文字文件。

DiskView  

DiskView 该软件集成于微软的Windows操作系统的资源管理器以显示一个直观的磁盘空间使用情况。该软件的Visualizer面板在一个图形图表中提供关于当前文件夹的详细使用情况信息。文件和文件夹空间占用情况以及在Windows 操作系统的资源管理器中的Details view 的Relative Size能够使用DiskView's Size On Disk进行观看。

FileMon  

Filemon 是一款出色的文件系统监视软件,它可以监视应用程序进行的文件读写操作。它将所有与文件一切相关操作(如读取、修改、出错信息等)全部记录下来以供用户参考,并允许用户对记录的信息进行保存、过滤、查找等处理,这就为用户对系统的维护提供了极大的便利。

NTFSInfo   

怎样得到你自己个人的NTFS volumes呢?比如扇区的数量,簇的大小,以及其它有趣的NTFS 的信息?在一些细节方面,NTFSInfo会为你提供如下信息:

主文件基于簇的位置

主文件镜像的启动簇

主文件的大小

卷的大小

簇和分区的总数量

可用的自由空间

分区和簇的字节数

PageDefrag  

标准的碎片整理程序既无法向您显示分页文件和注册表配置单元的碎片化情况,也无法对它们进行碎片整理。分页和注册表文件碎片化可能是系统因文件碎片化而导致性能下降的首要原因之一。PageDefrag 使用先进的技术向您提供商业碎片整理程序无法提供的服务:即查看分页文件和注册表配置单元的碎片化情况,并且对它们进行碎片整理的能力。此外,它还对事件日志和 Windows 2000/XP 休眠文件(当休眠笔记本电脑时保存系统内存的地方)进行碎片整理。

Process Monitor 

进程监视器,这是一个高级的Windows监视工具,不但可以监视进程/线程,还可以关注到文件系统,注册表的变化.它包含2个Sysinternals遗留组件:Filemon 和 Regmon,并添加了大量功能。

PsFile  

PsFile是一个显示机器上的会话和有什么文件被网络中的用户打开的命令。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

PsTools  

PsTools是Sysinternals公司推出的一个功能强大的远程管理工具包,一共由12个命令组成,可以用来远程管理Windows NT/2000/XP系统。可以远程整理硬盘、关闭远程计算机上运行的信使服务、查看服务器硬盘空间、查看远程计算机上的进程,并结束可疑进程、发送消息并快速关闭远程计算机等。

SDelete  

当操作系统处于非活动状态时,可以使用原始磁盘编辑程序和恢复工具查看和恢复操作系统已取消分配的数据。即使使用 Win2K 的加密文件系统(EFS) 加密文件,文件的原始未加密文件数据在创建该文件的新的加密版本后仍然保留在磁盘上。要确保使用 EFS 加密的文件以及已删除的文件无法恢复,唯一的方法是使用安全删除应用程序。安全删除应用程序使用能够使磁盘数据无法恢复的技术,甚至使用可以读取磁性媒体中揭示弱删除文件的模式的恢复技术来覆盖已删除文件的磁盘数据。SDelete(安全删除)就是这样一个应用程序。您既可以使用 SDelete 安全地删除现有文件,也可以安全地擦除存在于磁盘的未分配部分中的任意文件数据(包括您已经删除或加密的文件)。SDelete 实施了美国国防部资料摧毁标准 (Clearing and Sanitizing Standard) DOD 5220.22-M,以使您确信在使用 SDelete 删除文件数据后,这些数据将彻底消失。

ShareEnum  

Windows NT/2000/XP 网络安全中经常被忽略的方面是文件共享。当用户以宽松的安全标准定义文件共享时,通常会出现安全缺陷,从而使得未经授权的用户可以查看敏感文件。没有任何一款内置工具可以列出网络中可见的共享及其安全设置,但 ShareEnum 填补了这一空白,使您可以锁定网络上的文件共享。运行 ShareEnum 时,它将使用 NetBios 枚举功能来扫描可以访问的域中的所有计算机,从而显示文件和打印共享及其安全设置。由于只有域管理员具有查看所有网络资源的权限,所以在您以域管理员帐户运行 ShareEnum 时,它才最有效。

Sigcheck  

验证映像进行了数字签名并使用这一简单的命令行实用工具转储版本信息。

Streams  

NTFS 文件系统为应用程序提供创建信息备用数据流的能力。默认情况下,所有数据都存储在文件的主要未命名数据流中,但通过使用“file:stream”语法,您就能读取和写入备用数据流。不是所有应用程序都编写为能够访问备用数据流,但您可以非常简单地演示数据流。首先,在命令提示符中,更改到 NTFS 驱动器上的一个目录。然后,键入“echo hello > test:stream”。您刚刚创建了一个与文件“'test”相关联的数据流,名为“stream”。请注意,在查看 test 的大小时,它报告为 0,并且在用任何文本编辑器打开时,文件看上去是空的。要查看您的数据流,请输入“more < test:stream”(type 命令不接受数据流语法,因此您需要用 more)。Streams 将检查您指定的文件和目录(注意目录也可以有备用数据流),通知您在那些文件中遇到的任何命名数据流的名称和大小。

用法:streams [-s] [-d] <文件或目录>

-s对子目录执行递归操作。

-d删除流。

Streams 接受通配符,如“streams *.txt”

Autologon  

可以实现自动登录系统,无需手动输入帐户、域名和密码。其实就是在系统注册表中添加帐户信息和登录信息的键值。不过由软件来实现更加简单了,如同简单的脚本。

LogonSessions  

如果您认为在登录系统时只有一个活动的登录会话,那么这个实用程序会让您大吃一惊。会列出当前活动的登录会话,而如果您指定了 -p 选项,它还会列出正在每个会话中运行的进程。LogonSessions 可以在 Windows 2000 和更高版本上运行。

NewSID 

NewSID ,顾名思义,就是可以利用它来为计算机重新生成新的SID号。为什么要重新定义新SID?如果用Ghost的镜像批量的来安装系统,那么它们的SID号必然相同。若内部网络上计算机SID相同就会造成许多冲突,加入域也会有很大问题,甚至造成客户机无法加入到域。Windows 安装光盘不是已经提供了Sysprep吗?什么还要用NewSID呢?

1、 凡用过Sysprep的朋友都应该知道,如果用Sysprep来重新封装系统,在重启之后会要求我们重新输入产品序列号和重新添加用户,对于企业来说很多时候是不希望员工得到产品ID的,让非IT职员来完成系统任务也很有可能造成一些不必要的麻烦。

2、 正是基于我们这些迫切需求,NewSID可谓是一个完美的解决方案。它提供三种方式来让我们重新生成SID:a.随机产生 b.从其它计算机复制 c.手工输入 ,以上这三种方式可以满足大多数用户的需求。我们还可以选择是否重新给计算机更名,最后也可以手工指定在SID重定义完成后是否重启计算机。

3、 计算机重启之后不会让我们再次输入产品序列号,也不会让我们重新添加用户,这为我们减少了很多不必要的麻烦。

PsExec 

PsExec 是一个轻型的 telnet 替代工具,它使您无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性。PsExec 最强大的功能之一是在远程系统和远程支持工具(如 IpConfig)中启动交互式命令提示窗口,以便显示无法通过其他方式显示的有关远程系统的信息。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

PsLogList 

PsLogList是一个查看系统事件记录的程序。它也是 Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

RootkitRevealer 

RootkitRevealer 是一种高级 Rootkit 检测实用工具。它可以在 Windows NT 4 和更高版本上运行,而且其输出会列出注册表和文件系统 API 的差异,从而可以指出是否存在用户模式或内核模式 Rootkit。RootkitRevealer 可以成功检测出在 www rootkitcom 上发布的所有永久性 Rootkit,包括 AFX、Vanquish 和 HackerDefender(注意:RootkitRevealer 不会有意检测那些不试图隐藏其文件或注册表项的 Rootkit,如 Fu)。

AD Explorer 

Active Directory Explorer (AD Explorer) ,是先进的Active Directory ( AD )的查看器和编辑器。 使用AD Explorer,用户可以快捷地浏览AD数据库,自定义快速入口,无需打开对话框即可查看对象属性、编辑权限、浏览一个对象的模式、 进行精确搜寻等。

AdRestore 

Server 2003 引入了还原已删除(“已逻辑删除的”)对象的功能。这一简单的命令行工具可以列出域内的已删除对象,并允许您选择还原这些对象。

TCPView  

一个很好的检测端口的软件,很小很好用。

Autoruns  

强大、完整的启动项扫描工具!

ClockRes  

用于显示系统时钟分辨率以及应用程序可以获得的最大计时器分辨率。

LoadOrder  

这个小程序可以向您展示 Windows NT 或 Windows 2000 系统加载设备驱动程序的顺序。请注意,Windows 2000 即插即用驱动程序的实际加载顺序可能与计算的顺序有所不同,因为即插即用驱动程序是在设备检测和枚举期间根据需要加载的。

ProcFeatures  

PsLoggedOn  

这一小程序可以显示本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

RegMon  

Regmon 是一款出色的注册表数据监视软件,它将与注册表数据相关的一切操作(如读取、修改、出错信息等)全部记录下来供用户参考,并允许用户对记录的信息进行保存、过滤、查找等处理,这就为用户对系统的维护提供了极大的便利。

PortMon  

Portmon 是用于监视和显示系统中所有串行端口和并行端口活动的实用工具。它具有高级筛选和搜索功能,使其处理以下操作的功能强大的工具:探索 Windows 工作的方式、查看应用程序如何使用端口,或跟踪系统中或应用程序文件配置中的问题。

Process Explorer

很不错的进程管理工具,可以设置为完全取代系统自带任务管理器taskmgr,成为系统默认的“任务管理器”。里头的各种监视器非常直观地监视或者记录着系统当前的状态,而且易用性非常高。支持XP及以上系统,支持Win2003及以上系统。

PsGetSid  

PsGetSid是一个远程获取账号sid信息的工具。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

PsKill  

Windows NT/2000 没有附带命令行终止实用工具。您可以从 Windows NT 或 Win2K 资源工具包中找到终止实用工具,但资源工具包中的实用工具只能终止本地计算机上的程序。PsKill 是一个终止实用工具,它不仅具有资源工具包所具有的功能,而且可以终止远程系统上的进程。您甚至不必在目标计算机上安装客户端,就可以使用 PsKill 终止远程进程。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

PsList  

该程序用于列出本地或远程NT主机进程相关信息的工具,适于配合PsKill使用。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

PsService  

PsService 是一个用于 Windows 的服务查看器和控制器。与 Windows NT 和 Windows 2000 资源工具包附带的 SC 实用工具类似,PsService 可显示服务的状态、配置和相关性,并允许您启动、停止、暂停、恢复和重新启动这些服务。但与 SC 实用工具不同,对于您所运行的帐户在远程系统中没有必需的权限时,PsService 使您可以使用不同的帐户登录远程系统。PsService 包含一个独特的服务搜索功能,该功能可标识您的网络中某一服务的活动实例。例如,如果要定位运行 DHCP 服务器的系统,您可以使用此搜索功能。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

PsSuspend  

PsSuspend 使您可以挂起本地或远程系统中的进程,如果您希望让其他进程使用某个进程正在占用的资源(例如,网络、CP或磁盘)时,它非常有用。挂起功能允许您让占用资源的进程在以后的某个时间点继续操作,而不必终止该进程。它是Sysinternals 命令行工具不断完善的 PsTools 工具包的一部分。

BgInfo  

BlueScreen  

Bluescreen是一个屏保,安装之后,它的画面会随着操作系统的不同而有所差异: 

NT4.0里,Bluescreen 会模拟执行 chkdsk 的画面-而且会有硬盘错误的讯息出现!

Win2K、9x 之下,它会出现 Win2K 的错误讯息,还有重新开机的画面!

Desktops  

Desktops 可以让你的windows同时扩展出4个虚拟桌面。你可以在一个上面阅读邮件,在第二个上面浏览网页,在第三个上面上网...你可以通过点击托盘的图标来切换它们,当然也支持快捷键。

RegDelNull  

这个命令行程序可以搜寻并删除包括内嵌 Null 字符的注册表项目。这种注册表项目使用标准的注册表编辑工具则无法被删除。

ZoomIt  

ZoomIt有屏幕放大、在屏幕上进行注释、计时提醒三大功能。

 

4、测试环境恢复类(不包含虚拟机)

对于安全产品的测试,往往是站在用户对操作系统的使用的角度的,特别是对一些内核的测试容易破坏操作系统正常的环境而无法恢复过来,因此需要一些系统恢复工具,同时这些工具支持程序控制。

 

冰点还原精灵

冰点还原精灵(DeepFreeze)是由Faronics公司出品的一款系统还原软件,它可自动将系统还原到初始状态,保护系统不被更改,能够很好的抵御病毒的入侵以及人为的对系统有意或无意的破坏。还原精灵的安装不会影响硬盘分区和操作系统。轻松安装、动态保护、实时瞬间恢复,操作简单。安装了DeepFreeze的系统,无论进行了安装文件,还是删除文件、更改系统设置等操作,计算机重新启动后,一切将恢复成初始状态。

在测试工作中,使用冰点还原精灵的好处在于只要一个重启系统的命令,一切就恢复到测试环境破坏前状态,你不需要关心在测试中你破坏了操作系统那些内容而去写专门的脚本或者程序进行测试环境的还原。

 

Ghost无盘系统

无盘系统的好处在于测试环境部署可以克隆,缺点在于对网卡有一定的要求,需要千兆网卡才能保证系统开机正常,测试客户机不需要硬盘,只要足够的内存就可以运行服务器上的影子系统,同时可以配置自己的还原点,相比于一般的还原软件,更接近用户真实环境。

 

总结

在讲到客户端自动化测试的时候,我们往往总想到界面,如何从界面去攻关测试,目前大部分客户端自动化测试工具都是从界面角度最大限度模拟用户的操作,无论是工具还是测试工程师自己编写的工具和脚本集合,解决的都是进程间通讯的问题,具体说来有两种思路:一种是基于键盘和鼠标的操作模拟,发送windows键盘和鼠标的消息,来对产品的界面窗口进行控制,然而,在安全产品中,窗口消息是被主动防御系统拦截的,以往的鼠标按键类测试工具是不起作用的,于是第二种思路,开后门或者proxy的思路出现了,缺点在于测试人员需要一定的编码能力以及和UI工程同等的UI库理解能力,同时开后门也存在一定的安全隐患,一般来讲是不允许的,在安全产品里,似乎目前的测试工具和框架在UI自动化方面将要接受重大的挑战,未来我们该怎么做UI自动化还需要漫长的探索。

对于安全产品的测试,注册表、文件的操作目前没有专门的自动化工具,只有一些小工具,对于数据的驱动,还需要自己定数据协议,这一块的工具还需要开发。

安全产品针对操作系统的防护和优化的功能的测试往往需要开发对应的专测工具,如何把这些工具统一起来放到自动化流程中进行调用,这需要一个好的自动化测试框架的支持,目前我们计划采用robot,但它是不是最终的解决方案,还需要在实际中进一步检测。我想一个最终解决方案自动化测试框架一定可以把各种测试环境下的测试工具集成起来,有统一的输入输出接口,能够跟CI稳定的联动起来,在经历几个月的探索后,我们发现,我们能够运用的工具有很多,但都需要经过一定的改造,那么接下来的改造工作一定是朝着工具和框架兼容,框架和CI兼容的方向努力。


以上是关于PC客户端产品自动化测试工具和框架集使用总结的主要内容,如果未能解决你的问题,请参考以下文章

RobotFramework特性总结

测试经验丨2018 自动化测试工具排行榜

自动化测试小文一篇

超好用的手机开源自动化测试工具分享

基于图像识别框架Airtest的Windows项目自动化测试实践

Python+appium+unittest UI自动化总结