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

3CS510IC24 - STQA Minor Lect-5

Uploaded by

meet2003j
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

3CS510IC24 - STQA Minor Lect-5

Uploaded by

meet2003j
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

3CS510IC24- Software Testing &

Quality Assurance
Lecture-4 Odd Sem 24-25
5th Semester – Minor Course
Prof. Daiwat Vyas
Disclaimer
• The content in the ppt is taken from various online sources and reference books
and after referring it was considered for including it in the ppt slides.
Topics to be covered
• Test Planning and Design

• Monitoring and Measuring Test Execution

• Test Tools and Automation

• Test Team Organization and Management


CLO’s
• CLO-1. identify different levels and types of testing techniques (BL3)

• CLO-2. make use of modern software testing strategies in relation to software


development (BL3)

• CLO-3. evaluate quality assurance practices and principles throughout the


software development lifecycle (BL5)

• CLO-4. design project test plans, test cases, and test data to conduct test
operations (BL6)
SLO’s
• SLO-1. Understand the components of test planning and designUnderstand the
various white box testing techniques and their applications.

• SLO-2. Understand how to monitor and measure test execution.

• SLO-3. Understand how to organize and manage a test team

• CLO-4. Implement Test execution using test tools


SLO’s
• SLO-1. Understand the components of test planning and designUnderstand the
various white box testing techniques and their applications.

• SLO-2. Understand how to monitor and measure test execution.

• SLO-3. Understand how to organize and manage a test team

• CLO-4. Implement Test execution using test tools


Mapping of CLO’s
• Test Planning and Design (CLO-1, CLO-4)

• Monitoring and Measuring Test Execution (CLO-2, CLO-3)

• Test Tools and Automation (CLO-2)

• Test Team Organization and Management (CLO-3)


Test Planning and Design
• Overview:
• Test planning involves defining the scope, approach, resources, and schedule of testing
activities. Designing tests focuses on creating test cases that cover all possible
scenarios.

• Real-Life Example (Automotive):


• Consider planning a safety test for a new car model. The plan would involve defining
the tests needed (e.g., crash tests), the equipment required, and the criteria for success.

• Real-Life Example (Software):


• For a banking application, test planning involves defining security tests, transaction
handling tests, and user interface tests to ensure all scenarios are covered.
Monitoring and Measuring Test Execution
• Overview:
• This involves tracking the progress of testing activities and measuring the
effectiveness of tests. Metrics such as test coverage, defect density, and test pass rate
are used.

• Real-Life Example (Manufacturing):


• Consider a quality control process in a factory where the number of defective products
is tracked and measured against the total production to ensure quality standards are
met.

• Real-Life Example (Software):


• In an e-commerce platform, monitoring test execution involves tracking the number of
successful transactions versus failed ones to measure the reliability of the system.
Test Tools and Automation
• Overview:
• Test tools help automate repetitive testing tasks, increase accuracy, and speed up the
testing process. Automation tools like Selenium and JUnit are commonly used.

• Real-Life Example (Infrastructure):


• Automated toll booths on highways use sensors and software to automatically identify
vehicles, collect tolls, and raise the barrier without human intervention.

• Real-Life Example (Software):


• In continuous integration/continuous deployment (CI/CD) pipelines, tools like Jenkins
and Selenium are used to automate the testing of new code commits, ensuring that only
high-quality code is deployed.
Test Team Organization and Management
• Overview:
• Organizing and managing a test team involves defining roles, responsibilities, and
communication channels. Effective management ensures the team works efficiently
towards the common goal.

• Real-Life Example (Culinary):


• Consider managing a team of chefs in a restaurant kitchen. Each chef has a specific
role (e.g., appetizer, main course, dessert), and the head chef oversees the entire
process to ensure timely and quality food delivery.

• Real-Life Example (Software):


• In a software development project, a test manager oversees different teams focused on
functional testing, performance testing, and security testing, ensuring coordinated
efforts and timely delivery.
Detailed Explanation
Test Planning and Design
• Introduction to Test Planning and Design

