What is manual testing?
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.
Why we need manual testing?
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.
Advantages of using manual testing:
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.
Types of manual testing:
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;
1. Acceptance testing:
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:
- Requirements details
- Designing the test cases
- Recognizing the test cases and test scenarios
- Executing the test cases and reporting results
- Bug fixing and planning for the launch.
2. White box 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:
- Gain insight into application codes
- Gaining an understanding of languages and tools used in the development
- Test cases for each path, branch, and statements.
- Test execution process
- Test result generation.
3. Black 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:
- Create the test plans
- Perform external interface testing
- Perform load testing
- Perform stress testing
- Perform security reviews
- Performing globalization techniques.
4. Unit 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:
- Create a test scenario.
- Create test cases and test data.
- If applicable create the test scripts to run the test cases.
- Once the code is ready execute the test cases.
- Fix the bugs if any and re-test the code.
- Repeat the test cycle until the unit is free from any type of bugs.
5. System 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:
- Set up the testing environment
- Generate the test cases
- Generate the testing data
- Execute the test cases
- Retest the data
- Find out the log defects
- Perform regression testing
- Defect reporting analysis.
6. Integration 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:
- Developers check the source code
- The tool will pick the codes and initiates build, run test cases if required.
- The build output will be available in the dashboard and send an automatic alert to the developer.
Manual Testing Training Certification
- Master Your Craft
- Lifetime LMS & Faculty Access
- 24/7 online expert support
- Real-world & Project Based Learning
How to perform manual 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.
What do you know about the testing phase in the software development life cycle?
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,
1. Requirement phase:
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;
- Specifications
- Client state requirement
- Expectations
- any other product specifications.
This phase also explains how these products will be used and who will use these products to perform loads of operations.
2. Designing phase:
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.
3. Build or Development Phase:
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.
4. Testing Phase:
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.
5. Deployment or Deliver 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.
6. Maintenance:
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.
Subscribe to our YouTube channel to get new updates..!
Test case development:
Testing documentation:
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;
- Test scenarios
- Test case
- Requirement traceability matrix (RTM)
- Test plan
- Test data
- Test strategy
- Bug Report
- Test execution report
Now let me explain the test documentation process step by step;
1. Test scenarios:
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.
2. Test case:
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.
3. Test plan:
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.
4. Requirement Traceability Matrix (RTM):
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.
5. Test strategy:
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.
6. Test data:
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.
7. Bug report:
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.
8. Test execution report:
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.
Why documentation is needed:
The below are the few major points which will explain why documentation plays a vital role;
- To check whether the given software is working correctly or not this is developed by someone else.
- Test documentation is also used to find the errors or type of bugs that occurred during the implementing software application.
- With the help of the test document team can easily find out the cause of the error by examining it.
- If the test documents are not available, then the tester needs to perform black-box testing and white box testing again. This led to many problems like a waste of money, and the time of the team.
- More importantly lack of documentation generally becomes a problem for acceptance.
Benefits of using test documentation:
Below are the major benefits of using test documents they are;
- This test documentation will ensure the quality of methods and objectives.
- Also used to maintain the internal condition of the software application which is used by the customer.
- This gives clarity about the stability of performance and tasks.
- It offers feedback on preventive tasks.
- It is also used to provide feedback for any planning cycle.
- It creates a piece of evidence for the performance and quality of the software management system.
- If we write any test document, it’s not possible to forget the values which we put in the first phase of the testing process.
- This is also considered a time-saving process in any testing stage.
- It enables you to maintain the consistency of a product and you can also test on the same given value.
Testing techniques:
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;
- Error guessing technique
- Equivalence partitioning
- Boundary value analysis [BVA].
Let me explain these techniques one by one;
1. Error guessing technique:
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:
- First add the blank space into the text fields.
- check for any null pointer exception.
- Now you need to enter the invalid parameters.
- These parameters should be divided by zero.
- Always try to upload maximum limits of file size.
- Now check for the buttons without entering any value.
2. Equivalence partitioning 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.
3. Boundary value analysis:
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:
Automation testing:
- Automation testing method is used to change any manual test cases into scripts with the help of automation tools, where scripting of test cases and programming is called automation.
- Automation testing is mainly used to increase the efficiency, effectiveness of any product, and coverage of software testing.
- Automation test engineer uses this method to automate the manual design of test cases without using any human interface.
- These types of testing techniques are used to control the execution of test cases, access the test data values, and compare the actual results against the expected results.
- This automation testing is reliable as it tests the application with the help of test tools and scripts.
- The script can be reused across multiple software releases and batch execution is possible with the help of automation testing because all the written test scripts can be executed partially or simultaneously.
Manual testing:
- Manual testing is a testing method where the test engineer can test the application without any programming language knowledge. Non-programmer can also perform Manual testing process.
- In manual testing, the tester tests software applications like an end-user to ensure that the available software application is bug-free or consistent.
- Manual tester always searches for the errors, bugs, or tickets in the software product before it released in the market, and in many cases, it yet delivered still has defects.
- It is not reliable because there is a possibility of human bugs, and this may not deliver a bug-free application.
- Reusability of test scripts could be possible when the test case needs to run once or twice.
- Batch execution is not possible and performance testing is not done in manual testing.
- It is time consuming because of the usage of human resources and also human resources need high level investments.
- In the manual testing method, the tester executes the test cases for the first time; this may be useful in some cases. But in most of the cases, it will not catch the regression errors due to changes in requirements frequently.
Conclusion :
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.
About Author
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.
Upcoming Manual Testing Training Certification Online classes
Batch starts on 25th Nov 2024 |
|
||
Batch starts on 29th Nov 2024 |
|
||
Batch starts on 3rd Dec 2024 |
|