I have to imagine by now that our development team enjoys a healthy love and hate relationship with me. Being in the marketing department we have a lot of development projects which include testing before they go live and I often get tasked with helping to test other projects. I have become what I might call a “Testing Pirate”, I come to bang on the doors, break in through a window, make a bunch of noise, break some stuff and steal what I can. In essence it’s my job to pillage projects or code and let me tell you, business is good. To add insult to injury I also have an opinionated eye for design and organization, especially when it comes to websites. In light of all this I decided to put together my steps for testing development projects especially when you are not a developer.
Pre Qualifications - It's nice if you are technically inclined and or have dabbled in a little coding. I am fairly technically inclined and I have taken a few programming classes back in the day so that gives me a decent understanding of what’s going on, how things can be handled and what may or may not be possible or can cause an issue. That sets me up to have a basic understanding so that I am better able to effectively test the project or code. It’s also a good idea to spend a little time with your developers, ask questions about the platform they are using, coding practices, their experience and even have them take you through a little code so that you understand what they are doing.
Understand what you are testing - There should always be a clear understanding of what is being tested. One of the time suckers of testing can be poor expectations of what to test and the testers end up testing areas, code, pages or the like which are not ready to be tested. I can't count how many times I have fully tested something but realized that half of what I found was fixed at a later time or incomplete because I did not realize I should have only been testing a specific area.
Complete it straight forward - Once you are ready to roll and understand what to test, complete the testing in a straight forward manner knowing what you know about the project or code making sure core features and functionality are working as designed. If the basics of what is being tested is not working you probably don't want to spend any more time identifying other issues.
Complete it with objectivity - Next test the project or code again with objectivity pretending you have never seen this before and have no prior knowledge about it. Remember the Parents or Grandparents test, complete the test as though you where someone who is not technically inclined, what does not work well, what is unclear, is something too technical, are their clear instructions?
Complete it with an angle - Next test the project or code again with an angle, what can be broken into as well, is there sensitive data being stored, are there any potential breaking points, can you pass any bad data or get to anything you should not be able to?
Have more than one person testing - It's always a good idea to have more than one person testing, especially someone who is not as close to the project or code if possible. They might be able to catch things you miss or take a more objective look.
Validation - Validation can be the bane of a project's existence, if something is passing or accepting bad data it can ruin a project, promote insecurity and create a bad user experience. It's important to make sure that when testing you are trying different types of data and making sure that proper validation is implemented.
Documentation - While testing, your developers will really appreciate good documentation. Make sure it's organized, has identifying information like page or project name or URL. Screen shots can be nice and make sure that any issues are fully explained, especially what lead up to how you found them. Sometimes dev teams have testing protocols, forms requiring signature and the likes. It's a good idea to review the testing protocols with your DEV team before hand so that you understand the ways in which they need issues documented and you are following their recommended documentation process.
Nothing is 100% or secure - Regardless of the amount of testing, nothing is going to be 100% secure or bullet proof so make sure that you are putting in the appropriate amount of testing for the project. Something customer facing probably needs a little more polish and vetting while an internal tool may not.
Little Giant has been hard at work engineering pumps that their most loyal customers have been waiting for. PlumberSurplus.com is your destination for the new Little Giant TSW Sump Pump System and their NXTGen Condensate Pumps.