• Definition: The process of establishing the scope, approach, resources, and schedule
of testing activities.

• Objective: To ensure all test activities are aligned with project goals and objectives.
Test Planning and Design
• Steps in Test Planning
1.Identify Test Objectives:
1. Determine what needs to be tested (e.g., functionality, performance, security).
2. Example: In a banking application, objectives might include testing transaction security
and user authentication.
2.Define Test Scope:
1. Outline the boundaries of testing (e.g., which features or modules will be tested).
2. Scenario: For an e-commerce website, the scope may include the checkout process,
search functionality, and product display.
3.Resource Allocation:
1. Identify human, hardware, and software resources required.
2. Example: Assign team members to different modules, allocate testing tools like
Selenium.
Test Planning and Design
• Steps in Test Planning
• Risk Analysis:

• Identify potential risks (e.g., tight deadlines, limited resources).


• Scenario: High risk in testing a new payment gateway integration due to lack of
prior experience.

• Test Schedule:

• Create a timeline for test activities.


• Example: Gantt chart showing test execution phases aligned with
development milestones.
Test Planning and Design
• Test Design Process
• Test Case Development:
• Create detailed test cases based on requirements.
• Example: Test case for login functionality with different user roles.

• Test Data Preparation:


• Create or identify data sets required for testing.
• Scenario: Preparing test data for a payroll system, including various employee profiles.

• Test Environment Setup:


• Establish the necessary environment for test execution.
• Example: Setting up virtual machines with specific OS configurations for cross-browser testing.

• Test Procedure Development:


• Define the step-by-step approach for executing test cases.
• Scenario: Documenting the process for performing load testing on a web server.
Monitoring and Measuring Test Execution
• Importance of Monitoring and Measuring

• Objective: To ensure test activities are progressing as planned and to identify


any deviations.

• Outcome: Enables informed decision-making and timely corrective actions.


Monitoring and Measuring Test Execution
• Techniques for Monitoring Test Execution

• Daily Stand-Ups:
• Brief meetings to discuss progress, blockers, and next steps.
• Scenario: Team reviews the status of sprint-based testing activities.
• Test Execution Reports:
• Document the results of executed test cases.
• Example: A report showing pass/fail status, defects found, and execution time.
• Defect Tracking:
• Monitor the status of identified defects.
• Scenario: Using a tool like JIRA to track defects from identification to
resolution.
Monitoring and Measuring Test Execution
• Measuring Test Execution
1.Test Coverage Metrics:
1. Assess the extent of testing (e.g., requirements coverage, code coverage).
2. Example: Measuring statement and branch coverage in unit tests.

2.Defect Density:
1. Calculate the number of defects found per module.
2. Scenario: High defect density in the checkout module of an e-commerce site suggests
potential code issues.

3.Test Execution Rate:


1. Measure the number of test cases executed over time.
2. Example: Tracking the execution of 100 test cases per day during a regression test phase.
Monitoring and Measuring Test Execution
• Measuring Test Execution
1.Test Coverage Metrics:
1. Assess the extent of testing (e.g., requirements coverage, code coverage).
2. Example: Measuring statement and branch coverage in unit tests.

2.Defect Density:
1. Calculate the number of defects found per module.
2. Scenario: High defect density in the checkout module of an e-commerce site suggests
potential code issues.

3.Test Execution Rate:


1. Measure the number of test cases executed over time.
2. Example: Tracking the execution of 100 test cases per day during a regression test phase.
Monitoring and Measuring Test Execution
• Real-Life Example: Monitoring a Mobile App Release

• Context: Testing a new version of a mobile banking app.

• Activities: Daily stand-ups, continuous monitoring of test execution through


automated tools, and measuring coverage metrics.

• Outcome: Identified and resolved critical defects before release, ensuring a


smooth launch.
Test Tools and Automation
• Introduction to Test Tools and Automation

