工具:
简单地说,工具就是软件。在测试自动化的情况下,工具是让您在应用程序上自动化测试的软件。您可以根据自己的要求选择许多测试自动化工具。一些例子是Selenium、UFT、Visual Studio CUIT、Jamo Solutions Meux Test、T-Plan Robot、Telerik Test Studio等。
通常,您必须使用受支持的编程语言在工具中编写测试。例如,使用UFT 的测试人员需要使用VB 编写代码,而使用Visual Studio 的测试人员可以使用VB 和C# 编写代码。但是,一些测试工具(如Telerik Test Studio)允许您编写无脚本测试,其中您的测试将包含一堆易于理解的关键字,而不是代码。
框架:
Selenium 和Visual Studio 等最流行的测试自动化工具提供了构建自己的测试所需的所有基本功能。但是,它们不提供用于测试的现成功能(如报告和异常处理)。这需要创建一个“框架”,它只不过是使用自己选择的工具编写的代码集合,使测试应用程序变得容易。简而言之,框架就是您使用工具(或工具集合)创建来测试您的应用程序。
一个典型的框架由两部分组成:测试脚本和函数库。测试脚本是需要执行以对被测应用程序 (AUT) 执行操作的代码片段。函数库是由测试脚本调用的重要函数组成的类。这些可以包括计时功能、报告/记录功能、异常处理功能、数据通信功能等。
您还可以在运行时使用外部数据库将测试数据传递给测试脚本,而不是在测试脚本中硬编码。使用外部数据库的框架称为data-driven frameworks。您可以选择外部数据库,无论是 SQL Server、XML 文件还是简单的 Excel 电子表格。数据驱动框架利用 API 或包含自定义类,让您可以与数据库通信以传输数据。
另一种类型的框架是keyword-driven framework。这些框架用于需要编写数千个测试用例的脚本的长期测试自动化项目。这些框架的主要目标是通过重用已经编写的代码来减少编写测试用例脚本所需的时间。它们通常包含非常强大的函数库,可以仅使用预定义的关键字来编写测试用例的脚本。例如,登录和注销等应用程序上的常见操作由单行代码执行,例如:
Actions.Login();
和
Actions.Logout();
其中Actions 是一个函数库,由Login() 和Logout() 函数组成。这大大减少了脚本大小和测试脚本的长期维护需求,还有其他好处。
当然,您可以构建一个测试自动化框架并将其用于您自己的应用程序,也可以创建一个通用的测试自动化框架并将其提供给测试社区供所有人使用,这就是 STAF。
测试工具的选择:
要解决您的第二个问题,没有直接的答案。有许多标准会影响您的决定。但归根结底,这完全取决于您的要求和 AUT 的要求。
- 如果是 Windows 桌面应用程序,则必须在
Visual Studio。
- 如果是Web应用,可以使用
Selenium、UFT、Visual Studio或Test Studio。
- 如果是移动应用,可以使用
Appium、Jamo Solutions Meux Test或T-Plan Robot。
- 如果您想在大量设备上测试您的移动应用
和平台,您可以使用基于云的工具,例如
Sauce Labs,
Perfecto Mobile 或 Device Anywhere。
- 如果预算不足,最好使用开源工具
商业工具等。
应用测试现在是一个庞大的行业,市场上不乏可用的测试工具。如果您知道自己想要什么并在 Google 上进行一些研究,就会找到最适合自己的工具。