A community decides to Sponsor a trip to a Broadway Show. The community organizers have delegated one person to go online, find a site that sells group tickets and purchase tickets. Typically, the methods to search for tickets and purchase them online happens in one fluid, swift process. Have you ever wondered how those processes became so easy in many cases and who was involved in those processes?
You have your programmer or programmers, depending on the size and scope of the product…the guys that make things work! But what happens once the programmers complete their magic? Is the project done, launched and live? In short, no, and nor should it be.
According to the Oxford English Dictionary, Quality Assurance is “the maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.” Software Quality Assurance ensures that software being developed is of the highest quality.
What does that mean to you? It means that before you (the consumer) visit a website or make a POS (point of sale) purchase, or do virtually anything requiring the use of software, a Software Quality Analyst has tested a product to ensure it meets the desired quality measures. Each step of a process or function of the software must be thoroughly assessed for potential “bugs” and tested. This often requires repeatedly testing the same thing, using various techniques to certify that the software functions flawlessly. Having a crystal ball doesn’t hurt either, the ability to predict how the user may do something goes a long way in ensuring that a product doesn’t break. Attention to detail is a must!
An analyst is able to communicate with the business to make sure objectives are met and software is functioning optimally, which all too often requires more than just reading technical documentation but also reading between the lines and predicting any and all possible scenarios.
Finally, the analyst is able to work with programmers, even when their findings are met with the following replies:
- That’s weird…
- It’s never done that before.
- It worked yesterday.
- How is that possible?
- It must be a hardware problem.
- What did you type in wrong to get it to crash?
- There has to be something funky in your data.
- I haven’t touched that module in weeks!
- You must have the wrong version.
- It’s just some unlucky coincidence.
- I can’t test everything!
- THIS can’t be the source of THAT.
- It works, but it hasn’t been tested.
- Somebody must have changed my code.
- Did you check for a virus on your system?
- Even though it doesn’t work, how does it feel?
- You can’t use that version on your system.
- Why do you want to do it that way?
- Where were you when the program blew up?
And my personal favorite: “It works on my machine!”
Quality assurance is an essential part of the software development life-cycle. Testing software or a web solution is a comprehensive complex process with various techniques that ensure the success of an application and also contributes to the end user experience. Have a bug story you’d like to share?
Check out the rest of our blogs at http://lockdata.com/blog/