The morning erupted with effing and blinding from the next door office (of a previous firm). The director who was computer illiterate had just managed to send a virus to every client it his little black book.  Most  just hid! Too late to give help. The embarrassment of having to call them all to apologise was HUGE. This doesn’t relate to testing directly, but does serve to demonstrate that things can get bad. You never want to be in the position of having to explain why something has gone wrong.

Its possible to get too close to the code. Looking at a variable name too long can mean that you miss the bigger picture. This is where testing comes in. There are many flavours of testing.

The most discussed form of testing at the moment is Unit testing. There are many good resources on this subject, but in brief a unit test serves to test an inidvidual function against a specific critera. A unit test should only test one criteria. Its vital that the test is well named.   There are numerous testing frameworks including NUnit, NBUnit, XUnit, MSTest. Unit tests do not generally test databases or webpages – these are usually “mocked out”. Well written unit test may help to find error during code re-factoring. In TDD or test driven development these are written before the code, and designed to fail straight off, then code is written to make them pass.

Integration tests work at a much higher level. The tests may check whether a database server is available, or a web page is available, and giving certain data.

QA (Quality Assurance) testing seems to relate to an overall site quality. QA testers will check whether a website works in different browsers. To be really effective they test against a design specification.  They will test the fringes of the site, trying to make it error. They will test the accessibility and web standards. They may not check always check the data is added correctly. They are human, and can miss things too!

Whoever you are, if you have responsibility in creating a website, you need to test it. If you’re testing a form, put real data in, and check that you can get at the data that has been inputted. If you request changes to a site, then you need to retest. Don’t end up the person in the next door office effing and blinding and having to explain to the client why something was missed, or has gone wrong because testing was not the priority.