• Definition: The use of software tools to support test activities, including test
execution, management, and defect tracking.

• Objective: Increase efficiency, consistency, and coverage in testing.


Test Tools and Automation
• Types of Test Tools
1.Test Management Tools:
1. Examples: JIRA, TestRail
2. Scenario: Using TestRail to organize test cases, plan test runs, and track results.

2.Automated Testing Tools:


1. Examples: Selenium, QTP
2. Scenario: Implementing Selenium WebDriver for automating browser-based tests.

3.Performance Testing Tools:


1. Examples: JMeter, LoadRunner
2. Scenario: Using JMeter to simulate user load on a web application and measure response
times.
Test Tools and Automation
1.Identify Automation Needs:
1. Determine which tests are candidates for automation (e.g., repetitive, high-volume).
2. Example: Automating regression tests that are run after every build.
2.Select Appropriate Tools:
1. Choose tools based on the application type and testing needs.
2. Scenario: Choosing Selenium for web testing due to its support for multiple browsers and
languages.
3.Develop Automated Test Scripts:
1. Write scripts to automate the execution of test cases.
2. Example: A script to automate the login process with different user credentials.
4.Integrate with CI/CD Pipeline:
1. Incorporate automation into the continuous integration/continuous deployment (CI/CD)
pipeline.
2. Scenario: Running automated tests after each code commit in Jenkins.
Test Tools and Automation
• Benefits and Challenges of Automation

• Benefits: Increased efficiency, faster execution, consistency.

• Challenges: Initial setup cost, maintenance of scripts, not all tests can be
automated.

• Real-Life Example: Automating a large portion of regression testing for an


online travel portal, reducing the time from 3 weeks to 3 days.
Test Team Organization and Management
• Importance of Test Team Organization

• Objective: To ensure that the testing process is well-coordinated and that


resources are effectively utilized.

• Outcome: A streamlined and efficient testing process with clear roles and
responsibilities.
Test Team Organization and Management
• Roles in a Test Team
1.Test Manager:
1. Responsible for overall test strategy, planning, and management.
2. Example: A test manager in a financial services firm overseeing multiple testing projects.
2.Test Lead:
1. Manages the day-to-day testing activities and team members.
2. Scenario: A test lead coordinating testing efforts for a new mobile app feature.
3.Test Engineers:
1. Execute test cases, report defects, and participate in test design.
2. Example: Test engineers testing various modules of a healthcare application.
4.Automation Engineers:
1. Develop and maintain automated test scripts.
2. Scenario: An automation engineer creating scripts for cross-browser testing in an e-
commerce platform.
Test Team Organization and Management
• Test Team Structures
1.Centralized Team:
1. A single team that serves multiple projects.
2. Scenario: A centralized QA team supporting various departments in a large enterprise.
2.Project-Based Team:
1. Dedicated team for each project.
2. Example: A project-based test team for a time-sensitive government project.
3.Agile/DevOps Team:
1. Integrated teams with testers working closely with developers.
2. Scenario: An Agile team working on a continuous delivery pipeline for a cloud
application.
Test Team Organization and Management
• Managing a Test Team
• Communication:

• Regular meetings, clear documentation, and feedback loops.


• Example: Daily stand-ups and weekly review meetings in an Agile team.

• Training and Development:

• Continuous learning opportunities for team members.


• Scenario: Providing training on the latest test automation tools and techniques.

• Performance Monitoring:

• Regular assessment of individual and team performance.


• Example: Using KPIs such as defect detection rate and test coverage to measure performance.
Test Team Organization and Management
• Real-Life Case Study: Organizing a Test Team for a Large-Scale ERP
Implementation

• Context: A multinational corporation implementing a new ERP system.

• Team Structure: Centralized team with specialized roles for different modules
(finance, HR, inventory).

• Outcome: Efficient testing process with clear communication and well-defined


roles, leading to a successful ERP launch.

You might also like