Bloggo back to the blog
Definition of a feature complete build-->
I’m currently testing a fairly large, high profile project and as I found myself saying to myself the other day “Jeez, I’m finding a lot of bugs!” This wasn’t in a “Hey everyone, come look how good I am!” kind of way (which should be the case), but in an “Oh man, I shouldn’t be finding this many…” kind of way. Probably not the right attitude for a tester, I know, but I wasn’t expecting to find so many bugs in software that has been in development for 18 months, and been demo’d to the users umpteen times and is so close to the end of the project.
This is the first time I’ve tested something of this size and I would say I’ve tested 25% of the application so far, and found 35 defects. I know that it all depends on the context of the application, and some would argue that because this is a high profile application used by external clients, that this is probably not enough. I’ve found a couple of hum-dingers which I’m actually quite proud of, but the majority of my findings are small little niggily things, like basic layout problems and missing resources.
A question I asked a colleague when I was starting to feel a bit overwhelmed was “Would you expect to find this many bugs in a feature complete build?” The answer I got back was that it depends entirely on the developer. Some developers do unit test their code quite thoroughly and wouldn’t give you a build unless they were absolutely sure that you weren’t going to find anything wrong with it. Others will give you a build because they’ve put all the necessary code in the software for it to work, and, as far as they can tell, it should work.
What would you expect from a feature complete build? Not a final build, but a feature completebuild. To me, a feature complete build should be treated exactly the same by the developer as a final build but should come with an expectation that, yes, there maybe one or two little niggles here and there. If a developer has given you a feature complete build, you would still have expected them to have carried out unit tests on the majority of the functionality. When a developer deploys a feature complete or final build, to me, they are saying “This has gotten everything the users asked for and I’m happy enough with it that, if they want it deployed now, it’d work within minimal findings”
One would argue that my assumption is wrong, and that a feature complete build is a build that has everything the users asked for, but has not been tested, either unitly (that’s a word I use all the time starting just now), or by a tester. This is compared to a final build which has all the required functionality, has been unit tested, and some testing by the tester has been performed. How do you see it? Let me know in a comment below.