A test case defines what is to be tested and also defines clear success criteria as to when a particular test would be stated as a “Pass”. Test Cases may be written again business or functional requirements.
A test script defines how is the test case to be tested. The test script details out the individual steps that the tester has to follow in order to accomplish a particular test.
FR1.3: System should validate the DOB and return an error “Invalid DOB” when an invalid date is entered in the DOB field on the Account Creation screen.
A test plan consists of all the test cases that are planned to be executed in a particular phase of testing. This test plan is created by the test lead and there could be one master test plan for the project which has all the test cases created for the project linked to it and there could child test plans that are created specifically for one particular phase of the project.
Testing Methods/Phases in a project:
1) White Box Testing: It is performed by the technology team. Its called white box testing because a technical person can understand the inner implementation of the system and the system is basically transparent to such person which is why call it as white box testing.
2) Black Box Testing: BA or QA would do black box testing. You just understand the functionality from a requirements standpoint but not from a back end implementation standpoint which is why the system is a black box to you hence we call it black box testing.
3) Unit Testing: The very first level of testing done by the developer. This is also a type of white box testing where an individual unit of the system is being tested and not as a whole.
4) System Integration Testing (SIT): When all the units of a system are integrated and tested it is called system integration testing. Depending on who the tester is, this can either be a white box or black box testing.
5) Sanity/Smoke Testing: Smoke tests are performed to make sure the critical or the most fundamental aspects of the system are working as they should ensure smoother test execution for the testers.
6) Regression Testing: Regression testing phase comes after system integration testing. This is performed to make sure the code changes made during SIT in order to fix defects has not affected or broken the existing functionality.
7) User Acceptance Testing (UAT): This is the final round of testing after regression testing. Business users or the end users of the system are the ones executing some tests to verify if they are able to accomplish the day to day business functions in the system. Only once they sign off the system can be rolled out into production.
8) Performance Testing: Every system will have to be tested in terms of speed or response times to ensure the system is not slowing down drastically under load.