In this tutorial, we will go through all the aspects that are knitted along with Manual Testing. Any software that is developed has to be tested before it goes for actual usage. This process of testing a newly developed software provides the necessary confidence. In this article, we will discuss in detail about the same.
Want to Become a Certified Tester? Visit here Manual Testing Training
What is Manual Testing?
Manual Testing can be defined as that method of Testing a software product by running written test cases manually without the usage of automated test tools. All these test cases would meet the end user’s scenarios when run manually. This helps understand and evaluate whether all the scenarios work as per the requirements laid out by the actual business users.
By this way of testing the application manually, the testers can easily identify the difference between the observed output vs the expected output. Any such differences can be logged as defects. Once these defects are fixed, the tester retests the test cases that have failed in the previous run to conclude the 100% Test coverage.
Types of Manual Testing:
Following are the various ways or means of performing the Manual Testing as such. Each of these testing methodologies differs by the test criterion that are set. Let us know check each of these in some detail.
Black Box Testing:
Black Box Testing treats the whole software as an entity without the consideration of its implementation, technologies used etc. and does check for just the inputs and outputs. Anything that is identified as a gap will be logged as a defect based on this test methodology.
White Box Testing:
White Box Testing is also called as Structural Testing or Clear Box Testing. Against Black Box Testing, this testing methodology takes into consideration the inner workings of the application. The inputs and outputs are cross verified for each of these functions.
Subscribe to our youtube channel to get new updates..!
Unit Testing involves testing the application’s individual unit as is. The first and foremost intention of performing unit testing is to evaluate and validate each unit component. This is the very first level of testing that is done on the software.
System Testing involves the testing of the fully integrated software system. All the necessary components that make this system are put together to form the system that needs to be tested.
Integration testing forms the second most important level of testing that comes next to the Acceptance testing that we will discuss in the next section. The main focus of this level of testing is to identify gaps and defects in the interactions between integrated components or units.
Acceptance testing is performed on the application software as a whole to check whether it meets all the business requirements and user requirements. It is performed just like Black Box testing with the intended number of users to see whether all the requirements are met.
How to perform Manual Testing?
- Manual testing is performed in the following manner, which is not a hard and fast rule but the test cycle follows most of the steps mentioned below:
- Testers go through all the required business requirement documents, user requirement documents to frame their test cases.
- These test cases are segregated into test runs, so that the execution of test cases is done in a smooth manner.
- Necessary test environments are prepared based on the test runs that are planned.
- Based on the test runs planned, testers test these test cases using the Black Box testing methodology and White Box testing methodology.
- Any gaps that are identified between the observed and the expected outputs are logged as defects to the development team(s).
- Test runs are evaluated for % completion, based on the number of defects identified further test runs are planned.
- Development team(s) fixes these defects and hands over the software to the testers.
- Testers re-run their test cases that have failed earlier to confirm whether the test execution has completed 100% or not.
- This cycle repeats the number of times based on the confidence that the team wants with the frequency of code fixes that are brought into the product.
Tools used for Manual Testing:
Following are the tools that could be used in testing an application software. Some of these tools mimic the manual testing that is done by the testers in the exact form, but the only difference is that the whole process is automated. Though the tools can not be limited to just one for a project, it is always better to get to know the tool as such.
We will be keeping the details to a bare minimum to give the readers some context of each and every tool that we discuss.
Selenium is an open source automated test framework that helps individuals validate Web applications across different sets of browsers and platforms. The automated test scripts can be written in many programming languages like Java, C#, Python etc.
Related Blog: [Types of Software Testing]
QTP (QuickTest Professional) is an automated testing tool that helps testing the applications by running the automated test cases. It is an icon based tool that helps run regression tests and functional tests on an application.
JMeter is an open source tool that helps in performing the performance based tests on almost any kind of application, be it a Web application or a FTP application or a database application. It helps in both the load based testing and also helps in performing functional testing of the application as well.
LoadRunner is the only tool that helps Performance testing of an application on various communication protocols and on various technologies. LoadRunner is tightly integrated with other HP tools like QTP (Unified Functional Test) & ALM (Application Lifecycle Management) which enables testers to do end to end testing of an application.
Advantages and Disadvantages of Manual Testing:
Here we will attempt to showcase all the advantages and disadvantages of Manual Testing in all. One point to remember here is that not every project’s requirements are the same and not every project can be tested in an automated manner, end to end. Though the opportunities for automated testing are fulfilled, that doesn’t curtail the need of Manual Testing. With this context, let us go through the advantages and disadvantages of Manual Testing.
|There is no need for any prior programming skills while using the Black Box method of testing.||Requires a lot of human resources, or in other words, proportionate to project’s size|
|Best used to test dynamic GUIs.||This process can be time consuming, and also depends on how big is the project|
|The tester gets an opportunity to test the software as an end user himself, to evaluate the usability and user interfaces.||Test cases are developed based on the tester’s prior skills and experience. This can sum up to an uncertainty that not all functions are tested thoroughly.|
|This is a cost effective process as there are no licenses or purchase costs involved.||Re-use of the existing test cases wouldn’t be possible for a brand new software as is, these need to be modified or re-written again.|
|This is very easy for most of the new entrants as the expectation to get this role is very minimal.||The typical QA mindset may hamper the confidence on the project as the intentions of testing might not be towards the betterment of the project.|
In this article, we have explained in detail all the topics that pertain to Manual Testing. Though the effort that goes in here is all manual in the age of automation, this is very important. End of the day, Manual Testing needs lots of patience and creative thinking as these activities are to be performed with an end-user’s mindset.