Testing
INTRODUCTION
The process of testing is an investigation that is conducted to provide stakeholders with information about the quality of the software product, solution, or service under test.
Software testing can also provide an objective, and independent, view of the software or solution. This allows the business to confirm what the delivery was meant to provide them with, is meeting that need, and is fit-for-purpose.
Overview
Although testing is usually perceived as a necessity in software development it is rarely applied as a rigorous activity. Within many projects, testing is simply omitted altogether; in others, it is executed with the distinct intent to prove that the application performs correctly under test conditions.
Software problems are can be up to 1000 times costlier to find and repair after deployment. Having software tested at several points throughout a project’s life cycle is crucial, as it allows an early elimination of architectural defects and ensures the validation of software functions.
Testing Considerations
When assessing what is to be testing there are many points that may have to be taken into consideration, such as:
Business requirements
Functional design requirements
Technical design specifications
Regulatory requirements
Systems administration standards and restrictions
Corporate standards
Professional or trade association best practices
Hardware configuration
Cultural issues
Language differences.
Functional Testing Techniques
There are many functional testing techniques that can be employed to assist with the designing and development of effective Test Cases. Some of these practical and pragmatic test design techniques are defined as follows:
Boundary Value Analysis (BVA)
Equivalence Partitioning (EP)
Ad-hoc Testing
Random Testing
Static Testing
Thread Testing.
Non-Functional Testing Techniques
Non-Functional Testing techniques and methods are used to verify that the application meets its non-functional requirements, including the following:
Compatibility Testing
Configuration Testing
Database Testing
Drill Testing
Endurance Testing
Error Handling Testing
Load Testing
Performance Testing
Security Testing
Soak Testing
Stress Testing.
Testing Stages
The following testing stages are typically performed to prove solutions are ready to be released, and 'fit-for-purpose':
Unit Testing (UT)
Integration Testing (IT)
System Testing (ST)
Systems Integration Testing (SIT)
User Acceptance Testing (UAT)
Operational Acceptance Testing (OAT).
Testing Centre of Excellence (TCoE)
To enable organisation to have a high-quality repeatable test framework in place, we can deliver a TCoE within your organisation. Some of the key benefits of having a TCoE in-house are:
Accelerate the software testing life cycle
Enables more time to focus on essential activities
Ensures a quick decision making process for best-practices to use for specific programmes of work
Help cross-functional teams collaborate
Reduce technology risk
Reduce test-related delays
Provides a repeatable process
Provides confidence in your clients
Provides your organisation with a high-quality set of test-related processes and procedures
Streamline diverse testing processes
Visibly significant savings.
Downloadable reference material being added in due course.
Downloadable reference material being added in due course.
Downloadable reference material being added in due course.