Originally posted by Amele
View Post
Official builds (the binaries the QA normally receive):
1. Strict version control on source code.
2. Build system/build engineer do its magic; only what's checked in is built.
3. Partial builds accepted under special cases only, and only with negotiation between Dev and QA.
4. Dev and QA engineers both isolate changes and problem area for focused testing; QA is responsible to verify only the portions Dev said were changed indeed were changed.
Debug builds:
1. Usually build at engineer's desk/laptop; sometimes (but rarely) go through the official system.
2. Major debug builds are archived for reproducibility, but usually if the fixes are that risky/involved, they just fire off an official build.
3. Dev give QA debug version of certain module/library from time to time for extended testing, but they are supposed to be (and usually are) clearly marked as debug version.
4. New defects are not filed against debug builds, and existing defects cannot be mark "fixed" based on those testing.
The point is QA does not alter official records from debug builds, and in fact spends majority of its time with official builds--while that is not a "full" build, but is "clean" enough for the purpose of this discussion.
Really, build issues should have been ironed by by Alpha (feature freeze).
Originally posted by Amele
View Post
For problem in release software systems, it's a lot easier for me to imagine
1. QA dropping the ball.
2. Management overruling QA objections. (50%-80% of time? lol)
Than to blame the build system.
Heck, most of the trouble with build servers I've seen are storage related than makefile related. "What do you mean we can't have all the builds online on the normal server? Why don't we have room? Can't you kick other teams off that server or stick another hard drive in there?"



Leave a comment: