Software testing is crucial when building quality software, testing helps to make sure that the program works as expected and helps to prevent unwanted scenarios before they happen. The two main pillars of software testing are
Verification:
Ensure the software meets the specified requirements and standards, and confirm its technical accuracy. For example, in a banking app, verification would be to make sure that users can transfer funds, and this is usually done through code reviews and automated tests. Verification answers the questions:
Validation:
To make sure that the software adheres to the expected standards and requirements we use test cases. These test cases has 4 main components which are,
Though test cases won’t make the product perfect it greatly helps in reducing imperfections as much as possible, these test cases can be made for
There are a few methods when it comes to testing software to ensure optimal software quality.
Unit Testing - testing individual components to verify each component works by itself.
Integration Testing - Testing the interactions between different modules/components.
System Testing - Testing the software as a whole, making sure it meets the specified requirements, system testing encompasses various methods of testing to be able to verify that the product is ready to push to production.