Transitioning from College to the Workplace: My Journey at Lava Lamp Lab
May 28, 2024The Importance of Image Optimisation
June 3, 2024Testing is an important part of the development life cycle. The following steps forms the development life cycle:
- Requirements Analysis
- Planning
- Design
- Development
- Testing
- Deployment
- Maintenance
Testing does not seem like an important aspect however it is a critical phase. By testing before deployments bugs can be picked up before the code is released. This means that it can be addressed and therefore does not impact users. Continuous testing is also important as this will ensure that new features do not affect the rest of the site.
There are numerous ways to test, the different types of testing are as follows:
- Unit Testing: Validates individual components (functions, methods, or classes).
- Integration Testing: Ensures that different components work together seamlessly.
- System Testing: Verifies the entire system’s functionality.
- User Acceptance Testing (UAT): Involves end-users validating the software against their requirements.
The initial testing already starts in the development phase, while coding developers test and debug until they achieve the desired result. Once development is complete code is deployed to a staging site, staging sites is a replica of the live site and is a sandbox where you can safely test new features, changes, and updates before deploying to the live site. The testing done on a staging site is usually done by a QA (quality assurance) tester or with code/apps that runs through workflows and will output a report to identify which parts of the workflow passed or failed.
Why it is important for QA testers to test on staging instead of developers?
- Developers have limited time available to test as they have tight deadlines to complete new features or work on bug fixes. This means they will either not be thorough in their testing or development work will take longer to be completed as they need to account for testing time.
- Developers aren’t trained to test like QA testers therefore their perspective may be narrower and lead to gaps in testing coverage.
- Developers know how to use the new functionality and know how the code works; this means that they are less likely to pick up bugs that could be caused by human error.
It is important that the product owner tests on the staging site as well, this is called UAT testing. This is to validate that the new features are as per the requirements.
Once the code is deployed to the production site (live site). The new features are also tested to ensure that they have been deployed correctly. It is more difficult to test on production and testing can not be done as thoroughly since there are specific features that might impact other users, however it is imperative that testing is done and if any bugs are picked up that the deployment is reverted.
As you can see testing is in multiple phases in the development life cycle and it is a very important aspect so that bugs can be picked up quickly and addressed before this impacts users.
Happy Testing