0% found this document useful (0 votes)
3 views

Manual Testing Tutorial - 9 to 10

Uploaded by

kriszpm
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Manual Testing Tutorial - 9 to 10

Uploaded by

kriszpm
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Manual Testing Tutorial

Chapter 9: Agile and Manual Testing

9.1 Introduction to Agile and Manual Testing

Agile methodology emphasizes flexibility, collaboration, and frequent delivery of small increments of software. In Agile,
manual testing is still essential, even in environments where automation is used, due to its ability to handle exploratory
testing, usability testing, and testing new features or functionalities in real-time.

While Agile practices focus on continuous iteration and improvement, manual testers ensure that user requirements
are met through comprehensive testing of each feature as it’s developed, ensuring high-quality deliverables at the end
of each sprint.

9.2 Manual Testing in Agile

Manual testing in Agile involves testing the software manually after each sprint. Unlike traditional Waterfall
methodologies, where testing is done at the end of the project, Agile testing is integrated into the iterative process and
begins as soon as the first set of features is ready for testing.

Key Points:

 Frequent Releases: Testers perform manual testing on new features delivered in each sprint.

 Continuous Feedback: Feedback from testers is used to refine and improve the product, ensuring early
detection of issues.

 Collaboration: Testers work closely with developers and business stakeholders to ensure that the product
meets the acceptance criteria.

Common Manual Testing Tasks in Agile:

 Test Case Design: Writing test cases to validate features developed in each sprint.

 Exploratory Testing: Testing the product with an exploratory approach to find unexpected issues.

 Regression Testing: Ensuring that new code does not break existing functionality.

 UAT (User Acceptance Testing): Verifying that the product meets business requirements.

9.3 Role of a Tester in Agile Teams

In an Agile environment, the role of a manual tester extends beyond just writing and executing test cases. Testers in
Agile teams are expected to contribute to the development process, provide feedback during sprints, and collaborate
across various stages of development.

Responsibilities of a Tester in Agile:

 Active Participation in Sprint Planning: Testers participate in sprint planning sessions to understand the scope
and requirements for the upcoming sprint.

 Test Case Design and Execution: Writing, reviewing, and executing test cases during the sprint to validate new
features.
 Collaborating with Developers: Providing feedback on new features and working with developers to reproduce
and fix defects.

 Continuous Integration: Participating in continuous integration (CI) and continuous testing (CT) processes.

 Test Automation (Optional but Often Involved): In some Agile environments, testers may help create
automated tests or use automation tools for repetitive tasks while continuing to conduct manual testing for
complex scenarios.

Agile Tester's Key Skills:

 Strong communication skills for collaboration.

 Flexibility to adjust testing efforts based on changing requirements.

 A deep understanding of both the business and technical aspects of the product.

 Quick adaptability to new tools and techniques.

9.4 Sprint Planning and Manual Testing

In Agile, sprint planning is a collaborative session where the team discusses the features to be developed in the
upcoming sprint, sets priorities, and estimates the time required to complete the tasks.

Manual Testing During Sprint Planning:

 Understanding Requirements: Testers need to understand the user stories or requirements associated with
the sprint. This ensures that testing efforts are aligned with business goals.

 Test Case Planning: Testers can identify potential test scenarios, create test data, and design test cases based
on the acceptance criteria of the user stories.

 Effort Estimation: Testers collaborate with developers to estimate the testing effort required, ensuring that the
test cases can be executed within the sprint's timeframe.

Key Considerations:

 Test-First Approach: In some Agile methodologies like Test-Driven Development (TDD), test cases are written
before the development of features, and manual testers are often involved in reviewing these test cases.

 Test Cases and Acceptance Criteria: Testers ensure that all acceptance criteria are covered by the test cases
and that the software meets business requirements.

9.5 Real-Time Example: Manual Testing for a Ride-Sharing Application

Context: Suppose we are testing a ride-sharing application in an Agile environment. The development team is working
on a new feature: “Ride Cancellation.”

 User Story: "As a user, I want to cancel a ride request before the driver accepts it."

 Acceptance Criteria:

o The user can cancel the ride request from the app.

o The driver gets a notification of the cancellation.

o The user should see a message confirming the cancellation.

Sprint Planning:
 Testers review the user story, understand the business requirements, and plan for testing the ride cancellation
feature.

 Test cases are created based on the acceptance criteria:

o Test Case 1: Verify that the user can cancel the ride request.

o Test Case 2: Verify that the driver gets a cancellation notification.

o Test Case 3: Verify that the cancellation message is displayed to the user.

Manual Testing:

 Test Execution: During the sprint, testers execute these test cases on the newly developed feature. Any issues
are logged and communicated back to the development team for resolution.

 Exploratory Testing: Testers also perform exploratory testing to identify any edge cases related to ride
