Manual Testing
Fundamentals
Introduction to Manual Testing
Welcome to the Manual Testing Fundamentals Course
What is Manual Testing?
Manual testing is a software testing approach
where testers manually execute test cases
without the use of automation tools or scripts. It
involves human intervention to perform various
testing activities, such as test case design, test
execution, and defect reporting.
In manual testing:
testers simulate end-user behavior and interact
with the software application to identify defects,
ensure its functionality, and validate its
conformance to specifications. They follow
predefined test scenarios and test cases to verify
different aspects of the software, including its
functionality, usability, performance, and
compatibility.
The process of manual testing typically
involves the following steps:
1) Test Planning
2) Test Case Design
3) Test Environment Setup
4) Test Execution
5) Defect Reporting
6) Test Closure
Manual testing offers several advantages
Early detection of usability issues: Testers can identify
user interface-related problems, such as layout issues,
navigation problems, or unclear instructions.
Ad hoc testing: Testers can perform exploratory testing,
where they explore the software application in an
informal manner to uncover defects that might not be
covered by predefined test cases.
Flexibility: Manual testing allows testers to adapt quickly
to changes in requirements and explore different
scenarios based on their experience and intuition.
manual testing has some limitations
Time-consuming: Manual testing can be time-consuming,
especially when executing repetitive test cases.
Human error: Testers may introduce human errors during
test case execution, such as overlooking certain
conditions or making mistakes in data entry.
Limited scalability: Manual testing becomes challenging
when dealing with large and complex software
applications, as it requires significant effort and resources
to cover all possible test scenarios.
Roles and Responsibilities of a
Manual Tester
Manual Tester's Role in the Software Development Life Cycle
(SDLC)
Key Responsibilities of a Manual Tester
Understanding requirements and
specifications
Creating test cases and test scripts
Executing test cases and reporting defects
Collaborating with the development team
Software Development Life
Cycle (SDLC) Overview
Phases of the SDLC
Requirements gathering and analysis
Design and architecture
Development and coding
Testing and quality assurance
Deployment and maintenance
Importance of Testing in the SDLC
Identifying defects early
Ensuring software quality
Enhancing user experience
Validating requirements and specifications
Specifications
Mitigating risks
Enhancing maintainability and scalability
Building customer confidence
Compliance and regulatory requirements
Testing Methodologies and Techniques
Popular Testing Methodologies
Waterfall
Agile (Scrum, Kanban)
DevOps
Testing Techniques
Black-box testing
White-box testing
Gray-box testing
Exploratory testing
Recap and Key Takeaways
Manual testing involves human involvement in test case execution.
Advantages include early usability detection and flexibility.
Disadvantages include time-consuming nature and limited scalability.
The manual tester's role includes understanding requirements, creating test
cases, and collaborating with the development team.
Testing methodologies include waterfall, agile, and DevOps.
Testing techniques include black-box, white-box, gray-box, and exploratory
testing.
Skills That Manual
Testing Projects Help
You Practice
Manual testing projects offer testers valuable
knowledge and skills that improve their expertise in
software testing.
1. Defect Identification and Reporting
Manual testing projects need testers to discover defects
or problems during testing and report them correctly.
Testers get to develop skills in finding detailed defect
information, offering steps to recreate issues, and
documenting supporting evidence to assist developers in
comprehending and addressing the issues.
2. Domain and Application Understanding
Manual testing projects expose you to varying applications
and domains. Testers get insights into the business
processes, user workflows, and functionalities linked to
specific domains. This knowledge allows them to execute
targeted testing and discover domain-specific challenges
and risks.
3. Collaboration and Communication
Manual testing projects generally provide collaboration
with developers, stakeholders, and project teams. Testers
develop substantial communication skills to effectively
discuss testing needs, offer feedback, and report issues.
They learn to work in teams, contribute to project
discussions, and participate in meetings.
4. Test Documentation and Reporting
Testers learn how to document testing activities, including
test reports, cases, and plans. They learn skills in creating
well-structured, concise, and precise documentation that
communicates test results, recommendations, and
findings to project stakeholders.
5. Quality Assurance Best Practices
With manual testing projects, testers get to familiarise
themselves with industry-standard testing methodologies,
practices, and quality assurance frameworks. They get
insights into quality control techniques, risk assessment,
and test management, allowing them to contribute to
software quality improvement.
6. Analytical and Problem-Solving Skills
Manual testing projects need testers to evaluate
complicated scenarios, discover possible risks, and create
effective testing strategies. This way, they develop
problem-solving and critical thinking skills to understand
root causes, troubleshoot problems, and develop solutions
for enhancing software quality.