Software testing is a process of verifying that a system is fit for purpose and meets it business and technical requirements. It starts at the beginning of system development cycle and have many stages such as:
Software testing has three main purposes: Verification- this process confirms that the software meets its technical specifications. This means that it accepts a specific input, perform specific actions and produce a specific output under specific conditions. Example to activate Login’ button to internet banking you need a login id and a six digit password. The login button only activate (specific out) if you enter your login credentials (Specific input) and your password is six digits (Specific actions)
Validation- this process confirms that the software meets the business requirements. This means that it does what it supposes to do. In the above example the business requirement is that a user can access the internet banking with valid login credentials. So to enter the internet banking you need to input valid login credentials. If your credentials are wrong you won’t be able to enter the system.
Defect- this is a variance between the expected and actual result. In the above example if the system accept a password less than or more than six digits then it is a defect. The defect can be introduced in the specification, design, development or deployment phases.
· Requirement reviews
· Code reviews
· Unit testing
· Functional testing
· Integration testing
· System testing
· Regression testing
· Performance testing
· User acceptance testing
· Business verification testing
Validation- this process confirms that the software meets the business requirements. This means that it does what it supposes to do. In the above example the business requirement is that a user can access the internet banking with valid login credentials. So to enter the internet banking you need to input valid login credentials. If your credentials are wrong you won’t be able to enter the system.
Defect- this is a variance between the expected and actual result. In the above example if the system accept a password less than or more than six digits then it is a defect. The defect can be introduced in the specification, design, development or deployment phases.