将 Web 应用程序迁移到持续集成的人们有什么成功故事/智慧之言吗?

发布于 2024-08-14 23:07:47 字数 882 浏览 3 评论 0原文

我先发制人地将其标记为社区维基,因为,嗯,它就是。

我有兴趣听取那些在转向 Web 应用程序持续集成方面拥有现实生活成功故事的人的来信。我特别对以下内容最感兴趣:

  • 您使用什么工具来聚合报告(例如Hudson)?
  • 您的应用程序由哪些代码组成(例如,只是一个 JavaScript API、服务器端代码 + 客户端代码的混合等)。
  • 您使用哪些工具来执行单元测试?
  • 您的 QA 使用什么工具来执行功能、冒烟等测试?
  • 如果你必须克服什么才能转向 ​​CI,你必须克服哪些文化障碍?

对于我来说,我正处于成功整合的过程中,但这种整合是有代价的(实际上我在深夜的某个时刻哭了)。原因是:我人为地受到环境的限制,并且我还试图在受限制的环境中做一些没有人做过的事情。

但不要害怕,编程中没有哭泣(大多数时候),这是我自己对我的问题的回答:

  • Hudson 是我的 CI 主工具。开发是在 Mac、Windows 和 Linux 上进行的,但 CI 构建都在 Linux 上进行。
  • 我负责纯 JavaScript API,外加一点 PHP。
  • 我使用 YUI Test 3 进行单元测试,通过在 Linux 机器上的无头环境中运行的 Selenium Remote Control 进行推送。
  • QA 使用 Selenium 进行所有用 Java Selenese 编写的测试。
  • 文化障碍:这很有趣。人们只是不理解测试 JavaScript。例如,这是一次会议的回复,“不,真的,我需要一个浏览器来运行我的单元测试。为什么我要在浏览器之外运行我的测试?”或者,“来吧,开发人员也需要运行这些单元测试。为什么我必须将所有内容打包并以如此正式的方式处理所有内容?”

I'm pre-emptively marking this a community wiki because, well, it is.

I'm interested in hearing from people who have real life success stories in moving to continuous integration for a web application. In particular, I'm most interested in the following:

  • What tools did you use for aggregation of reporting (e.g. Hudson)?
  • What code did your application consist of (e.g. just a JavaScript API, mix of server side code + client side code, etc.)
  • What tools did you use for performing Unit Testing?
  • What tools did your QA use for performing functional, smoke, etc. testing?
  • What cultural obstacles did you have to overcome, if you had to overcome anything, to move to CI?

As for me, I'm in the middle of what will be a successful integration, but there has been a cost to this integration (I actually cried at one point late at night). The reason: I'm artificially constrained by my environment, and I'm additionally trying to do things in my constrained environment that no one has done.

But never fear, there's no crying in programming (most of the time) and here's my own answers to my questions:

  • Hudson is my CI master tool. Development is happening on Mac, Windows and Linux, but the CI builds are all happening on Linux.
  • I'm responsible for a pure JavaScript API, plus a tiny bit of PHP.
  • I'm using YUI Test 3 for unit testing, pushed through Selenium Remote Control running in a headless environment on a Linux box.
  • QA is using Selenium with all tests written in Java Selenese.
  • Cultural obstacles: This was interesting. People just don't understand testing JavaScript. For example, here's a response from a meeting, "No really, I need a browser to run my unit tests in. Why would I ever run my tests outside of a browser?" Or, "Come on, developers need to run these unit tests, too. Why do I have to package everything up and treat everything in such a formal way?"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花伊自在美 2024-08-21 23:07:47

我将我们的产品(7 人小团队)搬到了哈德逊。这是一些背景知识:
我们的团队非常有才华,但苦于新开发人员我不需要测试心态。我无法告诉你在最初的几周内我们的构建在同一天重复被破坏了多少次。我们遵循敏捷开发方法,使用迭代/冲刺以一定的时间间隔生成可发布的代码。到目前为止,我确信你看到了我的痛苦。我安装了 Hudson 并且没有回头,因为我不仅不需要持续监视构建和单元测试的状态。

•您使用什么工具来汇总报告(例如 Hudson)?
Hudson

•您的应用程序包含哪些代码(例如,只是一个 JavaScript API、服务器端代码 + 客户端代码的混合等)
Grails(Groovy、Jquery、Javascript)

•您使用什么工具来执行单元测试?
Groovy 单元测试是为所有文件创建的,并为遇到的每个错误创建一个
协助回归测试并为客户提供可操作的结果。

•您的质量保证使用什么工具来执行功能、冒烟等测试?
由于团队规模和个性而进行冒烟测试。

•如果您必须克服任何困难才能进入 CI,那么您必须克服哪些文化障碍?
老实说,这是一个巨大的障碍。开发人员抱怨创建单元测试所需的时间,后来他们意识到通过 Hudson 不断测试它所节省的时间。开发人员最初觉得我试图“指责”人们破坏构建。

如果您想了解更多信息,请告诉我。

I moved our product, small 7 man team, to Hudson. Here is a bit of the background:
Our team is very talented yet, suffer from the new developer I don't need to test mentality. I could not tell you how many times in the first couple of weeks our build was broken repeatadly in the same day.. We were following Agile Development methodology that used iterations/sprints to produce releasable code at certain intervals. So far I am sure you see my pain. I installed Hudson and haven't looked back because not only do I not have to continuously monitor the build and the status of the unit tests.

•What tools did you use for aggregation of reporting (e.g. Hudson)?
Hudson

•What code did your application consist of (e.g. just a JavaScript API, mix of server side code + client side code, etc.)
Grails (Groovy, Jquery, Javascript)

•What tools did you use for performing Unit Testing?
Groovy Unit Tests were created for all files and one for every bug encountered
to assist with regression testing and provide the customer actionable results.

•What tools did your QA use for performing functional, smoke, etc.testing?
Smoke testing because of team size and personality.

•What cultural obstacles did you have to overcome, if you had to overcome anything, to move to CI?
Honestly this was a huge hurdle. Developers complained about the amount of time needed to create the unit tests, which later they realized the time gained by having it continuously tested by Hudson. Developers initially felt that I was trying to "point the finger" at people for breaking the builds.

If you want more information let me know.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文