0

我对功能测试的理解是,它是一种检查整个应用程序功能的集成测试。减去任何存根、模拟或其他测试替身。对于 Web 应用程序,这可能是手动检查当用户尝试在登录表单上输入错误凭据时会发生什么。

我对冒烟测试的理解是,它是一系列快速的功能测试,可用于确定应用程序是否已正确启动以及其主要子系统是否全部在线。对于 Web 应用程序,这可能是访问健康检查 URL 并确保应用程序已启动,并且可以访问其所有相关子系统(其数据库、其消息代理等)。

我对回归测试的理解是,它是一种功能测试,将来用于确定特定功能是否不再按预期工作。由于功能测试是为新特性编写的或为修改现有特性而重写的,它们被添加到回归测试套件中。从这个意义上说,回归测试套件是特定 Web 应用程序的所有有效功能测试的组合。

在我继续之前,如果到目前为止我所说的任何内容都是误导或不正确的,请先纠正我!

假设我或多或少走上了正轨:

  1. Selenium WebDriver 或 BrowserStack 等工具在哪里分类?它们是用于烟雾测试还是回归测试?
  2. 进行此类测试的普遍接受的方法/工具是什么?
  3. 从自动构建(例如 Jenkins 或 Bamboo)启动/运行这些测试的普遍接受的方法是什么?
4

1 回答 1

1

一般来说,考虑到web-app的自动化,我们有以下几个阶段

  • Automate the Sanity/Smoke Tests

为此,我们需要确保可以使用测试自动化工具实现健全性测试的自动化标准。没有硬性规定,使用单一工具来实现 Web 应用程序的所有域的健全自动化。一旦理智稳定下来,我们就继续下一步。

  • Automate the Release / Regression Suite

发布套件或回归套件的自动化,必须在方式上具有成本效益,并且测试自动化框架设计在这里起着重要作用,因为测试需要长期维护

对于您的问题,我的回答如下

  1. 这取决于项目策略。

  2. 我的建议是在某种程度上选择自动化健全性测试,以便可以快速完成自动化。如果我们在这里开始完全成熟的测试自动化框架开发,我们可能会花更多时间来进行健全自动化

    对于发布自动化,仔细规划框架架构,考虑框架的所有可能性和要求

  3. 我们可以将自动化测试与任何 CI 服务器(如 Jenkins、Bamboo 或 Cruise)集成,这完全取决于自动化策略

考虑到我的经验,如果我是你,我会这样做

  • 首先,确定该域自动化可接受的工具
  • 使用基本框架自动化 Sanity,它可以运行测试并将包含报告的电子邮件发送给利益相关者
  • 建立一个 CI 服务器,并创建一个作业,使其每天运行,所有利益相关者都收到结果
  • 启动发布套件的自动化方法,其中包括测试自动化框架开发
于 2014-05-21T02:42:10.810 回答