How we work with startups – Part 5 – QA and Launch

We have now reached the fifth part of our seven part series where the development phase is complete and we are on the last straight to finalise the project.

However, before this can happen, a crucial step awaits: Quality Assurance (QA).

Quality Assurance involves various steps and processes to ensure that the digital product meets predefined specifications, looking and working as expected, without any faults.

Quality Assurance (QA)

During the development phase, testing is done on various parts of the project, however it is highly important to perform a full Quality Assurance (QA) process once the entire development is finished.

QA is the process or activity whereby the entire project is tested to ensure that any defects or bugs are reported and resolved.

QA is generally done internally, however there are cases whereby clients also get involved with the QA process.

QA encompasses testing of various aspects of a project, the first being the User Interface (UI). Testing of the UI is done to ensure that the various screens/pages are rendered as designed and are consistent in terms of performance and layout in various devices (such as mobile phones, tablets, laptops and desktops). Cross-browser testing is integral where we test the project overall major web browsers to ensure consistency and correct behaviour. In other words, they look at how they were designed and provide users with a user-friendly experience when engaging with the product, regardless of platform or device that they are using.

Another vital aspect of the QA process is the testing of the functionality of the project. This varies from project to project and testing is dependent on the scope and the various user roles that exist.

This process involves removing all data that has been generated during the development phases (from the database) and starting the population of various sections from scratch.

The QA of the functionality also requires extensive testing of each unique user role and running through all processes and features related to each user type. Various test scenarios need to be set up and performed to ensure that any exceptions are catered for and tested.

Should the project contain any automated procedures (such as sending out reminders or generating reports), these will need to be simulated and tested to ensure that they trigger when required and work as designed. Testing of notifications and emails is also done to ensure this communication element works 100%.

Once all the defects that have been discovered and documented are resolved a final QA test is performed and should there be no more defects the system is deemed to be ready for launch.

Live Launch of the Project

This is the exciting part of the project that all parties have been waiting for. However, before we get ahead of ourselves, there are still crucial items that need to be done to ensure that the launch goes as planned without any hiccups.

The launch involves the deployment of the project to the live server, this typically comprises of the moving over of the source code and the setup and configuration of the database.

Once the above is done, we need to ensure that the live environment is configured and that all variables that need changing for the live environment are done.

Any automated procedures will need to also be set up and tested.

If we are integrating with third-party platforms through APIs, we will need to ensure that we are using the correct keys for the live environments.

Depending on the nature of the project a series of tests may be performed on the live environment once all deployments and configurations are done.

Typically a holding screen is set up to ensure that users cannot access the live environment until we are ready to release it to the public. Once we are good to go the holding screen is removed and the system is then live.

This concludes part five in this series of articles. Stay tuned for our next article where we discuss the support and maintenance aspect of a digital product for startups.

Don't forget to share this post!