Unit 2
Unit 2
TEST PLANNING
TEST PLANNING
• Test planning is the process of outlining the strategy, scope, objectives, resources, and schedule
for testing activities.
• It involves determining the test objectives, assigning roles and responsibilities, and identifying
the test deliverables.
• This ensures that testing is systematically organized and aligned with project goals to ensure
software quality.
• The test plan serves as the blueprint that changes according to the progressions in the project and
stays current at all times.
GOALS OF TEST PLANNING
• Quick guide for the testing process: The test plan serves as a quick guide for the testing process as it
offers a clear guide for QA engineers to conduct testing activities.
• Helps to avoid out-of-scope functionalities: The test plan offers detailed aspects such as test scope,
test estimation, strategy, etc.
• Helps to determine the time, cost, and effort: The Test serves as the blueprint to conduct testing
activities thus it helps to deduce an estimate of time, cost, and effort for the testing activities.
• Provide a schedule for testing activities: A test plan is like a rule book that needs to be
followed, it thus helps to schedule activities that can be followed by all the team members.
• Test plan can be reused: The test plan documents important aspects like test estimation, test
scope, and test strategy which are reviewed by the Management Team and thus can be reused
for other projects.
• Environment Setup: Plan for the setup of test environments that mimic the production
environment and it will ensure all necessary tools and configurations are in place for testing.
OBJECTIVES OF THE TEST PLAN
• Master Test Plan: Comprehensive plan covering all levels and types of testing for the
entire project.
• Unit Test Plan: Focuses on testing individual components or modules of the software.
• Integration Test Plan: Ensures that different modules or components work together as
expected
• System Test Plan: Validates the complete and integrated software system against the
specified requirements.
• Acceptance Test Plan: Confirms the software meets business requirements and is ready
for delivery to end users.
COMPONENTS AND ATTRIBUTES OF TEST PLAN
• Introduction: Overview of the test plan's purpose and scope.
• Test Data Management: Prepare relevant, accurate, and secure test data.
• Test Plan Document: A detailed document outlining the test plan, approach, and strategy
• Test Cases and Scripts: A set of test cases and scripts to be executed during testing
• Defect Management Process: A process for reporting, tracking, and resolving defects
INTERGROUP RESPONSIBLITIES
• Test Plan: A document that outlines the test strategy, objectives, scope, and resources required for
testing.
• Test Schedule: A timeline that outlines the start and end dates for each testing phase, including test
design, execution, and reporting.
• Test Cases: A document that outlines the steps required to test a specific feature or functionality.
• Test Data: Data required to execute test cases, including input and expected output data.
• Test Reports: Reports that summarize the results of testing, including the number of test cases
executed, the number of defects found, and the status of each defect.
RESPONSIBLITIES OF TEST MANAGER
• Work with developers and other stakeholders to understand requirements and resolve issues.
• Conduct user acceptance testing (UAT) to validate the system against business requirements.
• Ensure the system is ready for production deployment.
• Obtain formal sign-off from stakeholders.
By defining and planning these phases, the testing process becomes more organized, predictable,
and manageable, leading to higher quality software and a more efficient testing cycle.
EXECUTION OF TEST PHASES
BENEFITS OF TEST PHASES
The benefits of dividing the testing process into distinct test phases are
numerous, contributing to the overall effectiveness, efficiency, and
quality of the software development lifecycle. Here are the key
benefits:
• The test strategy document is approved and reviewed by the test team lead, development
manager, quality analyst manager, and product manager.
• The test strategy document specifies the resources, scope, plan, and methodology for different
testing activities.
• It answers all the questions like what needs to get done, how to accomplish it, etc.
TESTING STRATEGIES
COMPONENTS OF A TEST STRATEGY
• Scope: Defines what will be tested and what won't.
• Communication Plan: Outlines how and when updates will be shared with stakeholders.
TEST STRATEGY VS TEST PLAN
S No. Test Plan Test Strategy
1. It’s developed from a set of software requirements It comes from a Business Requirement paper (BRS).
(SRS).
2. The test lead or manager is in charge of preparing it. The project manager or the business analyst creates it.
3. The test plan’s components include the test plan’s id, The components of a test strategy include objectives and scope,
features to be tested, test techniques, testing tasks, documentation formats, test processes, team reporting structure,
features pass or fail criteria, test deliverables, client communication strategy, and so on.
responsibilities, and timetable, among others.
4. After the requirements have been approved, the test plan The test strategy comes first, followed by the test plan.
is written.
5. The test plan should be simple and straightforward. The test approach serves as a general guide for the project at
hand.
TYPES OF TEST STRATEGIES
Resource requirements for test planning in software testing involve identifying the necessary resources to
complete the testing project successfully. These resources include:
• Human Resources: Testers, developers, and other team members required for testing.
• Hardware and Software Requirements: The necessary infrastructure, such as computers, devices, and
software, to support testing.
• Test Environment: A realistic environment that mimics the production environment, including
hardware, software, and network configurations.
• Tools and Equipment: Any additional tools or equipment required to support testing, such as test
management tools, defect tracking tools, and automation frameworks.
It's essential to plan and allocate these resources effectively to ensure the testing project is completed on
time, within budget, and meets the required quality standards.
RESOURCE PLANNING ACTIVITIES
• Onboard New Members: Integrate new team members into the project, providing
necessary information and resources.
BENEFITS OF RESOURCE PLANNING
• Efficient Resource Utilization: ensures that resources are used effectively and
efficiently
• Reduced Testing Time and Costs: optimizes testing activities to reduce time
and costs
• The goal of tester assignments is to ensure that each test case is executed
by a qualified tester who has the necessary skills, knowledge, and
resources to complete the testing task efficiently and effectively.
By following these detailed steps, the test assignment process can be well-organized,
ensuring that all aspects of the testing lifecycle are covered efficiently and effectively. This
structured approach helps in managing the workload, enhancing team collaboration, and
delivering high-quality software products.
KEY ASPECTS OF TEST ASSIGNMENT
• Allocating test cases based on tester skills and expertise
• Establish realistic deadlines and milestones to track progress and ensure timely
completion.
BENEFITS OF TEST ASSIGNMENT
• Coordinate testing activities with other project activities, such as development and deployment.
• Automated Test Schedulers: Uses software tools, such as test management tools or
project management tools, to automate testing activities.
CHALLENGES:
• Dynamic Test
Environments
• Test Case
Interdependencies
• Resource Constraints
• Complexity of Test Cases
TEST CASE
A Test Case is a detailed, step-by-step description of a specific testing scenario, including the
expected results, used to validate that a software application or system meets its requirements
and works as expected.
Parameters
• Test Case ID
• Test Case Description
• Preconditions
• Steps
• Expected Results
• Test Data
• Postconditions
WHEN DO WE WRITE TEST CASES?
• Before development: Test cases could be written before the actual coding as that would help to
identify the requirement of the product/software and carry out the test later when the
product/software gets developed.
• After development: Test cases are also written directly after coming up with a product/software
or after developing the feature but before the launching of a product/software as needed to test
the working of that particular feature.
• During development: Test cases are sometimes written during the development time, parallelly.
so whenever a part of the module/software gets developed it gets tested as well.
WHY WRITE TEST CASES?
• Functional Test Cases: Test the functionality of the system, ensuring it performs as expected.
• Non-Functional Test Cases: Test the system's performance, security, usability, and other non-
functional aspects.
• Positive Test Cases: Test the system with valid inputs and expected results.
• Negative Test Cases: Test the system with invalid inputs or unexpected scenarios to ensure it
handles errors correctly.
• Edge Case Test Cases: Test the system with extreme or boundary values to ensure it handles
unusual scenarios.
TEST CASE EXAMPLE
BUG REPORTING
What is bug?
• A malfunction in the software/system is an error that may cause components or the system
to fail to perform its required functions.
• For example, incorrect data description, statements, input data, design, etc.
• Bug reporting is an essential part of software testing, where testers identify and document defects
or bugs found in the software application or system.
• The goal of bug reporting is to provide detailed information about the bug to the development
team, enabling them to reproduce, diagnose, and fix the issue.
• The whole team should clearly understand the different conditions of the trauma before starting
research on the life cycle of the disability.
• To prevent future confusion, a flawed life cycle should be well documented.
• Make sure everyone who has any work related to the Default Life Cycle understands his or her
best results work very clearly.
• Everyone who changes the status quo should be aware of the situation which should provide
sufficient information about the nature of the feature and the reason for it so that everyone
working on that feature can easily see the reason for that feature.
• A feature tracking tool should be carefully handled in the course of a defective life cycle work to
ensure consistency between errors.
TOOLS FOR BUG REPORTING
Cost Scope
Quality
Schedule
KEY FACTORS OF METRICES
• Quantifiable: Software testing metrics should be measurable and quantifiable, allowing for
objective analysis and comparison.
• Relevant: Metrics should be relevant to the testing process and provide valuable insights
into the testing activities.
• Actionable: Metrics should be actionable, enabling teams to make informed decisions and
take corrective actions to improve the testing process.
• Reliable: Metrics should be reliable and consistent, ensuring that the data collected is
accurate and trustworthy.
• Valid: Metrics should be valid, measuring what they are intended to measure, and providing
a true representation of the testing process.
• Simple and Easy to Understand: Metrics should be simple and easy to
understand, avoiding complexity and ensuring that stakeholders can comprehend
the data.
Product Metrics: Measure product quality e.g. defect density defect leakage.
Process Metrics: Measure testing process efficiency e.g. test coverage test effectiveness.
Project Metrics: Measure project progress and e.g. test schedule variance test cost variance.
resource allocation
Quality Metrics: Measure defect rates and resolution e.g. defect rate mean time to detect.
times
Test Automation Metrics: Measure automation e.g. automation coverage automation ROI.
effectiveness and efficiency
User Experience Metrics: Measure user satisfaction e.g. user satisfaction net promoter score.
and experience
Test Environment Metrics: Measure test environment e.g. test environment test data quality.
availability and utilization availability