2PM Services’ Technical Business Analyst, John Robinson, explains why IT testing is important for your business and its success.
As organisations increasingly adopt IT to enable business activities, the correctness of these IT systems is essential for business success.
Testing is classified differently depending on when it is tested, what is being tested, and who is testing the various components. Typically, a software vendor undertakes unit testing, component testing, integration testing and system testing at least before software being released.
Most business organisations don’t develop their own IT systems software, but rather procure IT systems software from external vendors. Whether IT systems are developed “in-house” or procured from external vendors, there is often organisation specific infrastructure and configuration which may not have been necessarily tested by vendors.
IT Testing comprises the processes and tools necessary to validate the IT systems deployed within an organisation. Correctness of functionality is important, but it isn’t the only aspect of IT systems that needs testing. Other aspects include performance, usability, accessibility, testing, serviceability, and security – all of which require specific types of testing. Collectively, the tests conducted on an IT system deployed within an organisation are often called User Acceptance Testing or UAT. When conducting these tests, the best practice approach is to utilise a test environment that does not affect the production environment. Only when testing is complete and all tests pass, should the production system be used.
Types of tests:
The various types of test to address all IT system aspects to be tested include:
- Functional Testing – tests the IT system behaves as expected in response to actions taken in the IT system.
- Accessibility Testing – tests the ability of the IT system to be used by users with impaired vision or other disabilities.
- Serviceability Testing – tests the ability to retrieve service data to be given to a vendor of the IT System component for problem diagnosis.
- Availability Testing – tests the IT system is available for use when expected.
- Performance Testing – tests the IT system performance. This type of testing may focus on metrics such as throughput per response time.
- Security Testing – tests that the IT system meets a previously documented set of security requirements.
The IT testing process:
The process of IT testing consists of various stages, namely:
- Close out and Reporting
As IT system tests are being executed, issues or “defects” may be found, if this occurs then the test being conducted ‘fails’. Defects need to be documented and remediated and then retested in order to pass.
How to test an IT system
Consideration needs to be given to what types of testing are required. Generally, the minimum type of testing required is Functional Testing. The types of tests to be conducted are documented during the scoping phase.
Within a business organisation, the approach to UAT Functional Testing will depend on how users and other external systems will interact with the IT system. This could be via a console for users or via APIs for other systems. All means of interaction; aka interfaces need to be tested.
Some of the testing types applicable to an IT system may require specialised skills and tools, this is often the case for Security Testing.
When updates are made to an IT system, the previously designed tests are executed again to check the system behaves in all manners as it did previously. This is often called Regression Testing.
Automated testing vs. manual testing
Regardless of the test type, most tests can be conducted either manually or in an automated manner. Manual testing requires the tester to follow documented test steps. While automated tests execute scripted tests using an automated test tool such as JUnit, Selenium or Postman.
Manual testing requires less upfront work before tests can be executed, but the same effort is required for the initial and subsequent executions of tests. Automated tests require a greater investment of time and resources up front but allow subsequent execution of tests to be much faster, and generally with fewer errors than manual testing.
Agile vs. non-Agile testing
Depending on whether the project approach taken for the IT system deployment is Agile or non-Agile, testing should be conducted accordingly. Adopting an Agile approach to IT testing will require several of the test process phases to be broken down to be conducted in the appropriate iteration.
Need help with your testing? Testing helps to ensure that your IT system / application is secure, stable and meets your stakeholders’ expectations. If you are unsure about your testing needs, or would like help developing test plans, please contact the 2PM Services team here.