Now I have been into Computers a long time, and software for a while. When I have made a piece of software, I have always tried to test all possible scenarios and if found a problem fix it.
Now with my "Year in Industry" my boss loves to test, we test so much, it gets boring, but every time we test, we always find something major we missed the last time, but once we have finished all this testing, we will use other people to trial it, and they will find their own bugs. But once all this is over, the product should be able to run out "in the wild" for a long time, before any bugs are found that really need fixing.
The cost to my boss is huge, we have pushed back our deadline so many times, and this software is tiny, therefore I see why many companies take time to produce applications and games, testing that must take lots of time, and different scenarios.
So when I see Games, give deadlines I see that, they must be finished, or there about's. So when they release I expect a game that can be played through, default scenario, not going off and trying to break it to go without a hitch. Now even though I love SiN and actively a part of Ritualistic, I think that their show stopper bugs were unfortunate, because most of the game is playable unpatched, the U4 Labs bug, although pretty shitty, is good at finding pirates. :) But the bug related to spawning shit loads of enemies was a bit unfortunate, but due to a late idea in their schedule to code the Arena mode for e3. Since I'm sure they were nearly done with their testing.
So I see Testing as part of the game creation, not part of the after idea, Design, Create, about to ship the game oh yeah shit TESTING woops. "Give them two weeks that will be enough."
Now I am not saying testing doesnt happen, but sometimes I feel that it wasn't a big part of the plan than it should be.
The reason I made this post, is because of the state of affairs with new games such as Dark Messiah. It gets released, and not many people can play it, PC end, I'm sure 360 is the same probably less, since it is one system, if it works, it works. But on release, so many people in forums complained they couldn't fix, some silly things like Graphical settings, LOW = LOW, MEDIUM = MEDIUM, HIGH = um MEDIUM, woops, forgot to include that. Many people needed a 512 Gfx to play, it crashed, some people couldn't get up a ladder, lots of people got the same error. Now it's a big game, Arkane may be small, but I'm sure Ubisoft could have helped with getting QA testers in and such?
Also, my gf has just got a new computer system at work, their old one was shit, simple example for a house.
Name: Can only be singular i.e. not Mr and Mrs Smith,
So if a couple they are a Business
Business= Mr and Mrs Smith
But since they are a business, they don't get taxed the way they should, so things need to be worked around, this was build inhouse, so if anyone complains, they get defensive, "IT WORKS, IT MUST BE YOU!!". My Gf emailed them the situation "Please read the manual" was the response, RTFM if I ever saw one.
But now they have a new system, but basically she said it sounds like it isn't 40% complete, they are giving it to her to use, watching her, and noting any fixes, this means Testing to me.
First part of software should be anaylsis, look at how old system is wrong, fix it, improve it, dont fucking break t.
Now with the introduction of online, Steam and Xbox Live, Ps3, Wii, if they fuck up something, they just patch it afterwards, its ok, we get report, we repro it, we fix it. Is this an ok mentality, sure its fixes it, sure it's probably a bit more expensive, but is it just?
Steam and Valve is a little different, they seem to add content to their games after release, and improvement, not massive fixes, CS:S seems the exception, but the only problem is the fact the engine isn't properly coded in my opinion, too many Windows Errors, rather than their own errors.
I like to use
try
{
angry method, that may fail
}
catch(Exception e)
{
Log Error e.message
MessageBox.show(Please email me with your log);
}
So I can see what died, and probably, why, and include maybe a stack trace, too many times do I see in forums, Windows boxes, they haven't properly defensively coded for. This also includes Steam.
Now my question is?
Is QA a dying art? Should programmers, test, have minimal testing, then release and fix it after? I feel this is a stupid idea, but seems to be on a lot of peoples minds, mostly those whose money is being spent?
Publisher: Release it April 1st
Developer: It wont be reader
Publisher: It has to be, we have made arrangements for advertising and such
Developer:But it wont be reader
Publisher: Cut corners, make it happen
Now in this scenario, it may be released, but the amount of errors ensued, will be great, now for all the problems Half Life 2 had-d-d-d-d on its release, I experience one error in Episode 1, and when it did, it sent a report to Steam (Firewall told me) it didnt happen again. But I think this is better. A bit like Vista's built in report, that when I beta tested, actually seemed to work, and their Answer fixed my problem.
Rant over, I have wrote a lot, probably a large bad ass rant, but thought I'd get it out on "paper"