代码之家  ›  专栏  ›  技术社区  ›  Zak

如何启动自动测试?

  •  2
  • Zak  · 技术社区  · 15 年前

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

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

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

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

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

    那么,把它煮沸,如何让软件团队开始构建测试套件呢?

    其他注意事项:

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

    b)我的Unix管理员很难让生产系统运行完整的代码库,我们没有得到软件团队的良好帮助。他无法运行任何类型的诊断来查看新安装的Web应用程序在哪里出现故障。公司的副总裁一直叫我进去把代码打印出来看看发生了什么。这太糟糕了!!!!

    4 回复  |  直到 15 年前
        1
  •  1
  •   michael.kebe    15 年前

    这是个好问题。如果有一个正确的答案,那么更多的软件项目将获得成功并提供高质量。

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

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

    但是,仅使用这样的测试(而不是单元测试)并不能给您带来来自TDD的优势。

    自动化测试至关重要。

        2
  •  2
  •   Michael Dillon    15 年前

    首先,您需要调查测试驱动的开发,以便您能够用开发人员能够理解的术语以及您的管理来解释它。既然您似乎在开发Web应用程序,而且您有技术技能,我建议您大胆尝试,选择一个用于测试Web应用程序的开放源代码工具,安装它,并开始为您自己开发的任何东西构建测试。

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

    然后,作为管理者,您需要诱使开发人员遵循您的示例,并奖励他们这样做。当他们不使用测试框架并且导致可预防的问题时,惩罚他们。一旦你遇到这样的事件,你就应该能够让你的老板上船,并获得一些动力。

    总的来说,记住目标是减少工作以获得良好的结果。偷工减料是一种减少工作量的方法,但会导致坏结果的风险,或者显著的坏结果。使管理层了解风险水平和潜在风险成本。

    不要为了测试而强迫人们做测试。它必须帮助他们提高生产效率,所以要仔细选择第一个项目。

        3
  •  1
  •   akhilah    15 年前

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

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

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

    如果没有任何故障排除工具或调试功能,应用程序开发得很差,那么在将它们作为下一个版本的需求添加之前,将很难做到这一点。

    我的2美分。

        4
  •  1
  •   Nathan    15 年前

    我不得不不同意Michaelkebe的观点——除了一些关键的开发人员外,这些变更还需要执行层的支持,才能完全成功。

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

    要有清晰的视野,要经常大声重复。

    我不一定在这里提倡敏捷,但经常是为企业所有者点击。

    如果你能在这方面销售它们,你所兴奋的事情(交付软件快速、易于维护、自动化测试等)就会发生。

    推荐文章