cancellation, such as attempting to cancel a ride after a driver has accepted it.

 Regression Testing: Manual testers run regression tests to ensure that the new feature doesn't break any
existing functionality (like ride booking or payment).

Collaboration:

 Testers work closely with developers, providing feedback on the functionality during the sprint.

 The team holds daily stand-ups to track testing progress and any roadblocks that may arise.

End of Sprint:

 At the end of the sprint, the feature is considered "done" if all tests have passed, defects are resolved, and it
meets the acceptance criteria.

Chapter 10: Challenges in Manual Testing

10.1 Common Challenges in Manual Testing

Manual testing, while effective in many scenarios, comes with its own set of challenges. Some of the most common
challenges faced by manual testers include:

1. Time Constraints:

o Testing can be time-consuming, especially when the product has complex features or large volumes of
functionality to verify. Manual testing may not always be able to keep up with tight release schedules.

2. Repetitive Nature of Testing:

o Many test cases, particularly for regression testing, involve repetitive tasks that testers need to execute
multiple times. This can lead to tester fatigue and reduce efficiency.

3. Limited Test Coverage:

o Due to time or resource constraints, testers may not be able to cover every single scenario. This can
lead to missing critical defects, especially in large applications.

4. Human Error:
o Manual testing is prone to human error. Testers may overlook test cases or fail to execute tests
accurately, leading to missed defects.

5. Difficulty in Handling Large Data Sets:

o Testing with large volumes of data can be challenging when done manually. Testers may struggle to
handle extensive data or complex data manipulations.

6. Lack of Objectivity:

o Testers can sometimes become biased due to familiarity with the application, which might result in
missing issues that a fresh perspective would catch.

7. Inability to Reproduce Defects Consistently:

o Manual testing often struggles with reproducing defects consistently, especially intermittent issues or
those occurring in specific environments.

10.2 Strategies to Overcome Challenges

Here are several strategies to help manual testers overcome common challenges:

1. Effective Test Planning and Prioritization:

o Proper planning ensures that the most critical test cases are prioritized. Testers should focus on high-
risk areas first and consider automating lower-priority tests.

2. Test Case Design Improvements:

o Use techniques like Boundary Value Analysis and Equivalence Partitioning to design test cases that
cover a wide range of scenarios while reducing redundant tests.

3. Test Automation (for Repetitive Tests):

o For repetitive tests, especially regression tests, automation can save time and reduce errors. Testers
should focus on automating test cases that need to be executed frequently.

4. Collaboration and Communication:

o Close collaboration with developers and other team members helps ensure that requirements are
understood and defects are addressed promptly.

o Regular feedback loops in Agile teams can help catch issues early in the sprint.

5. Use of Testing Tools:

o Tools like bug trackers, test management systems, and performance testing tools can streamline the
process and help testers manage their efforts more effectively.

6. Exploratory Testing:

o Testers should regularly engage in exploratory testing to uncover issues that are difficult to capture in
predefined test cases. This also helps ensure coverage of edge cases.

7. Defect Tracking and Resolution:

o Proper defect tracking, with clear steps for developers to reproduce the issue, ensures that bugs are
resolved efficiently and testers can verify fixes.

10.3 Real-Time Examples of Challenges


Let's look at a few real-time examples to illustrate common challenges faced in manual testing:

1. Challenge 1: Difficulty in Reproducing Intermittent Defects

o Example: A defect where a user is intermittently unable to add items to the shopping cart in an e-
commerce app.

o Challenge: The defect doesn't occur consistently, making it hard to reproduce manually.

o Solution: Testers used logging and debugging tools to track the defect. They also started tracking the
user’s actions before the issue occurred, eventually identifying a race condition in the cart logic.

2. Challenge 2: Limited Test Coverage

o Example: A large banking application with many features, but limited time to test.

o Challenge: Testers can't test every function due to time constraints.

o Solution: Testers prioritized testing of the most critical functions (like fund transfers, balance checking)
and automated lower-priority tests. They also performed exploratory testing to uncover other defects.

3. Challenge 3: Time Constraints and Tight Deadlines

o Example: An online booking platform releases new features every week.

o Challenge: Testers have limited time for testing each feature due to tight release schedules.

o Solution: Testers focused on functional testing and regression for the most critical workflows. They also
started leveraging test automation for routine checks.

10.4 Conclusion

Manual testing is a vital part of the software development lifecycle, especially in Agile environments. While manual
testing comes with challenges, such as time constraints and human error, these challenges can be mitigated through
strategic planning, collaboration, automation, and effective communication.

By understanding and addressing these challenges, testers can ensure that they deliver high-quality, reliable software
while adapting to the fast-paced nature of Agile development.

You might also like