News for hackers. Stuff that matters.
Re:Continuous Deployment at IMVU: Doing the impossible fifty... by plinkplonk on Tuesday February 10, 2009 @10:08AM (#475220)
"writing rock solid one-in-a-million-or-better tests that drive Internet Explorer"

I find this unparseable. (English is not my native language). As far as I know "one in a million" means something like "very rare". Help?

Re:Continuous Deployment at IMVU: Doing the impossible fifty... by briansmith on Tuesday February 10, 2009 @10:50AM (#475293)
"rock solid" is "very reliable" "one-in-a-million-or-better tests" is "tests which fail less than one in a million times".

Our Internet-Explorer-based tests are very reliable; they fail less than once per million executions.

Re:Continuous Deployment at IMVU: Doing the impossible fifty... by sbraford on Tuesday February 10, 2009 @10:13PM (#476440)
While the "one in a million" better is a cool blurb, what does it really mean?

Let's say your team makes 25 commits per day.

25 * ~300 working days = 7,500 commits per year

That would take 133+ years to reach 1 in a million.

The more interesting metric to me is how often the build gets broken.

Re:Continuous Deployment at IMVU: Doing the impossible fifty... by nuclear_eclipse on Wednesday February 11, 2009 @12:19AM (#476577)
The part you're missing is the 15000 tests, multiplied by a new commit every 9 minutes, which in 8 working hours, is roughly 50 commit-test cycles, so 750,000 tests run in a day's timespan...

Edit: of course that assumes a peak commit rate matching or exceeding the commit-test cycle period. The point being that even a considerably low rate of failure in the testing mechanism could manifest itself as a blocked commit-test-deploy cycle at least once a day, hence the importance placed on rock-solid testing systems that should only ever fail when the tested code itself fails.

Re:Continuous Deployment at IMVU: Doing the impossible fifty... by TimothyFitz on Wednesday February 11, 2009 @03:56AM (#476771)
We empirically have on average 70 builds a day. The number is higher than your calculation because we don't all work 9-5, we're commiting frequently from around 8am to 9pm. We also run builds repeatedly overnight to flush out any intermittently failing tests we may have recently introduced. We'll run the builds as fast as they can go from 2am-4am.
Re:Continuous Deployment at IMVU: Doing the impossible fifty... by sbraford on Thursday February 12, 2009 @08:00AM (#478372)
So how often does a commit get checked in that causes a test (or tests) to fail?

It just seemed to me like you were bragging that tests get run over and over again. They only need to get run if any new code is committed, of course.

And what kind of commit is being checked in every 9 minutes? How big is the dev team? Seems like an awful lot of commits. Is each one a full-fledged feature / bug fix for the site, or are many 1-line changes to the code?

Re:Continuous Deployment at IMVU: Doing the impossible fifty... by kragen on Wednesday February 11, 2009 @11:15AM (#477162)
As I read it, the issue he's talking about is that it's easy to accidentally write a test that passes the first 100 000 times you write it, but then fails the next time because of a timeout that was set too low or something like that. A test like that can waste a lot of your time tracking down a nonexistent bug.

It's true that any particular test that spuriously fails one in a million times may never fail. But if you have tens of thousands of tests, and you do tens of test runs per day, you'll have a test spuriously fail once a day or so.

Re:Continuous Deployment at IMVU: Doing the impossible fifty... by ivank on Tuesday February 10, 2009 @10:11AM (#475232)
He means the test is broken if it fails more than once in one million test runs.
Re:Continuous Deployment at IMVU: Doing the impossible fifty... by ivey on Tuesday February 10, 2009 @10:44AM (#475282)
When I say reliable, I don’t mean “they can fail once in a thousand test runs.” I mean “they must not fail more often than once in a million test runs.” We have around 15k test cases, and they’re run around 70 times a day. That’s a million test cases a day. Even with a literally one in a million chance of an intermittent failure per test case we would still expect to see an intermittent test failure every day.

He means that test failures are not acceptable in their culture, and they have a LOT of tests.

Re:Continuous Deployment at IMVU: Doing the impossible fifty... by timf on Tuesday February 10, 2009 @10:16AM (#475239)
In the article it talks about tests that fail only one in a million times (referring to the quality of the test, not the test case being exercised), I think that is what is meant.
Re:Continuous Deployment at IMVU: Doing the impossible fifty... by smhinsey on Tuesday February 10, 2009 @10:10AM (#475231)
i am a native speaker and it's not entirely clear to me either but i would feel safe in venturing to guess that it's a reference to the false positive rate