Last updated on Nov 20, 2023
Manual testing is one of the popular types of testing tools, where test cases are executed manually without the use of any automation tools. The main purpose of performing the testing process is to detect any errors, bugs, or issues related to software. This type of testing requires a software tester to act as an end-user and they make use of the major application features to detect the behavior of the end product.
Manual testing is a fundamental testing process where software tester can detect visibly as well as hidden errors. If you come up with any type of error, the developer helps to fix the defects and handed it to the software tester to retest the application. This manual testing is compulsory for every newly developed software application before performing automated testing. This type of testing requires a lot of time to perform and to produce a bug-free or error-free application without using any automated features.
Below are a few reasons which will explain why we need manual testing;
1. We owe it to our users and ourselves to deliver the best application we can
2. There are lots of different devices, browsers, and operating systems out there in the market. All you need is a bug-free or error-free software product.
3. There is always a chance that a user really will do that and no matter how silly it seems.
4. Sometimes that works when one person is using it may not work when hundreds of people are using it.
5. To ensure that we create does what it is supposed to be.
Following are a few advantages of using manual testing;
1. This type of testing is preferably for products with a short life cycle.
2. It is preferably for the software products that have GUI that change constantly.
3. Automation cannot replace human intuition, inference, and inductive reasoning.
4. It requires less time and expense to begin productive manual testing.
5. Manual testing can’t change course in the middle of a test run to examine something that had not been previously considered.
6. Cost-effective in a short period, more flexible, and better simulation of the user’s actions.
7. The more time the software tester spends testing a module and greater the chance to find real bugs.
There are 6 types of testing techniques used in the manual testing process:
1. Acceptance testing
2. White box testing
3. Black box testing
4. Unit testing
5. System testing
6. Integration testing.
Let me explain them one by one;
Acceptance testing is a type of testing that an application behaves as expected. In the web application world, this usually means simulating a real user interacting with a web application via a browser. Acceptance testing is used to determine whether the system is working properly or not. Acceptance testing indicates the customer’s interest. Acceptance testing helps in building the customer confidence that the application has the required features and that they behave correctly.
Steps of Acceptance testing:
White box testing is the process of carefully and methodically reviews the software design, architecture, or code for bugs without executing it. Sometimes this is known as structural analysis. White box testing helps to access the codes and execute it. The main purpose of using white box testing is to find out the bugs early and to find the bug that would be difficult to uncover and isolate with the help of the white-box testing process.
Steps involved in White box testing:
Black box testing is a software testing method that is used to test the software without knowing the internal structure of the source code or program. This type of testing is performed by software testers. Black box testing doesn’t require any type of implementation knowledge and programming knowledge. This testing is applicable for high-level testing types such as system testing and acceptance testing.
Steps to perform black-box testing:
The unit test is a type of software testing technique available in the form of a piece of code. This type of testing technique is used to test the behavior of a function or class. Unit testing is usually written by developers. The main aim of using unit testing is to determine whether they are fit for use or not.
Steps involved in unit testing:
System testing is conducted on a complete, integrated system (this includes both software and hardware) to evaluate the system’s compliance with the specified requirements. System testing falls within the scope of black-box testing. This requires no knowledge of the inner design of the code or logic.
Steps involved in System testing:
The purpose of performing integration testing is to check that module combines correctly to achieve a product that satisfies the requirements. Once you finish the integration testing, then you can perform system testing. The functionality of the product as a whole (performance, security, robustness, maintainability, and safety) is checked against the specifications.
Steps involved in Integration testing:
Here I am going to explain how to perform the manual testing process step by step;
1. Firstly software tester should read and understand the project documentation or guidelines. You also need to study the AUT or application under testing if it’s available.
2. Next you need to draft the test cases that will cover all the requirements mentioned in the software documentation.
3. After this, you to review the test case and baseline any process with the team lead, or client (if applicable).
4. Now it’s time to execute the test cases on AUT.
5. Report the bugs or errors
6. Once you have fixed the bugs, and again you need to execute the already failed test cases to verify the perfection.
SDLC is an important structure and we can also say that this acts as a Blueprint. This SDLC is a process that gives full details on software development. SDLC mainly consists of 6 phases and each phase has its own set of activities. Let’s have a look at the below diagram,
I can say that this is the crucial phase for any software developer and as well as for the project manager. During this phase, the following are the important activities that will be done here. Such as;
This phase also explains how these products will be used and who will use these products to perform loads of operations.
This is a significant phase, and it includes a detailed analysis process for new software developments. The designing phase is also considered a high priority stage in any software development life cycle.
In this designing phase, the developer can make use of several tools such as, data flow diagrams, decision tables, data dictionaries, decision trees, and flow charts.
Once you finish the requirement and designing phase, this is the next step where you have to perform the implementation process in the development of a software system. In this stage mainly developing team divides into small units and also coding will start with the development teams. Here the front-end developers develop an easy and attractive graphical user interface designed to interact with back-end operations.
Testing is the last step of the software development life cycle to complete a software system. Once you are done with the developed Graphical user interface and back-end operations then it comes to the testing stage. The testing stage defines whether the software is giving the correct result as per the given requirement. As I have already explained they are numerous types of software testing techniques available in the market. Namely unit testing, integration testing, acceptance testing, system testing, and non-functional testing can also be performed in this phase.
When you get the software which is in a good working condition and testing is done with the satisfying results. It means that no remaining issues and it’s ready to deliver to the customer for their use. As soon as customers receive the end product they first go with the beta testing process and check whether it needs any kind of change.
This is the last and long-lasting process and this process continues until the software life cycle comes to an end. When the customers start using the software, then actual problems may start to occur, and by that time you need to solve the problems. In this phase, you can also make changes in the hardware as well as software to improve its performance, operation effectiveness, and enhances security features.
Testing documentation is a documentation of any artifacts which are used before or during the testing of a software development application. This documentation is also considered good for customers, individuals, and organizations. Careful documentation can save the time, wealth of the organization, and also save time.
Types of test document:
In the software testing phase, we will get various options to test documents, they are;
Now let me explain the test documentation process step by step;
This is a type of testing document which specifies the combination of testing the software application or multiple ways. The test scenarios are prepared to understand the application flow. A test scenario does not consist of any data inputs or navigation steps.
A test case is nothing but this describes the step-by-step procedure to test any software application. This Test case consists of navigation steps, inputs, and all the test case scenarios used to test an application. The test case is used to maintain consistency and even helps the developer to organize the test document.
This is a type of document prepared by test leads or managers. It included all the information related to testing activities. The test plan consists of several components such as scope, test environment, approach, testing methodology, roles and responsibility, entry and exit criteria, tools, time schedule details, defect tracking, assumption, risk, and contingency plan.
The RTM or requirement traceability matrix is a document type that is used to cover all the required test cases. This type of document is created before executing the test process.
Test strategy is a high-level test case document which is mainly used for verification purpose where the entire test levels to be executed for the software product. This type of high-level document should be approved by the project manager. It consists of multiple components such as documentation formats, test processes, customer communication, and strategy.
Test data is a type of data this happened before the test case is executed. This is mainly used for implementing the test cases. Usually, test data is available in the Excel sheet format and used manually to perform the test case operation. The test data is used to check the expected result, and check whether the expected outcome will meet the actual test result.
The bug report is a test document used to maintain the summary of all the bugs or errors which occurred during the testing process. This is considered to be a crucial document for both the testing engineers and developers. With the help of the bug reports, they can easily track the defects, change the status of bug reports, report any type of bugs, and successfully fix them.
This is also the type of document prepared by the test leads once the entire testing execution process is finished. The test execution report gives information about the consistency of the product, the number of test cases written, executed successfully, and their result (pass or fail). All information will be written in spreadsheet format.
The below are the few major points which will explain why documentation plays a vital role;
Below are the major benefits of using test documents they are;
There are several techniques used for the testing process. In this section, we are focusing only on three important and mostly used techniques. They are;
Let me explain these techniques one by one;
Error guessing technique is a type of testing technique where no specific methods are needed for identifying the errors. This can be done on the basis of the test analyst experience, where the software tester uses the experience to find out the problematic areas of the software application. This is also known as the black box testing technique which doesn’t contain any specific structure to find the errors or bugs.
The following actions are involved in the Error guessing technique:
The equivalence portioning technique is a type of testing technique where input values can be portioned into valid and invalid data. The mandatory condition is that all these data values should exhibit the same behavior. For example, if the condition of one partition is true another equal partition should also be true. If the condition of one partition is false then another equal partition should also be false. The main principle of the Equivalence partitioning technique is that test cases should be designed to cover each partition at least once during the time of the test process.
Boundary value analysis is a type of testing technique and widely used in case of design technique for black-box technique. This is mainly used to test the boundary values this is done because input values near the boundary analysis have a greater chance of having errors. Boundary values are those which contain the upper and lower limit of the data values. For example, age is a variable of any function, the minimum value is 18 and the maximum value is 30. Here both 18 and 30 will be considered as boundary values.
Now it’s time to know the major differences between manual and automation testing:
This Manual testing tutorial article may be helpful for those who are looking to begin their career as a software test engineer. The manual testing profession is suitable for anyone as it does not require any programming knowledge but having knowledge related to the product is mandatory. There are lots of job openings for software testers across the world. So it’s always good to get training from any renowned institution, for more details regarding the manual test course please visit our website. We have designed this course under the guidance of the SME team, and we will work on many real-time industry-driven projects. This will be an added advantage for those who take a course from us.
As a senior technical content writer for HRK tainings, srivalli patchava has a greater understanding of today's data-driven environment, which includes key aspects of data management and IT organizations. She manages the task of creating great content in the areas of software testing, DevOps, Robotic process automation. Connects with her on Linkedin and Twitter.
|Batch starts on 8th Dec 2023||
|Batch starts on 12th Dec 2023||
|Batch starts on 16th Dec 2023||