Manual Testing is a type of Software Testing where the testers manually execute test cases without any support from tools or scripts. A test plan document describes the detailed and systematic approach to test a software application .The test plan includes a complete understanding of workflow. To ensure the completeness of testing (100% test coverage) test cases or test scenarios are created.
In manual Testing, the tester plays a vital role of end user and verifies that all the features of the developed application are working correctly. They manually executes the test cases and verifies the application without any automation tools. Testers write all the possible test cases covering the 100% code coverage which will consume some time. The difference between expected and actual results are called as defects. The developers of a software application will fix the defects and then testers retest it to check whether the application is running as expected with fixed defects.
Procedure of Manual Testing
- Requirement Analysis
- Test Plan Creation
- Test case Creation
- Test case Execution
- Defect Logging
- Defect Fix & Re-Verification
- Any new application must be manually tested before its testing can be automated.Manual testing requires more effort to perform, but is necessary to check the automation feasibility.
- Manual Testing does not require any knowledge of the testing tool.
- It attempts to find as many defects as possible but identifying all possible defects in manual testing are impossible.
- Manual testing will require skilled labor, long time & high costs.
- Simultaneously testing on different machines with different OS platform combination is not possible in manual testing. To execute such tasks, separate testers are required.
- Manual testing requires less cost than automating it.
Following are the testing techniques that are performed manually during the test life cycle:
- Unit Testing
- White Box Testing
- Black Box Testing
- Integration Testing
- System Testing
- Acceptance Testing
Tools to Automate Manual Testing
- Test link
Software Testing Hierarchy
The following is a list of software testing categories . These are the steps taken to fully test a new software:
Unit testing – Testing performed on each module or block of code during development. Unit testing is normally done by the programmer who writes the code. Read more on Unit Testing and it’s Techniques
Integration testing – Testing done before, during and after integration of a new module to the main software package. This involves testing of each individual code module. One piece of software can contain several modules which are often created by several different programmers.
System testing – Testing the completed software product before it is introduced to the market is system testing.
Acceptance testing – It is the Beta testing of the product done by the actual end users.