26 Oct Quality Assurance: Why Custom Software Development Needs It
At Inverse-Square, we talk a lot about why a whole team of talent is required to make a successful application, as opposed to only one developer. In order to build versatile and well-rounded custom software, you need a versatile and well-rounded team. Part of that team includes the vital component of Quality Assurance.
Here, our Quality Control Rep Cory discusses the benefits Quality Assurance (QA) brings to custom software development projects.
The Design Phase
During the design phase of a software development project, QA will review the functional specifications of the application and write-up use cases. Use cases are designed to test the different ways someone would use the application. Often times, QA will also look at the designs and will provide input about the functionality and the overall user experience.
The Development Cycle
Development is truly where the QA magic happens. Throughout the development cycle, new features are pushed out to the test environment (a simulation of your application). This is where I not only test for the correct functionality but ensure that your requirements are being properly adhered to. And most importantly, I test it out to make sure that the application will make sense to the user and they have a great experience using it.
It’s during the testing of the application that I look for bugs and squash them! Actually, these are issues with the application, but in my mind, I’m squashing bugs. I and the rest of the team take bug squashing seriously. We create test suites to conduct thorough, repetitive testing with many rounds of feedback from not only QA, but our clients as well. As our Senior Application Architect Jesse says, “Bugs caused by us that make it to production are a cardinal sin. It should be the thing you dread the most.”
That being said, there is no such thing as 100% test coverage and unfortunately, the occasional bug will make it through production. That’s where Support and Enhancement comes into play and why it’s so important.
Support and Enhancement
In terms of custom software development, support is something you need in response to something that has occurred in your business that effects your application, and enhancement refers to a new feature that you would like to add. QA plays a large role in the support and enhancement phase of an application.
If a client reports an issue with their app, it is delegated to me to investigate. Once I identify the root cause, I work with the development team to fix the problem (squash the bug!). Both QA and the development team take production issues extremely seriously and we always work diligently to resolve issues as soon as possible.
Much like during the development phase, in terms of Enhancement, QA checks that any new features are implemented correctly while confirming that nothing else within the application will be negatively affected by the changes.
Along with Operations and Design & Development, Quality Assurance plays a vital role in the success of any custom application from inception to installation. Don’t go it alone, if you want to build a versatile, well-rounded app, make sure you partner with a versatile, well-rounded team!