Tag Info

One-person independent game. It was a multiplayer tank game with destructible terrain, and the destructible terrain and collision code proved somewhat flaky.
I ended up rigging up some basic dumb AIs (by "dumb", I mean "absolutely idiotic" - they would randomly choose "drive towards an enemy tank", "drive away from an enemy tank", and "drive in a random ...

I think Dummynet is what you are looking for. Dummynet is a network emulation tool which can simulate bandwidth limitations, delays, packet losses, and many more. You can easily choose which traffic you want to intercept and configure the limitations, e.g. to limit all incoming TCP traffic to 2Mbit/s you do
ipfw add pipe 2 in proto tcp
ipfw pipe 2 config bw ...

Network Link Conditioner
If you're on a Mac, you can use Network Link Conditioner.
You can simulate various cases of bad internet connections, including Edge and 3G.
In addition, you can create your own profiles with your own settings:
It is a free download in Xcode (go to Xcode → Open Developer Tool → More Developer Tools… and download the Hardware ...

For an MMO I worked on (100ish developers, PC focused), we tried to add a huge variety of automated testing with varying success. Here's what worked:
Basic tests during our automated build process were a huge win. This included tasks such as creating a character, transferring maps, running some scriptable UI tests and looking for expected behavior. This ...

Off the top of my head I'd suggest trying to run the game on a few other PCs from friends or relatives. After that you might want to consider some form of beta test, i.e. publishing a demo or something so you can get community feedback.

Two words: headless client.
Basically it's an AI driven client that's had the all graphics bypassed so that you can run many multiples of copies on a machine, you can even run them on servers because you never initialize the graphics at all.
Above all those clients is a supervisor that is responsible for starting, monitoring and stopping all the clients to ...

Working on a 4x strategy game with 3d combat (think Homeworld meets Masters Of Orion) that unfortunately never saw the light of day as the company ran out of funding..
I always ensured that you could play the game without human players so we could leave the game running overnight.
We could turn off the 3d combat (simplified to a random result) and we left ...

Two big helps in difficulty tuning.
Metrics
Tracking player data can go a long way to making difficult tuning as objective a process as possible. How long are people staying alive, where are the taking damage or getting killed, how many tries does a section of the level take. Getting good metric data can really help your team see where people are having ...

One of my favorite ways to find this info is by using virtual machines.
Seeing as how you can configure the hardware and memory that the VM is allowed you can test a wide range of setups on your own PC. This also allows you to test across multiple operating systems.

For traffic load testing there are many tools, but you're going to need to test other things as well that will be specific to your game server because network traffic is only one part of the equation -- the processor utilization and constant database queries are two others that immediately come to mind as important factors that you'll want to measure (there ...

You should have some rough idea of the minspec just by developing your game -- for example if you made an explicit choice to use D3D10+, you obviously are culling out XP machines. So that's a place to start.
Find a way to test on as many machines as possible, ideally after implementing some way to gather performance metrics automatically (as users can be ...

It's probably safe to say that BDD, like TDD, or (insert trendy development buzzword-paradigm here) is used by some game developers somewhere, but they probably don't know they are nor would they neccessarily be able to identify what BDD actually means. The question is really how much they use it and how much do they have to use it for it to matter to you?
...

There is software available to perform epilepsy testing as defined by OFCOM, known as the Harding Test.
Unfortunately, the software seems to be commercial only and requires a data capture card for it to run, so it's not the most financially feasible solution for an indie dev. This can be found here: http://www.hardingfpa.tv/
However, there is an ...

If you are on linux you can use netem to simulate all of the possible problems with network like high latency, low bandwidth, packet losses and many others.
There is an option for windows called NetLimiter but I haven't used it so can't vouch for it.
Just found a Mac App called SlowlyApp.

I don't think TDD, as such, is appropriate as a foundation for game development. Automated unit testing as part of methodology, sure, but too many of the key concerns of game development are subjective and not machine-testable for testing to be the driver of development. How are you going to write a scripted test for whether a game mechanic is fun? That a ...

On a first person shooter I worked on (Descent 3 -- linux/mac/windows, ~30 people on the team in 1999), the demo recording/playback capability turned out to be extremely useful. I made an option where you could playback the demo as fast as the game could render frames, and that became a great way to verify performance after a bunch of things changed.
It ...

A sort of code coverage approach to test cases can be done using simple flags that are tripped once the block of code has been executed in-game. Displaying which flags have been tripped and untripped on screen can allow testers to know which cases have been covered and which haven't.
Simple as it is, it's still effective so long as the flags have ...

Check:
- How much RAM it uses
- How much texture + GPGPU memory it uses
- Minimum frame rate / Current frame rate * CPU speed * SpeedUpFactorOf(minimal number of cores you can use)
- Similar equation for GPU calculation units
- what level of opengl/directx/cuda your game engine requires from the graphics adaptor
- how much disk space the installation + ...

It's certainly viable, although a lot of game programmers haven't really gotten on board with the idea yet, or have a good understanding of how to test complicated systems. I admit myself that I rarely use it, except for non-gameplay-related systems that are easy to test.
Expect to use a lot of mock objects. Because of how tied together a lot of systems ...

I'm not a tester but I've worked on teams with them, and had students enter the industry as testers.
Up sides:
Yes, it is a "relatively" easy way to get a job. Key word: relative. Testing jobs are still competitive.
You're one of the few people on the development team that can actually say you play games for a living.
It's a (false) foot in the door.
...

I've been in development for 30+ years, and was QA for about 15 of that (also QA manager, and director of engineering, hiring both QA and developers.)
If you can get a QA job -- if you have tenacity, attention to detail, and can reliably show up for work -- then, yes, it's a fairly "easy" way to get a foot in the door.
However, do NOT fall for the romantic ...

Watch someone play but don't talk to them. By not talking to them, you can see things them do things that will make you pull you hair (You: the solution is obvious. What's wrong with you? #$@!).
Instead of saying your thoughts aloud, write down what you want to say. Use this as your basis to guide your game difficulty.

A few things I would say are important:
Encourage Programmer Unit Testing
This will make sure that certain stupid bugs, if there is a unit test for them, won't recur, because the unit test will fail if they do. This requires a change in programming methodology, but in my opinion it is completely worth it.
Automate Whatever Testing You Can
Beyond unit ...

Not a tester, but observations as a developer for big and small companies
Did the game tester position lead to other more desirable positions?
Sometimes, but rarely. The most common paths out of test are:
tester -> test manager -> Associate Producer on the dev team.
tester -> lead tester -> junior designer
I've seen more testers go the producer ...

Best advice I could give is to put what you have up, making it clear that it is still a beta and that you want people to play test it and link to it everywhere. This includes every game site you can think of include gamedev.net, moddb, here, facebook, twitter.
There is nothing wrong with advertising mate. How else are you going to get people to play your ...

I would strongly suggest having an in-game bug-filing option, preferably a big button that says "FILE BUG HERE". Players who are engaged, especially if your game is actually good, are never going to remember bugs that occurred if they have to go out of the engine to file them. You could have those go to the bug tracker, or you could just have it email a ...

I think you are worried about the wrong things Milo. I see from your other questions you are planning on writing the game is C++.
Even a not very well coded sever written in a scripting language would be able to handle 100's if not 1000's of requests with out apparent lag in a card game.
These kinds of technical details are probably not going to be a ...

I wrote a tip/trick on CodeProject that discusses this very problem.
Samsung are essentially providing free access to actual devices via the web over here, I'm not sure if the same thing is provided by any other vendors though.

This seems like a good application of the Approval Tests framework or something like it.
As stated in the comments, you are still going to have an issue with false positives, if you happen to approve bad output, but this will at LEAST tell you when output has changed significantly.
Since you are using OpenGL, I'm assuming that approvals won't work for you ...

The problem with this approach is in this statement -
"Add some more random chars, emulating new players"
The task of randomly generating every permutation of character builds is trivial compared to making the AI that would actually use that build appropriately. It would be extremely difficult to tell the difference between a poor build and a poor AI in ...