【问题标题】:How to initiate automated testing?如何启动自动化测试?
【发布时间】:2009-10-20 17:49:32
【问题描述】:

我最初是在我目前所在的公司担任软件工程师。随着时间的推移,我要么是唯一愿意或能够负责各种系统的人,因此我被“提升”为 IT 经理。现在,在我担任软件工程师期间,我会为我要构建的各种软件模块创建功能测试,因此,即使在今天,我也能够快速测试我所从事的系统的各个部分。但是,这里有一个庞大的大型代码库,几乎没有覆盖到在这里工作的其他各种开发人员。

现在,作为 IT 经理,我希望能够测试系统的所有部分是否正常工作,但是有:

A) 没有专门用于创建代码测试覆盖率的预算时间

B) “首席软件工程师”不希望开始创建测试套件来帮助我监控软件是否正常运行。

我不希望软件团队放弃他们所做的一切并花费 2 周时间创建测试套件,但如果他们开始扩展测试套件会很好 随着时间的推移,我可以确认系统的各个部分都在工作。

这么说吧,我该如何让软件团队开始构建测试套件?

其他注意事项:

A) 除了管理我们的 IT 部门(一名 unix 工程师、桌面支持人员以及相关的办公和生产设备)之外,我仍然被要求做软件项目

B) 我的 unix 管理员很难让生产系统运行完整的代码库,而且我们没有从软件团队那里得到很好的帮助。他无法运行任何类型的诊断程序来查看 Web 应用程序在新安装时出现故障的位置。该公司的副总裁一直告诉我进去并在代码中执行 print_r 以查看发生了什么。这太糟糕了!!!

【问题讨论】:

    标签: integration-testing testing-strategies


    【解决方案1】:

    首先,您需要调查测试驱动开发,以便您能够轻松地用开发人员以及您的管理层能够理解的术语来解释它。由于您似乎正在开发 Web 应用程序,并且您具有技术技能,因此我建议您冒险并选择一个开源工具来测试 Web 应用程序,安装它,然后开始为您自己开发的任何东西构建测试。

    Twill 是您需要的测试工具的一个示例。

    然后,作为经理,您需要吸引开发人员效仿您的榜样,并奖励他们这样做。并惩罚他们,当他们不使用测试框架并导致可预防的问题时。一旦你遇到这样的事件,你应该能够让你的老板参与进来,并获得一些动力。

    总体而言,请记住,目标是减少工作量以获得好的结果。偷工减料是一种减少工作量的方法,但会导致出现糟糕或非常糟糕的结果的风险。让管理层了解风险级别和潜在风险成本。

    不要仅仅为了测试而强迫人们进行测试。它必须帮助他们提高工作效率,因此请谨慎选择第一个项目。

    【讨论】:

      【解决方案2】:

      这是个好问题。如果有一个正确的答案,就会有更多的软件项目成功并交付高质量。

      我不认为,自上而下进行这样的更改是个好主意。它必须由开发人员自己驱动。所以 TDD 方向的培训会很好,但这是一个很长的投资,需要时间。

      如果您想要更快的解决方案,您应该考虑功能测试、验收测试和系统测试。通过这些测试,您几乎可以通过所有层测试整个应用程序。如果您正在开发 Web 应用程序,您应该考虑使用 Selenium 来自动化您的测试。使用它(Selenium IDE)很容易创建测试。

      但仅使用此类测试(而不是单元测试)并不能为您带来 TDD 带来的优势。

      自动化测试至关重要。

      【讨论】:

        【解决方案3】:

        您有测试或质量保证团队吗?

        我首先会开始查看他们是否有用于限定构建的测试用例。如果不是,您将不得不开发这些测试用例来测试您产品的核心功能。

        下一步是自动化测试用例。

        如果应用程序在没有任何故障排除工具或调试功能的情况下开发不佳,那么在将这些作为下一个版本的要求添加之前将会很困难。

        我的 2 美分。

        【讨论】:

        • 没有测试团队,没有QA团队......开发团队基本上负责自己的QA。他们确实认真对待 QA,但他们不会通过测试套件来自动化 QA 测试以进行验收测试。
        【解决方案4】:

        我不得不不同意 michaelkebe——这些变化需要执行层的支持,以及一些关键的开发人员,才能完全成功。

        如果没有这种支持,您将只是一些看起来像是在“浪费时间为已经有效的东西编写测试”的开发人员。

        需要有一个清晰的愿景,并且需要经常大声重复。

        我在这里不一定提倡敏捷,但它经常为企业主所用。

        如果您能以此推销他们,那么您所兴奋的事情(快速交付软件、易于维护、自动化测试等)就会落实到位。

        【讨论】:

          猜你喜欢
          • 2014-07-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-30
          • 1970-01-01
          • 2010-10-05
          • 2014-06-15
          • 1970-01-01
          相关资源
          最近更新 更多