Development testing ensures that the product keeps getting design feedback from the early stage of the development cycle. There are three steps in Development Testing, the details of which are explained in following sections:
1. Unit Testing
2. Integration Testing
3. System Testing
In design thinking approach, Usability and User Experience testing are also conducted in parallel to the development testing, to verify that the products/solution is in constant alignment with the user's need.
The solution is built in multiple modules, where each module caters to a User story. Each of these modules are called Units. Unit testing is focused on testing individual units to validate that it is performing as required. For IT products, it is done during the coding stage of software development to test the individual units of the application. Unit testing also helps to reduce the cost of bug fixes, as bugs or errors in the code level are identified early in the development lifecycle. This testing is performed by the developers, using Open Box testing methodology (the developer reviews each codes in detail).
Unit testing forms the foundation on which all other tests are built. Therefore, the accuracy and thoroughness of unit testing are significant factors, affecting how well other tests can be carried out and the performance of the product as a whole.
Each successfully tested modules (Units) are integrated together to perform various actions required by the solution. Integration testing is carried out to verify that the interfaces and the interactions between these Units, are as per expectation. This testing is performed by the developer, tester or product owner, using Black Box testing methodology (the testing team interacts with the product via the user interface- by clicking on buttons and links, scrolling, swiping, etc. They don’t need to know how code works or consider the backend part of the units.)
Integration testing covers following types of testing:
1. Sub-systems: When two or more units of a system are integrated, they form a sub-system. This sub-system is tested as part of integration testing.
2. Databases: Any UI action that results in database updates is tested here.
3. Interfaces: An interface defines how a unit interacts with another unit. Integration testing verifies whether these interfaces are working as per specifications
4. APIs: An Application Programming Interface defines methods of communication among various units. These API's are tested as part of integration testing.
After the successful integration testing of sub-systems, database, and all the User interfaces, these integrated units are combined to form the complete product/solution. System Testing is end-to-end testing of the complete product, where the testing environment is similar to the production environment. The goal of this test is to check if the product is meeting the user needs, while finding bugs and defects that must be corrected in order to do so. This testing is performed by the developer, tester or product owner, using Black Box testing methodology.
System testing covers following types of testing:
1. Functionality Testing: This testing makes sure that all the features of the product is working as per the requirement.
2. Usability Testing: This testing mainly focuses on the user’s ease in using the product and handling controls.
3. Performance Testing: Performance Testing is carried out to test the speed, scalability, stability and reliability of the product.
4. Load Testing: Load Testing is carried out to determine the behavior of a software product, when multiple users access it simultaneously across multiple locations.
5. Stress Testing: This testing checks the product when subjected to a large volume of data than expected.
6. Reliability Testing: Reliability testing makes sure that the product is bug-free.
7. Scalability Testing: Scalability Testing is carried out to check the performance of a software product in terms of its capability to scale up or scale down the number of user request load.
8. Compatibility Testing: Compatibility Testing is carried to check whether the product is compatible to different hardware, devices, OS, network environments etc.
9. Security Testing: This testing verifies the authentication, authorization, data validation, and data protection aspects of the product.
Usability tests are conducted by internal team members (outside the development team) as they attempt to use the features and functionalities of the product/solution, as if end user would do. The objective of Usability Testing is to verify if the product meets the UI design requirement or not. It is spanned throughout the development phase and uses Black Box testing methodology.
There are other critical aspects of the product/solution that need to be explored in order to get a full picture of the product/solution. It is conducted by internal team members (outside the development team) and is spanned throughout the development phase. It uses Black Box testing methodology. User experience testing determines whether the product is:
1. Useful: Does the product/solution solve the user's problem or meet the user's need ?
2. Usable: Is the product/solution easy to use. If it’s too complicated or confusing to use, you’ve already lost.
3. Desirable: Is the product/solution desirable by the users/customer? Do they prefer it over others ?
4. Findable: Is it easy to locate the product/solution and its features ?
5. Accessible: Are the product/solution and its features accessible or not?
A/B Testing is used throughout the development of the product. Sometimes, the designer get into the dilemma of which design to chose from the two alternatives. To help them take decision, A/B testing is conducted, in which both the versions of the designs are created as prototypes and each version is provided to half of the same target audience for testing. The feedback on each of the versions are used to take decision on which one to consider for further development.
Copyright © 2024 Design Thinking - All Rights Reserved.
Powered by GoDaddy
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.