【问题标题】:Automating smoke, functional and regression tests for Java web apps?自动化 Java Web 应用程序的冒烟、功能和回归测试?
【发布时间】:2014-05-21 02:13:30
【问题描述】:

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

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

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

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

假设我或多或少地步入正轨:

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

【问题讨论】:

    标签: java automated-tests functional-testing regression-testing smoke-testing


    【解决方案1】:

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

    • Automate the Sanity/Smoke Tests

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

    • Automate the Release / Regression Suite

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

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

    1. 这取决于项目策略。

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      相关资源
      最近更新 更多