Unit 5
Testing Tools and Measurements
WHAT IS MANUAL TESTING?
Manual testing is a testing process that is carried out manually in order to find
defects without the usage of tools or automation [Link] testing is the
process of manually executing test cases without the use of automation tools to
identify defects in software.
A test plan document is prepared that acts as a guide to the testing process in order
to have the complete test coverage.
Key Aspects:
1. Testers manually interact with the application.
2. Test cases are executed to check functionality against requirements.
3. Bugs are reported based on deviations from expected outcomes.
• Types of Testing Performed Manually:
1. Functional Testing:
Ensures that the functions of the software work as specified.
[Link] Testing:
Checks the user-friendliness of the software.
[Link] Testing:
The tester explores the software without predefined test cases to find defects.
[Link] Testing:
Rechecks the software after changes or bug fixes to ensure new defects haven’t
been introduced.
• Advantages of Manual Testing:
1. Allows for human intuition and creativity, which can help uncover subtle
issues.
[Link] suited for ad-hoc testing, exploratory testing, and tests that are hard
to automate.
[Link]-consuming.
• Disadvantages of Manual Testing:
- Time-consuming and prone to human error.
- Less efficient for large-scale or repetitive testing compared to automated
testing.
Manual testing is usually performed before automation testing to catch initial
issues and ensure the application is stable enough for automation.
How to Perform Manual Testing?
[Link]
Analysis
[Link] Fix
[Link] Plan
ReVerification
Manu creation
al
testin
[Link] g
Logging [Link] Case
creation
[Link] Case
execution
How to Perform Manual Testing?
[Link] Analysis:
Study the project specifications and functional requirements provided.
2. Test plan creation:
Develop a detailed plan to guide the testing process
[Link] case creation:
write specific steps(test cases)to test each features
[Link] case Execution:
Perform the test cases on the application
[Link] Logging:
Document any bugs or defects found during execution
[Link] Fix ReVerification:
Retest the fixed defects to ensure they are resolved.
• Limitations of Manual Testing
1. Time-Consuming:
- Executing test cases manually takes longer, especially for complex systems.
2. Human Errors:
- Manual testing is prone to mistakes, leading to inaccurate results or missed bugs.
4. Limited Test Coverage:
- Testers may not cover all possible scenarios due to time and resource
limitations.
[Link] Reusability:
- Test scripts cannot be reused; each test must be performed from the start.
WHAT IS AUTOMATION TESTING?
Automation testing uses software tools to execute test cases automatically, reducing
manual effort.
Automation testing is a technique uses an application to implement entire life cycle of
the software in less time and provides efficiency and effectiveness to the testing software.
The main goal of Automation testing is to increase the test efficiency and develop
software value.
The objective of automated testing is to simplify as much of the testing effort as possible
with a minimum set of scripts.
Test automation is the use of special software to control the execution of tests and the
comparison of actual outcomes with predicted outcomes. The objective of automated
testing is to simplify as much of the testing effort as possible with a minimum set of
script.
There are two types of test automation tools:
• Static Automation Tools
• Dynamic Automation Tools
Types of Test automation tools:
Static Automation Tools:
Static automation tools are used to check software code and documents without running
the program. They help find mistakes and ensure that coding rules are followed early in
the development process.
These tools are used throughout a software development lifecycle. There are many
varieties of static testing tools used by the different people as per the type of testing and
it does not involve actual input and output rather they take a symbolic approach to
testing.
They do not test the actual expectations of the software instead, they analyze the code
or documentation based on its structure and rules. This symbolic approach means they
evaluate the code's logic and potential execution paths without executing it, helping to
identify issues like bugs, vulnerabilities, and compliance with coding standards.
E.g. SonarQube, ESLint, PMD etc.
Dynamic Automation Tools:
These tools test the software system with live data. They are used at different
levels of testing starting from unit testing and performance testing . These tools
are generally used by the tester.
Dynamic testing tools are used to check how software works by actually running
the code with real inputs. Unlike static testing, which looks at the code without
executing it, dynamic testing tests the application in real-time to find issues like
errors and performance problems. These tools provide instant feedback on how
the software behaves, helping ensure it meets user needs.
Using dynamic testing tools helps catch bugs early and validates that the
software works as intended, making them essential for delivering high-quality
software.
E.g. Selenium, Jmeter etc.
• Benefits Of Automation Testing
Reduces time of testing
Improve the bugs finding
Deliver the quality product
Allow to run tests many time with different data
Getting more time for test planning
Save resources or requires less
Automation never tires, and expert person can work at a time many
tools.
Difference between Static and Dynamic Automation Testing Tools
THANK YOU