Software Application Testing


Graduated application testing allows for continuous product improvement, while you build your system.

Whole system testing is conducted on a complete, integrated system to evaluate the system’s compliance in the context of your requirements.

The intention in both cases is to find any errors, defects and security threats. Is your software functional, is it usable, is it secure? And, are these functions fulfilled correctly within the framework of your business specifications?

Test cycles allow for the fact that bug fixing is an iterative process, meaning, when one bug is fixed, it can cause new issues or uncover previously hidden problems.

The end result: Functional software, robust integration and a secure platform.

Types of testing


Functional Testing

Inspects actual functionality versus desired functionality. This purist approach puts aside usability, scalability and performance to first ensure the bones of a system do what they must. I.E: “If I type x-input and click y-button, do I receive the required output.”

Two types:

Black box testing: Simplified system testing that looks at the output of a specific input. Useful for testing from a user’s perspective when you know the user will have limited knowledge of your application.

White box: Testing within the framework of system knowledge and source code context. Allows for code optimisation. An efficient method for uncovering hidden bugs.


Integration Testing

Ensure that all the moving parts of your application are talking to each other correctly. Does your shopping cart module interact correctly with your billing functionality?


End-to-end Testing

User Acceptance Testing (UAT): Focus on system functionality and usability. A thorough comparison of what is expected versus what actually happens. UAT allows for feedback early in the development process.


Performance Testing

Is your platform reliable, stable and readily available to your users? Can it handle heavy data loads or high traffic, successfully? Performance tests help future-proof your system by testing how it behaves under relevant pressure.


Penetration Testing

This serves to test the security of a system by determining whether or not unauthorised access is achievable. The system, network or application’s security vulnerabilities and areas open to exploitation are revealed.


Smoke Testing

A fast, time-saving preliminary test that is performed to verify whether or not critical system functionality is working and the system could withstand more detailed functional testing.


Regression Testing

Does the system still work the way it did before? Has a new feature broken an old one? This testing ensures ensures your software functions don’t backslide. Especially effective if you’re employing agile methodologies.