I am currently in the process of setting up rigorous and robust testing systems and as a result have been doing a lot of investigation and research on the various types of testing to be conducted on a piece of software in order for it to meet the customer’s requirements and therefore achieve critical success and ultimately customer satisfaction.
This picture so perfectly represents how a customer can feel when they receive a product they believe to have been thoroughly tested and ready to use with complete functionality and meets their business requirements. Then they realize that day after day they are getting errors popping up all over the show! Testing is vital for the validity of your product, your company’s reputation and ensuring you develop a top quality product that has passed successfully through Quality Assurance.
So over the next few weeks I thought I would take a bit of journey and delve a little deeper into the myriad of testing types, their functions, their complexities and why they are all important steps in any development lifecycle. As an introduction, here is what I will be covering:
Unit testing – To be carried out by the developer themselves in order to check their code
Functional Testing – Occurs after the build and the code is submitted to the test environment and undergoes testing to check how it functions in relation to other components
Process Testing – Ensure that the customer’s business requirements and processes are met within the solution configuration and code design.
Integration Testing - End-to-end testing of an entire process with relevant security turned on in order to validate the solution and check desired outcomes are achieved. It will also look at various interfaces and their integration into the system and assess the impact.
Data Acceptance Testing – Following data migraton this test is to ultimately provide a guarantee that all expected and required data has been successfully migrated into the new solutions
Performance /Load/Stress Testing – This process requires the tester to push maximum volumes of data through the system to see how it functions under stress
User Acceptance Testing – This is the final piece of testing a solution will undergo and it is the one the whole project is reliant of to achieve sign off and project closure.
Each of these testing areas will be explored and expanded upon and at the end of the review I am confident we will all have a sound platform from which to implement, practice and document sound testing procedures within our organisations.