Software testing is the process of inspecting software to test its quality, functionality, and usability. Software testing is the practice of executing logical tests on software programs to identify defects and document how users are intended to interact with the program. These defects are called “bugs” because they are often small, sneaky things that disrupt user experience.
Testing is not only about finding bugs but also giving confidence that you have a good product before launching it in production. A lot of people think of software testing as something you do at the end once all features have been implemented. In fact, iterations of testing can take place at any stage in development; even before coding begins. Testing can be done for almost every piece of code that goes into an application or website. The earlier these tests are performed, the cheaper it will be to correct the issues found and implement new procedures that avoid those bugs in future releases.
Software Testing is a way to assess the software’s quality and reduce the risk of software failure in operation. If the software does not work correctly such software is called faulty software. Testing is done to reduce the risk and find defects.
There are two types of software testing,
It means testing of an application manually (by humans) to find defects. Test Cases are executed manually without scripts and automation tools in manual testing. The tester verifies the actual behaviour of the software product with the expected behaviour, if any difference is found it is reported as a bug.
Types of Manual Testing
Black Box Testing
White Box Testing
Grey Box Testing
Manual Testing Procedures
Understanding the requirements
Write the test cases
Conduct the tests
Write Good bug reports
Report the results
Tools used for Manual Testing
Adaptability to change
Time Consuming Process
High Possibility of errors
The tester verifies the actual behaviour of the software with the expected behaviour using automation tools and scripts.
Types of Automation Testing Functional Testing
The automation testing contains the following procedures
Test Tool selection
Define the scope of automation
Planning, design and development
Tools to Automate Testing
Increase speed of test execution
Improves accuracy of software test
Minimizing human interaction with testing
Saves time and money
Improves reliability of test
Starting cost of Automation is very high
Automation is never 100%
Difference between Manual Testing and Automation Testing
Done using automation tools and scripts
Time-consuming, taking up human resources
Significantly faster than manual testing because it is executed by software tools.