两个开发人员的初创公司在没有手动测试的情况下进行完全自动化的回归测试是否可行?

Is it feasible for a start-up of two developers to do full automated regression testing without manual testing?

我们初创公司有四个核心成员,只有1.5个开发人员,包括后端开发人员和我(产品设计人员兼前端代码,我算0.5)。

后端开发人员希望达到完全自动化测试的地步,我们不再需要进行手动回归测试,这样他就可以推送代码更改,而无需我费力的手动测试。我们正处在一个快速发展的初创企业中,截止日期非常疯狂#startuplife。

我们目前进行 2-4 周的冲刺,在上线之前我会进行 2 小时的手动回归测试。如果我们做 100% 的自动化测试,我们就不再需要 Sprints 因为他可以在 运行 回归套件之后持续推送代码。

目前在公司中实现该级别的测试覆盖率是否可行?我们正在使用 AngularJS + 量角器。我将负责这些脚本的维护,如果不是它们的初始编写(我们可能会将其外包给自由职业者)。

据我所知,自动化测试在编写脚本和维护快速增长的套件方面占用了太多时间。我担心它会占用我所有的产品设计等所需的时间

这种级别的自动化回归脚本对于我们资源公司来说是否过于雄心勃勃?

这个问题的答案很自以为是,但我还是会试一试。

根据您的描述,您似乎在很多方面都"holding it wrong"。

  1. 你的冲刺时间太长了。

  2. 您应该每天推送一次生产环境,而不应该在每次推送前花 2 小时 "regression testing"。

  3. 我认为你不应该争取一个完整的自动化测试套件,完整的测试覆盖率在大多数情况下不是初创公司需要争取的,你应该覆盖业务案例和最常见的用户的工作流程。

拥有自动化测试并不能消除冲刺的需要,您很可能仍会在冲刺中工作,但您将能够更频繁地进行部署。

这是一个非常常见的工作流程

  1. 你有一个 master 分支
  2. 您为 feature/bugs/hotfixes (read more on gitflow )
  3. 创建了分支
  4. 您在 github 上创建了一个请求合并到 master
  5. 的 PR
  6. 正在您的分支上进行 运行 测试,并标记为通过或失败。如果它通过你合并和部署。 TravisCI 和许多其他解决方案可以在这里提供帮助。
  7. 部署后,您可以使用 uTest 或其他一些自动化服务 运行 您所谓的 "regression"。

您的主要收获应该是

  1. 快速移动
  2. 经常提早发货
  3. 运行 自动测试并尽可能接近变化

我真的只是触及了表面,希望这对您有所帮助。