象交互,并最终记录测试结果,用户可以根据这些测试结果来判断测试成功还是失败。

4Test 脚本语言

和绝大多数自动化测试工具一样, SilkTest 可以自动捕捉,检测和重复用户交互的操作从而驱动测试的进行。除此以外, SilkTest 能够让软件测试人员使用新一代面向对象的编程语言 4Test 来编写灵活的测试脚本从而实现各种复杂的操作。 4Test 由三部分组成:第一部分是一个可以使 testcase 和 GUI 对象交互的强壮的面向对象的类库;第二部分是一组用来创建记录 testcase 的结构和逻辑的申明,操作符和数据类型;第三部分是一个用来支持普通任务的内建函数库。另外 4Test 还内置了 强大异常处理机制,从而保证了脚本的强壮性。即使是用户自己录制的测试脚本,也将以 4Test 代码方式存储,这大大方便了用户对测试用例进行修改和维护。

跨平台性

经过 SilkTest 开发人员的不断努力, SilkTest 现在已经能够运行在当今大多数的 Windows 操作系统上了,同时 SilkTest 还支持 Sun Solaris9/10, Red Hat Linux 企业版 2.1/3.0 等类 Unix 操作系统。在浏览器方面, SilkTest 使用了先进的 Document Object Model (DOM) 技术,该技术用来直接和 Wed 浏览器通信从而识别、分类和处理 Web 页面上的对象。该技术并非是使用可视化模式识别技术来进行这些对象的识别,而是通过处理实际的 HTML 代码来实现。 它能确保测试脚本在不同平台、不同浏览器下具有可移植性,以提高测试效率。这一特性使得现在 SilkTest 能够支持多种浏览器的不同版本。例如: Netscape Navigator 4.0/6.0 , Microsoft Internet Explorer 4.0/50/5.5/ 6.0/6.5/7.0 。除此以外,由于越来越多的 Web 应用使用了定制的组件技术,对于这些非标准的 Web 组件, SilkTest 使用自己独有的 VO(Virtual Object) 方式访问 Web 页面的各种对象,该技术作为 DOM 技术的有益补充,它以页面呈现出来的样子来看待页面而不是通过识别 HTML 标记。它以页面中的对象呈现方式(例如:链接,表格,图片)和附加在它们上的操作来看待它们,而不考虑它们背后所用的技术。该技术的应用大大提高了 Web 应用上控件的识别范围,使更多的 Web 应用能被测试成为可能。

支持分布式应用

随着网络时代的来临,越来越多的分布式应用开始涌现。 SilkTest 采用的分布式测试结构,可以同时跨越 Windows 和 Unix 前端、浏览器以及基于 Java 的网络系统环境运行同一测试。据称, SilkTest 是唯一的可以检验测试工作流、完成并发测试并保证跨平台测试准确性的工具。

具体来讲, SilkTest 的分布式测试结构由 Host 和 Agent 两部分组成。 SilkTest Host 是一个用来管理和执行测试脚本的组件,一般来说,测试人员用它来开发、编辑、编译、运行和调试测试脚本与测试计划,它通常运行在和待测软件不同的机器上。 SilkTest Agent 是从 SilkTest Host 接收测试指令,驱动和监视待测软件的组件,也就是说实际上是它与待测软件进行交互,是待测软件和 SilkTest Host 之间的桥梁,它通常和待测软件运行在同一机器上。

智能复原系统

在企业级软件测试过程中,异常状况和各种环境的问题层出不穷,如果不能很好地解决这些问题,将会大大影响测试的效率和测试结果的准确性。 SilkTest 拥有独特的复原功能较好地解决了这些问题,一旦测试过程中出现了错误和异常导致应用失效,复原系统会自动记录这些错误,并且将应用重置为初始状态,这样就不会影响接下来测试用例的执行。这一特性允许 SilkTest 测试在无人值守的情况下长期运行,极大地提高了测试系统的健壮性和测试结果的有效性。

SilkTest 价格

如果说 SilkTest 有什么缺点的话,那就是价格确实有点高。当然,你从不同的代理商那里会拿到不同的报价。一般来说, Windows 平台的 1 个 License 大概是 $10, 000, Unix/Linux 平台的稍微便宜些, 1 个 License 大概在 $6,500 左右。所以现在在国内,只有有实力的公司才能用的起 SilkTest 。

SilkTest 网络资源

相对于其他测试工具来说, SilkTest 的资源不算丰富,除了参考 SilkTest 自带的帮助文件以外,你还可以从以下站点得到关于 SilkTest 方面的信息。

SilkTest中文站 SilkTest 中文资料比较多的一个博客。

QAForums   该论坛有 SilkTest 讨论版,如果学习和使用 SilkTest 过程中遇到问题,可以在这里发帖寻求帮助。

Borland SilkTest SilkTest 的官方网站。

SilkTest KnowledgeBase SilkTest 的问题库,遇到问题的话先搜搜这里吧。