SlideShare a Scribd company logo
1 of 56
Apeejay School of Management, Dwarka, New Delhi
Guest Lecture on
Software Quality Management
Abhishek Prasoon
Chief Scrum Master, Coforge
18th January 2024
1
@Abhishek Prasoon
Abhishek Prasoon (MCA, PGDM)
• 18+ years of experience in IT industry. Have been working
with companies like NIIT, HCL, Mastek and Coforge
• 25+ IT Industry Certifications
• Winner NEXT 100 and Innovative CIO Award
• Author: The Forefront Manager and The Infallible Weapons
• Published 120+ articles on Technology and Management
• Trained 500+ Executives
• Orator on various platforms, avid traveler and Yoga
enthusiast
LinkedIn - https://www.linkedin.com/in/abhishekprasoon/
2
@Abhishek Prasoon
Agenda
3
Why is Software Quality Management? Software Testing Life Cycle (STLC) Career Opportunity in Testing
Project Management Aspect Testing Requirements Certifications
Predictive Testing Types of Software Testing Q&A
Agile Testing Emerging Trends in Software Testing
Cost of Quality Testing Tools
Test Artifacts Testing Documents
Software Testing Metrices
@Abhishek Prasoon
4
@Abhishek Prasoon
Why is Software Quality Management Required?
• China Airlines Airbus A300 crashed due to a software bug on April 26, 1994, killing 264
innocents live
• Nissan cars recalled over 1 million cars from the market due to software failure in the
airbag sensory detectors. There has been reported two accident due to this software
failure.
• In 1985, Canada’s Therac-25 radiation therapy machine malfunctioned due to software
bug and delivered lethal radiation doses to patients, leaving 3 people dead and critically
injuring 3 others.
• Starbucks was forced to close about 60 percent of stores in the U.S and Canada due to
software failure in its POS system. At one point, the store served coffee for free as they
were unable to process the transaction.
• In April of 1999, a software bug caused the failure of a $1.2 billion military satellite launch,
the costliest accident in history
5
@Abhishek Prasoon
Why is Software Quality Management Required?
Customer Satisfaction Reduced Costs Productivity and Efficiency Brand Reputation
Risk Mitigation Competitive Advantage User Experience Continuous Improvement
Team Morale Legal Compliance Return on Investment (ROI) Project Success
6
@Abhishek Prasoon
What is Quality?
7
@Abhishek Prasoon
Software Quality Management
Software Quality Management (SQM) involves the systematic process of defining, implementing, assessing, and refining
quality standards and processes throughout the software development life cycle. The goal is to ensure that the software
product meets or exceeds the specified quality requirements.
Two Aspects of Software Quality Management
Project Management Aspect – Predictive / Agile STLC Aspect
8
@Abhishek Prasoon
Predictive Approach - Project Quality Management (PMBOK6)
Project Quality Management is a Knowledge Area of Project Management
Initiating Planning Executing Monitoring and controlling Closing
Plan Quality Management Manage Quality Control Quality
The process of identifying
quality requirements and/or
standards for the project and
its deliverables and
documenting how the project
will demonstrate compliance
with quality requirements
and/or standards.
The process of translating
the quality management
plan into executable quality
activities
The process of monitoring and
recording the results of executing
the quality management activities
to assess performance and ensure
the project outputs are complete,
correct, and meet customer
expectations.
Do the right things Do things right Done the right things right
9
@Abhishek Prasoon
Agile
• Agile is an iterative approach to project management and software development that helps teams deliver
value to their customers faster and with fewer headaches.
• Drawbacks of Waterfall Model
10
Requirement
Analysis
System Design
Development
Testing
Deployment
Maintenance
@Abhishek Prasoon
What is Agile Testing?
Criteria Predictive (Waterfall) Testing Agile Testing
Characteristics Testing happens at the end of the development
cycle. This design structure is sequential and
relatively rigid, as little can be changed during the
project.
Agile is an incremental and flexible approach. Testing
is performed in parallel with the development,
allowing room for change.
Planning Comprehensive Planning - Extensive planning is
done at the beginning of the project, and changes
are discouraged once the project is underway.
Adaptive Planning: Planning is done iteratively
throughout the project, with the ability to adapt and
adjust priorities based on changing needs.
Tester’s Role Testers work independently with developers.
Everyone’s roles are straightforward and strictly
defined. Quality assurance is at the hands of
testers.
Testers work alongside developers toward the end
goal of delivering the best software possible to
customers.
Approach The waterfall model manifests a project mindset
that prioritizes finishing the project.
Agile is all about the product and customers. Teams
receive continuous feedback and adapt to satisfy
customers’ demands.
Process Acceptance and regression testing are performed
only at the end.
Acceptance and regression testing is implemented
repeatedly after each iteration.
Documentation Emphasis on Documentation Collaboration over Documentation
Application Most fit for small and fixed-price projects with a
stable development environment as it is easier to
manage risk and less costly.
More efficient for larger projects or non-fixed
contracts. 11
@Abhishek Prasoon
There are over a dozen agile methodologies. No single right way
can be tailored once a team is experienced.
• Scrum
• Extreme Programming (XP)
• Kanban
• Lean product development
• Feature-driven development (FDD)
• Test-driven development (TDD)
• Acceptance Test-Driven Development (ATDD)
• Behaviour-Driven Development (BDD)
• Dynamic Systems Development Method (DSDM)
• Crystal
Agile Methodologies
12
@Abhishek Prasoon
13
Test-driven development (TDD)
According to Wikipedia, Test-driven development
is a software development process that relies on
the repetition of a very short development cycle:
requirements are turned into very specific test
cases, then the code is improved so that the tests
pass. The following sequence is based on the book
“Test-Driven Development by Example”:
1. Add a test
2. Run all tests and see if the new test fails
3. Write the code
4. Run tests
5. Refactor code
6. Repeat
@Abhishek Prasoon
14
Acceptance Test-Driven Development (ATDD)
The customer, tester, and developer will meet to gather
information in acceptance taste driven development.
They will discuss all three roles and come up with the
definition for an acceptance test. They often referred to as
the three amigos, representing the three perspectives of
customer:
 Business – What problem are we trying to solve?
 Development – How might we build a solution to solve
that problem?
 Testing – What about this, what could possibly happen?
ATDD is all about the user’s perspective of the product and
how it functions. These result tests are often automated and
written first. They will often fail at the start, followed by
improvements being made around those initial results,
gradually enhancing the product.
@Abhishek Prasoon
15
Behaviour-driven development (BDD)
Behaviour-driven development is an extension of test-driven
development. Behaviour-driven development is an Agile software
development process that encourages collaboration among
developers, QA and non-technical or business participants in a
software project.
Cucumber
Cucumber is an open-source software testing tool that supports
BBD. (Behavior-Driven Development). It works with Gherkin
because the Gherkin syntax structures plain text so that it can be
read by the tool. Cucumber reads Gherkin tests and validates that
the code performs as it should.
Gherkin
Gherkin is a plain-text language with a simple structure. It is
designed to be easy to learn by non-programmers yet structured
enough to allow concise description of test scenarios and
examples to illustrate business rules in most real-world domains.
@Abhishek Prasoon
Two Aspects of Software Quality Management
Project Management Aspect – Predictive / Agile STLC Aspect
16
@Abhishek Prasoon
17
@Abhishek Prasoon
Latest Technology Trends
AI/ML RPA Cloud Blockchain Data Projects
Web Apps Mobility Desktop Apps IoT DevOps
SAAS Implementation 3rd Party Integration Migration Test Automation Low Code No Code
Virtual Reality Metaverse Cyber Security Robotics Quantum Computing
Domain / Functional Knowledge
Banking Insurance Finance Retail Healthcare
Government Supply chain Travel Education Manufacturing
Telcom Energy Hospitality Media Defence
Real Estate Agriculture Automotive Biotech Legal Services
1. Requirement Analysis
18
@Abhishek Prasoon
Functional Requirements Specify the desired behavior and functionalities of the software. Testing these requirements
involves verifying that the software performs its intended functions accurately.
NFR’s Performance Requirements , Security Requirements , Usability Requirements
Compatibility
Requirements
Specify the platforms, browsers, devices, and environments the software must be compatible
with. Testing checks whether the software functions correctly across these different contexts.
Reliability and Availability
Requirements
Define the software's reliability, availability, and fault tolerance. Testing aims to ensure the
software's stability and its ability to recover from failures.
Scalability Requirements Describe how well the software can handle increased load and user interactions. Scalability
testing assesses the software's performance as usage scales.
Regulatory and
Compliance Requirements
Identify legal and regulatory standards that the software must adhere to. Compliance testing
ensures that the software complies with these standards.
Data Requirements Specify the data formats, structures, and constraints the software must support. Testing involves
validating data input, output, and storage.
Testability Requirements Describe attributes that facilitate testing, such as the availability of testing tools, logging
mechanisms, and support for automated testing.
Acceptance Criteria Criteria that define when a particular requirement is considered satisfactorily implemented.
Testing is conducted to confirm that the acceptance criteria are met.
Performance Metrics Define specific metrics for performance, such as response time, latency, and throughput, against
which the software's performance is evaluated.
Documentation
Requirements
Specify the level of documentation needed for testing activities, including test plans, test cases,
and test scripts.
1. Testing Requirements in Software Projects
19
@Abhishek Prasoon
20
@Abhishek Prasoon
Defining objectives and scope What are you trying to achieve with your testing?
Are you focusing on functionality, performance, security, or something else?
What features or modules will be included in the testing scope, and what will be
excluded?
Choosing a testing strategy What types of testing will you be doing (e.g., unit testing, integration testing, etc.)
What testing tools and techniques will you be using?
Identifying resources Who will be involved in the testing process (e.g., testers, developers etc.)?
What hardware, software, and other resources will be needed?
Creating test cases What specific scenarios and conditions will you be testing?
What are the expected outcomes for each test case?
Estimating effort and scheduling How much time and effort will be required for testing?
What is the testing schedule, and what are the key milestones?
Defining risk mitigation strategies What are the potential risks associated with testing, and how will you mitigate them?
Communication and reporting How will you communicate the testing plan to stakeholders?
How will you report on the progress and results of testing?
2. Test Planning
Test planning is the process of outlining the steps and resources needed to effectively test a software program or system.
It's like creating a roadmap for testing journey.
21
@Abhishek Prasoon
22
@Abhishek Prasoon
@Abhishek Prasoon 23
24
@Abhishek Prasoon
25
@Abhishek Prasoon
26
@Abhishek Prasoon
5. Test Execution: Types of Testing
27
@Abhishek Prasoon
Functional verses Non-Functional Testing
28
@Abhishek Prasoon
Black box
Testing
White box
Testing
Alpha Testing Beta Testing
Penetration
testing
Security
Testing
Performance
Testing
Load Testing
Stress
Testing
Usability
Testing
Smoke
Testing
Sanity
Testing
UAT Testing
Regression
Testing
Unit Testing
Integration
Testing
29
@Abhishek Prasoon
Unit Testing Testing individual units or components of a software to ensure they work as intended.
Integration Testing Verifying the interactions between integrated components or systems to identify issues in their
interfaces
Functional Testing Validating that the software functions according to specified requirements.
Regression Testing Ensuring that new code changes do not adversely affect existing functionalities.
Performance Testing Assessing the software's responsiveness, speed, and overall performance under different conditions.
Security Testing Identifying vulnerabilities and weaknesses in the software to prevent unauthorized access or data
breaches
Usability Testing Evaluating the software's user interface and overall user experience.
Compatibility Testing Checking the software's compatibility with different operating systems, browsers, and devices.
Load Testing Assessing the software's ability to handle a specific load or number of concurrent users.
Stress Testing Pushing the software beyond its normal operational capacity to identify its breaking points.
Acceptance Testing Verifying that the software meets the acceptance criteria and is ready for deployment.
Smoke Testing A preliminary test to ensure that the critical functionalities of a software are working.
Alpha Testing Conducted by the internal development team before releasing the software to a few external users.
Beta Testing Involving a limited number of external users to provide feedback before the final release.
Exploratory Testing Testers explore the software, executing test cases without predefined scripts to discover defects.
White Box Testing Examining the internal logic and structure of the software code.
Black Box Testing Testing the software’s functionality without knowledge of its internal code.
UAT Ensuring the software meets end-users’ expectations and requirements.
Types of Software Testing
30
@Abhishek Prasoon
Emerging Trends in Software Testing
31
@Abhishek Prasoon
Why Companies Are Focusing On Test Automation
• Automated Testing Saves Time and Money
• Vastly Increases Your Test Coverage
• Automated Testing Helps Developers and Testers
• Increases Accuracy and Reliability that Increases Confidence
• Reduce the Feedback Cycle
• Reusability of Test Suite
• Quickly Check the Stability of Your Build
32
@Abhishek Prasoon
Manual verses Automated Testing
33
@Abhishek Prasoon
Increasing use Testing Tools
34
@Abhishek Prasoon
Test Automation Tools Selenium: A widely used open-source tool for automating web browsers.
Appium: An open-source tool for automating mobile applications on Android and iOS platforms.
JUnit: Frameworks for Java that facilitate the creation and execution of automated tests.
Cypress: A JavaScript-based end-to-end testing framework for web applications.
Performance Testing
Tools
Apache JMeter: An open-source tool for performance testing and load testing.
LoadRunner: A performance testing tool from Micro Focus for simulating virtual users and
measuring system performance.
Security Testing Tools OWASP ZAP: An open-source security testing tool for finding vulnerabilities in web applications.
Burp Suite: A platform for security testing of web applications.
Nessus: A vulnerability scanner that identifies security issues in networks and systems.
Test Management Tools Jira: A widely used project management and issue tracking tool that can be customized for test
management.
TestRail: A web-based test case management tool for managing and tracking software testing
efforts.
CI/CD Tool Jenkins: An open-source automation server used for building, testing, and deploying software.
GitLab CI/CD: Part of the GitLab platform, providing CI/CD capabilities for projects.
API Testing Tools Postman: A popular API testing tool that simplifies the process of developing and testing APIs.
Example of some Testing Tools
35
@Abhishek Prasoon
Evolving Role of Artificial Intelligence in Quality Assurance
36
• AI/ML can help prioritize the test cases
• 60% of the test cases in an enterprise test case
portfolio are redundant, AI identifies such test cases
and eliminates the duplicates
• AI/ML automate the maintenance of test automation
code
• AI has self-healing automation properties
• Quickly Check the Stability of Your Build
@Abhishek Prasoon
Security Testing
Common IT Security Threats
• Data Breach - Phishing, Spear Phishing, Tech Support Scams, SQL Injection, and Malware
• Dictionary attack (Brute Force Attacks)
• Disruptive Attacks - Distributed Denial of Service (DDoS)
• Other Attacks - Coin miners, Rootkits
• Virus, Trojans and Worms
• Ransomware
37
@Abhishek Prasoon
Security Testing
38
@Abhishek Prasoon
Security Testing
39
@Abhishek Prasoon
Performance Testing
40
 The process of testing to determine the performance of a
software product
@Abhishek Prasoon
41
Exploratory Testing
Exploratory testing relies on the tester’s autonomy, skill, and
creativity in trying to discover issues and unexpected behavior.
A team will interweave exploratory testing to help find edge cases
(problems that only occur in extreme conditions), system
boundaries, and unanticipated behavior.
Exploratory testing increases test coverage and reduces the risk that
a defect won’t be detected.
@Abhishek Prasoon
Usability Testing
42
@Abhishek Prasoon
The goal of this testing is to diagnose how easy it is to use the system
and help uncover where there are problems that might need redesign
or changes. This involves observing users or performing post-test
interviews.
Test Plan An overarching document that outlines the overall testing strategy, approach, resources, schedule,
and deliverables for a testing project
Test Cases Detailed descriptions of specific test scenarios, including inputs, expected outcomes, and execution
steps. Test cases provide a systematic way to verify that the software functions correctly.
Test Scripts Automated test cases written in a scripting language for execution by testing tools. These scripts
automate repetitive and time-consuming testing tasks.
Test Design
Specification
Describes the testing objectives, testing scope, and the testing architecture or framework.
Traceability Matrix A document that traces and links requirements to test cases, ensuring comprehensive test coverage
and alignment with project goals.
Test Data Data sets used in testing to ensure that the software handles a variety of inputs and conditions.
Defect Report Documents issues or defects found during testing, including details on how to reproduce the issue,
its severity, and steps to mitigate or fix it.
Test Summary Report Summarizes the testing activities, including test results, overall quality assessment, and any
outstanding issues. It is often created at the end of a testing phase or the entire testing process.
Test Environment Setup
Document
Provides instructions on how to set up the testing environment, including hardware, software, and
network configurations.
Test Execution Log Records the actual test execution, documenting test results, any deviations from expected
outcomes, and comments on the testing process.
Performance Test Plan
and Results
If performance testing is conducted, specific plans and reports detailing how the software performs
under various conditions.
Testing Documents
43
@Abhishek Prasoon
44
Requirement
Analysis Phase
Requirement
Traceability
Matrix
Feasibility
Analysis
Planning
Phase
Test Strategy
Test Plan
Test Data
Designing
Phase
Test Scenario
Test Case
Execution
Phase
Test Case
Result
Defect
Report
Test
Summary
Report
Closing Phase
Test Exit
Repot
Testing Documents
@Abhishek Prasoon
Software Testing Metrices
"You can't manage what you can't measure." - Peter Drucker
Testing metrics are quantifiable measurements used to assess the effectiveness and efficiency of your software testing
process. They provide valuable insights into various aspects of your testing efforts, enabling you to track progress,
identify areas for improvement, and make informed decisions.
Test Case Coverage % Measures the percentage of code, features, or requirements covered by your test cases. Higher
coverage indicates more comprehensive testing.
Defect Density Measures the number of defects found per unit of functionality or effort (e.g., defects per
thousand lines of code). Lower density indicates better quality.
Defect Escape Rate Measures the percentage of defects that make it to production despite testing. Lower rate
indicates better defect detection and prevention.
Test Execution Time Measures the total time it takes to execute all test cases. Useful for tracking efficiency and
identifying bottlenecks.
Cost of Quality (COQ) Measures the total costs associated with achieving software quality, including testing efforts
and defect fixing. Lower COQ indicates better efficiency.
Defect cycle time Defect cycle time is the period between the time the defect was introduced and the time it was
fixed.
Defect Fix Rate Measures the percentage of reported defects that are fixed within a specified timeframe.
Higher rate indicates faster resolution and reduced impact.
45
@Abhishek Prasoon
46
Defects
We’ve seen that because of the cost of change curve, it is advantageous to catch and fix defects as quickly as possible to
minimize rework and reduce costs.
Defect cycle time
Defect cycle time is the period between the time the
defect was introduced and the time it was fixed.
To help minimize the cost of fixing defects, some project
teams actively track their average defect cycle time and set
goals for the quick resolution of defects.
In this example, the team’s cycle time threshold is 12
hours.
@Abhishek Prasoon
47
Defect Rates
Unfortunately, no matter how hard we try to identify and prevent defects, there may be an occasional defect that makes it
through all our tests and quality control processes and ends up in the final product, (in software development, these are
called escaped defects.) Defects that are missed by testing are the costliest kinds of defects to fix.
@Abhishek Prasoon
48
@Abhishek Prasoon
Career Opportunity in Software Testing
49
@Abhishek Prasoon
Team Hierarchy
50
Test Manager
Quality Analyst Test Architect
QA Lead
Manual Test Engineer
Automation Test Engineer
@Abhishek Prasoon
Skill Required for Impactful Software Tester?
51
Soft Skills
• Communication skill
• Problem Solving skills
• Ability to work with team
• Time management
• Critical Thinking
• Decision Making
Hard Skills
• Manual Testing
• Automated Testing
• Use of Testing Tools
• Test Process
• Business Mapping
@Abhishek Prasoon
52
@Abhishek Prasoon
Whose Responsibility is Quality Management?
53
@Abhishek Prasoon
“Quality is not an act; it is a habit.” - Aristotle
54
@Abhishek Prasoon
55
@Abhishek Prasoon
56
Queries, Feedback and Suggestion
LinkedIn - https://www.linkedin.com/in/abhishekprasoon/
Contact Me – aprasoonin@yahoo.com
+91 9891819681
@Abhishek Prasoon

More Related Content

Similar to Software Quality Management.pptx

An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...Sehrish Asif
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digitalrajni singh
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsSanjeev Sharma
 
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overviewguestb4c770
 
1 What is Software Development Life Cycle2 What is the role of QA.pdf
1 What is Software Development Life Cycle2 What is the role of QA.pdf1 What is Software Development Life Cycle2 What is the role of QA.pdf
1 What is Software Development Life Cycle2 What is the role of QA.pdfalvisguyjhiy
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development OverviewMark Kovacevich
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxssusere4c6aa
 
Mohan_Resume
Mohan_ResumeMohan_Resume
Mohan_ResumeMohan P
 
Paul Marples Resume
Paul Marples ResumePaul Marples Resume
Paul Marples ResumePaul Marples
 

Similar to Software Quality Management.pptx (20)

An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digital
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
 
1 What is Software Development Life Cycle2 What is the role of QA.pdf
1 What is Software Development Life Cycle2 What is the role of QA.pdf1 What is Software Development Life Cycle2 What is the role of QA.pdf
1 What is Software Development Life Cycle2 What is the role of QA.pdf
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptx
 
Profile Seema Wadhwa
Profile Seema WadhwaProfile Seema Wadhwa
Profile Seema Wadhwa
 
QM in Software Projects
QM in Software ProjectsQM in Software Projects
QM in Software Projects
 
M017548895
M017548895M017548895
M017548895
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Mohan_Resume
Mohan_ResumeMohan_Resume
Mohan_Resume
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Paul Marples Resume
Paul Marples ResumePaul Marples Resume
Paul Marples Resume
 
Rakesh Resume
Rakesh ResumeRakesh Resume
Rakesh Resume
 

More from Abhishek Prasoon

Crafting Powerful Responses in PM Interviews
Crafting Powerful Responses in PM InterviewsCrafting Powerful Responses in PM Interviews
Crafting Powerful Responses in PM InterviewsAbhishek Prasoon
 
Session 1- PSM Exam Training Introduction
Session 1- PSM Exam Training IntroductionSession 1- PSM Exam Training Introduction
Session 1- PSM Exam Training IntroductionAbhishek Prasoon
 
Jira for Agile Project Management.pptx
Jira for Agile Project Management.pptxJira for Agile Project Management.pptx
Jira for Agile Project Management.pptxAbhishek Prasoon
 
PMP Training Introduction.pptx
PMP Training Introduction.pptxPMP Training Introduction.pptx
PMP Training Introduction.pptxAbhishek Prasoon
 
Enhancing Your Job Market Visibility.pptx
Enhancing Your Job Market Visibility.pptxEnhancing Your Job Market Visibility.pptx
Enhancing Your Job Market Visibility.pptxAbhishek Prasoon
 
PMI-ACP Training Introduction.pptx
PMI-ACP Training Introduction.pptxPMI-ACP Training Introduction.pptx
PMI-ACP Training Introduction.pptxAbhishek Prasoon
 
Agile Project Management Workshop.pptx
Agile Project Management Workshop.pptxAgile Project Management Workshop.pptx
Agile Project Management Workshop.pptxAbhishek Prasoon
 
Webinar - Learn How To Upgrade From Executive To Leader PPT
Webinar - Learn How To Upgrade From Executive To Leader PPTWebinar - Learn How To Upgrade From Executive To Leader PPT
Webinar - Learn How To Upgrade From Executive To Leader PPTAbhishek Prasoon
 

More from Abhishek Prasoon (11)

Crafting Powerful Responses in PM Interviews
Crafting Powerful Responses in PM InterviewsCrafting Powerful Responses in PM Interviews
Crafting Powerful Responses in PM Interviews
 
Session 1- PSM Exam Training Introduction
Session 1- PSM Exam Training IntroductionSession 1- PSM Exam Training Introduction
Session 1- PSM Exam Training Introduction
 
Jira for Agile Project Management.pptx
Jira for Agile Project Management.pptxJira for Agile Project Management.pptx
Jira for Agile Project Management.pptx
 
PMP Training Introduction.pptx
PMP Training Introduction.pptxPMP Training Introduction.pptx
PMP Training Introduction.pptx
 
Enhancing Your Job Market Visibility.pptx
Enhancing Your Job Market Visibility.pptxEnhancing Your Job Market Visibility.pptx
Enhancing Your Job Market Visibility.pptx
 
PMI-ACP Training Introduction.pptx
PMI-ACP Training Introduction.pptxPMI-ACP Training Introduction.pptx
PMI-ACP Training Introduction.pptx
 
Jira Training.pptx
Jira Training.pptxJira Training.pptx
Jira Training.pptx
 
Agile Project Management Workshop.pptx
Agile Project Management Workshop.pptxAgile Project Management Workshop.pptx
Agile Project Management Workshop.pptx
 
Webinar - Learn How To Upgrade From Executive To Leader PPT
Webinar - Learn How To Upgrade From Executive To Leader PPTWebinar - Learn How To Upgrade From Executive To Leader PPT
Webinar - Learn How To Upgrade From Executive To Leader PPT
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 

Software Quality Management.pptx

  • 1. Apeejay School of Management, Dwarka, New Delhi Guest Lecture on Software Quality Management Abhishek Prasoon Chief Scrum Master, Coforge 18th January 2024 1 @Abhishek Prasoon
  • 2. Abhishek Prasoon (MCA, PGDM) • 18+ years of experience in IT industry. Have been working with companies like NIIT, HCL, Mastek and Coforge • 25+ IT Industry Certifications • Winner NEXT 100 and Innovative CIO Award • Author: The Forefront Manager and The Infallible Weapons • Published 120+ articles on Technology and Management • Trained 500+ Executives • Orator on various platforms, avid traveler and Yoga enthusiast LinkedIn - https://www.linkedin.com/in/abhishekprasoon/ 2 @Abhishek Prasoon
  • 3. Agenda 3 Why is Software Quality Management? Software Testing Life Cycle (STLC) Career Opportunity in Testing Project Management Aspect Testing Requirements Certifications Predictive Testing Types of Software Testing Q&A Agile Testing Emerging Trends in Software Testing Cost of Quality Testing Tools Test Artifacts Testing Documents Software Testing Metrices @Abhishek Prasoon
  • 5. Why is Software Quality Management Required? • China Airlines Airbus A300 crashed due to a software bug on April 26, 1994, killing 264 innocents live • Nissan cars recalled over 1 million cars from the market due to software failure in the airbag sensory detectors. There has been reported two accident due to this software failure. • In 1985, Canada’s Therac-25 radiation therapy machine malfunctioned due to software bug and delivered lethal radiation doses to patients, leaving 3 people dead and critically injuring 3 others. • Starbucks was forced to close about 60 percent of stores in the U.S and Canada due to software failure in its POS system. At one point, the store served coffee for free as they were unable to process the transaction. • In April of 1999, a software bug caused the failure of a $1.2 billion military satellite launch, the costliest accident in history 5 @Abhishek Prasoon
  • 6. Why is Software Quality Management Required? Customer Satisfaction Reduced Costs Productivity and Efficiency Brand Reputation Risk Mitigation Competitive Advantage User Experience Continuous Improvement Team Morale Legal Compliance Return on Investment (ROI) Project Success 6 @Abhishek Prasoon
  • 8. Software Quality Management Software Quality Management (SQM) involves the systematic process of defining, implementing, assessing, and refining quality standards and processes throughout the software development life cycle. The goal is to ensure that the software product meets or exceeds the specified quality requirements. Two Aspects of Software Quality Management Project Management Aspect – Predictive / Agile STLC Aspect 8 @Abhishek Prasoon
  • 9. Predictive Approach - Project Quality Management (PMBOK6) Project Quality Management is a Knowledge Area of Project Management Initiating Planning Executing Monitoring and controlling Closing Plan Quality Management Manage Quality Control Quality The process of identifying quality requirements and/or standards for the project and its deliverables and documenting how the project will demonstrate compliance with quality requirements and/or standards. The process of translating the quality management plan into executable quality activities The process of monitoring and recording the results of executing the quality management activities to assess performance and ensure the project outputs are complete, correct, and meet customer expectations. Do the right things Do things right Done the right things right 9 @Abhishek Prasoon
  • 10. Agile • Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. • Drawbacks of Waterfall Model 10 Requirement Analysis System Design Development Testing Deployment Maintenance @Abhishek Prasoon
  • 11. What is Agile Testing? Criteria Predictive (Waterfall) Testing Agile Testing Characteristics Testing happens at the end of the development cycle. This design structure is sequential and relatively rigid, as little can be changed during the project. Agile is an incremental and flexible approach. Testing is performed in parallel with the development, allowing room for change. Planning Comprehensive Planning - Extensive planning is done at the beginning of the project, and changes are discouraged once the project is underway. Adaptive Planning: Planning is done iteratively throughout the project, with the ability to adapt and adjust priorities based on changing needs. Tester’s Role Testers work independently with developers. Everyone’s roles are straightforward and strictly defined. Quality assurance is at the hands of testers. Testers work alongside developers toward the end goal of delivering the best software possible to customers. Approach The waterfall model manifests a project mindset that prioritizes finishing the project. Agile is all about the product and customers. Teams receive continuous feedback and adapt to satisfy customers’ demands. Process Acceptance and regression testing are performed only at the end. Acceptance and regression testing is implemented repeatedly after each iteration. Documentation Emphasis on Documentation Collaboration over Documentation Application Most fit for small and fixed-price projects with a stable development environment as it is easier to manage risk and less costly. More efficient for larger projects or non-fixed contracts. 11 @Abhishek Prasoon
  • 12. There are over a dozen agile methodologies. No single right way can be tailored once a team is experienced. • Scrum • Extreme Programming (XP) • Kanban • Lean product development • Feature-driven development (FDD) • Test-driven development (TDD) • Acceptance Test-Driven Development (ATDD) • Behaviour-Driven Development (BDD) • Dynamic Systems Development Method (DSDM) • Crystal Agile Methodologies 12 @Abhishek Prasoon
  • 13. 13 Test-driven development (TDD) According to Wikipedia, Test-driven development is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the code is improved so that the tests pass. The following sequence is based on the book “Test-Driven Development by Example”: 1. Add a test 2. Run all tests and see if the new test fails 3. Write the code 4. Run tests 5. Refactor code 6. Repeat @Abhishek Prasoon
  • 14. 14 Acceptance Test-Driven Development (ATDD) The customer, tester, and developer will meet to gather information in acceptance taste driven development. They will discuss all three roles and come up with the definition for an acceptance test. They often referred to as the three amigos, representing the three perspectives of customer:  Business – What problem are we trying to solve?  Development – How might we build a solution to solve that problem?  Testing – What about this, what could possibly happen? ATDD is all about the user’s perspective of the product and how it functions. These result tests are often automated and written first. They will often fail at the start, followed by improvements being made around those initial results, gradually enhancing the product. @Abhishek Prasoon
  • 15. 15 Behaviour-driven development (BDD) Behaviour-driven development is an extension of test-driven development. Behaviour-driven development is an Agile software development process that encourages collaboration among developers, QA and non-technical or business participants in a software project. Cucumber Cucumber is an open-source software testing tool that supports BBD. (Behavior-Driven Development). It works with Gherkin because the Gherkin syntax structures plain text so that it can be read by the tool. Cucumber reads Gherkin tests and validates that the code performs as it should. Gherkin Gherkin is a plain-text language with a simple structure. It is designed to be easy to learn by non-programmers yet structured enough to allow concise description of test scenarios and examples to illustrate business rules in most real-world domains. @Abhishek Prasoon
  • 16. Two Aspects of Software Quality Management Project Management Aspect – Predictive / Agile STLC Aspect 16 @Abhishek Prasoon
  • 18. Latest Technology Trends AI/ML RPA Cloud Blockchain Data Projects Web Apps Mobility Desktop Apps IoT DevOps SAAS Implementation 3rd Party Integration Migration Test Automation Low Code No Code Virtual Reality Metaverse Cyber Security Robotics Quantum Computing Domain / Functional Knowledge Banking Insurance Finance Retail Healthcare Government Supply chain Travel Education Manufacturing Telcom Energy Hospitality Media Defence Real Estate Agriculture Automotive Biotech Legal Services 1. Requirement Analysis 18 @Abhishek Prasoon
  • 19. Functional Requirements Specify the desired behavior and functionalities of the software. Testing these requirements involves verifying that the software performs its intended functions accurately. NFR’s Performance Requirements , Security Requirements , Usability Requirements Compatibility Requirements Specify the platforms, browsers, devices, and environments the software must be compatible with. Testing checks whether the software functions correctly across these different contexts. Reliability and Availability Requirements Define the software's reliability, availability, and fault tolerance. Testing aims to ensure the software's stability and its ability to recover from failures. Scalability Requirements Describe how well the software can handle increased load and user interactions. Scalability testing assesses the software's performance as usage scales. Regulatory and Compliance Requirements Identify legal and regulatory standards that the software must adhere to. Compliance testing ensures that the software complies with these standards. Data Requirements Specify the data formats, structures, and constraints the software must support. Testing involves validating data input, output, and storage. Testability Requirements Describe attributes that facilitate testing, such as the availability of testing tools, logging mechanisms, and support for automated testing. Acceptance Criteria Criteria that define when a particular requirement is considered satisfactorily implemented. Testing is conducted to confirm that the acceptance criteria are met. Performance Metrics Define specific metrics for performance, such as response time, latency, and throughput, against which the software's performance is evaluated. Documentation Requirements Specify the level of documentation needed for testing activities, including test plans, test cases, and test scripts. 1. Testing Requirements in Software Projects 19 @Abhishek Prasoon
  • 21. Defining objectives and scope What are you trying to achieve with your testing? Are you focusing on functionality, performance, security, or something else? What features or modules will be included in the testing scope, and what will be excluded? Choosing a testing strategy What types of testing will you be doing (e.g., unit testing, integration testing, etc.) What testing tools and techniques will you be using? Identifying resources Who will be involved in the testing process (e.g., testers, developers etc.)? What hardware, software, and other resources will be needed? Creating test cases What specific scenarios and conditions will you be testing? What are the expected outcomes for each test case? Estimating effort and scheduling How much time and effort will be required for testing? What is the testing schedule, and what are the key milestones? Defining risk mitigation strategies What are the potential risks associated with testing, and how will you mitigate them? Communication and reporting How will you communicate the testing plan to stakeholders? How will you report on the progress and results of testing? 2. Test Planning Test planning is the process of outlining the steps and resources needed to effectively test a software program or system. It's like creating a roadmap for testing journey. 21 @Abhishek Prasoon
  • 27. 5. Test Execution: Types of Testing 27 @Abhishek Prasoon
  • 28. Functional verses Non-Functional Testing 28 @Abhishek Prasoon
  • 29. Black box Testing White box Testing Alpha Testing Beta Testing Penetration testing Security Testing Performance Testing Load Testing Stress Testing Usability Testing Smoke Testing Sanity Testing UAT Testing Regression Testing Unit Testing Integration Testing 29 @Abhishek Prasoon
  • 30. Unit Testing Testing individual units or components of a software to ensure they work as intended. Integration Testing Verifying the interactions between integrated components or systems to identify issues in their interfaces Functional Testing Validating that the software functions according to specified requirements. Regression Testing Ensuring that new code changes do not adversely affect existing functionalities. Performance Testing Assessing the software's responsiveness, speed, and overall performance under different conditions. Security Testing Identifying vulnerabilities and weaknesses in the software to prevent unauthorized access or data breaches Usability Testing Evaluating the software's user interface and overall user experience. Compatibility Testing Checking the software's compatibility with different operating systems, browsers, and devices. Load Testing Assessing the software's ability to handle a specific load or number of concurrent users. Stress Testing Pushing the software beyond its normal operational capacity to identify its breaking points. Acceptance Testing Verifying that the software meets the acceptance criteria and is ready for deployment. Smoke Testing A preliminary test to ensure that the critical functionalities of a software are working. Alpha Testing Conducted by the internal development team before releasing the software to a few external users. Beta Testing Involving a limited number of external users to provide feedback before the final release. Exploratory Testing Testers explore the software, executing test cases without predefined scripts to discover defects. White Box Testing Examining the internal logic and structure of the software code. Black Box Testing Testing the software’s functionality without knowledge of its internal code. UAT Ensuring the software meets end-users’ expectations and requirements. Types of Software Testing 30 @Abhishek Prasoon
  • 31. Emerging Trends in Software Testing 31 @Abhishek Prasoon
  • 32. Why Companies Are Focusing On Test Automation • Automated Testing Saves Time and Money • Vastly Increases Your Test Coverage • Automated Testing Helps Developers and Testers • Increases Accuracy and Reliability that Increases Confidence • Reduce the Feedback Cycle • Reusability of Test Suite • Quickly Check the Stability of Your Build 32 @Abhishek Prasoon
  • 33. Manual verses Automated Testing 33 @Abhishek Prasoon
  • 34. Increasing use Testing Tools 34 @Abhishek Prasoon
  • 35. Test Automation Tools Selenium: A widely used open-source tool for automating web browsers. Appium: An open-source tool for automating mobile applications on Android and iOS platforms. JUnit: Frameworks for Java that facilitate the creation and execution of automated tests. Cypress: A JavaScript-based end-to-end testing framework for web applications. Performance Testing Tools Apache JMeter: An open-source tool for performance testing and load testing. LoadRunner: A performance testing tool from Micro Focus for simulating virtual users and measuring system performance. Security Testing Tools OWASP ZAP: An open-source security testing tool for finding vulnerabilities in web applications. Burp Suite: A platform for security testing of web applications. Nessus: A vulnerability scanner that identifies security issues in networks and systems. Test Management Tools Jira: A widely used project management and issue tracking tool that can be customized for test management. TestRail: A web-based test case management tool for managing and tracking software testing efforts. CI/CD Tool Jenkins: An open-source automation server used for building, testing, and deploying software. GitLab CI/CD: Part of the GitLab platform, providing CI/CD capabilities for projects. API Testing Tools Postman: A popular API testing tool that simplifies the process of developing and testing APIs. Example of some Testing Tools 35 @Abhishek Prasoon
  • 36. Evolving Role of Artificial Intelligence in Quality Assurance 36 • AI/ML can help prioritize the test cases • 60% of the test cases in an enterprise test case portfolio are redundant, AI identifies such test cases and eliminates the duplicates • AI/ML automate the maintenance of test automation code • AI has self-healing automation properties • Quickly Check the Stability of Your Build @Abhishek Prasoon
  • 37. Security Testing Common IT Security Threats • Data Breach - Phishing, Spear Phishing, Tech Support Scams, SQL Injection, and Malware • Dictionary attack (Brute Force Attacks) • Disruptive Attacks - Distributed Denial of Service (DDoS) • Other Attacks - Coin miners, Rootkits • Virus, Trojans and Worms • Ransomware 37 @Abhishek Prasoon
  • 40. Performance Testing 40  The process of testing to determine the performance of a software product @Abhishek Prasoon
  • 41. 41 Exploratory Testing Exploratory testing relies on the tester’s autonomy, skill, and creativity in trying to discover issues and unexpected behavior. A team will interweave exploratory testing to help find edge cases (problems that only occur in extreme conditions), system boundaries, and unanticipated behavior. Exploratory testing increases test coverage and reduces the risk that a defect won’t be detected. @Abhishek Prasoon
  • 42. Usability Testing 42 @Abhishek Prasoon The goal of this testing is to diagnose how easy it is to use the system and help uncover where there are problems that might need redesign or changes. This involves observing users or performing post-test interviews.
  • 43. Test Plan An overarching document that outlines the overall testing strategy, approach, resources, schedule, and deliverables for a testing project Test Cases Detailed descriptions of specific test scenarios, including inputs, expected outcomes, and execution steps. Test cases provide a systematic way to verify that the software functions correctly. Test Scripts Automated test cases written in a scripting language for execution by testing tools. These scripts automate repetitive and time-consuming testing tasks. Test Design Specification Describes the testing objectives, testing scope, and the testing architecture or framework. Traceability Matrix A document that traces and links requirements to test cases, ensuring comprehensive test coverage and alignment with project goals. Test Data Data sets used in testing to ensure that the software handles a variety of inputs and conditions. Defect Report Documents issues or defects found during testing, including details on how to reproduce the issue, its severity, and steps to mitigate or fix it. Test Summary Report Summarizes the testing activities, including test results, overall quality assessment, and any outstanding issues. It is often created at the end of a testing phase or the entire testing process. Test Environment Setup Document Provides instructions on how to set up the testing environment, including hardware, software, and network configurations. Test Execution Log Records the actual test execution, documenting test results, any deviations from expected outcomes, and comments on the testing process. Performance Test Plan and Results If performance testing is conducted, specific plans and reports detailing how the software performs under various conditions. Testing Documents 43 @Abhishek Prasoon
  • 44. 44 Requirement Analysis Phase Requirement Traceability Matrix Feasibility Analysis Planning Phase Test Strategy Test Plan Test Data Designing Phase Test Scenario Test Case Execution Phase Test Case Result Defect Report Test Summary Report Closing Phase Test Exit Repot Testing Documents @Abhishek Prasoon
  • 45. Software Testing Metrices "You can't manage what you can't measure." - Peter Drucker Testing metrics are quantifiable measurements used to assess the effectiveness and efficiency of your software testing process. They provide valuable insights into various aspects of your testing efforts, enabling you to track progress, identify areas for improvement, and make informed decisions. Test Case Coverage % Measures the percentage of code, features, or requirements covered by your test cases. Higher coverage indicates more comprehensive testing. Defect Density Measures the number of defects found per unit of functionality or effort (e.g., defects per thousand lines of code). Lower density indicates better quality. Defect Escape Rate Measures the percentage of defects that make it to production despite testing. Lower rate indicates better defect detection and prevention. Test Execution Time Measures the total time it takes to execute all test cases. Useful for tracking efficiency and identifying bottlenecks. Cost of Quality (COQ) Measures the total costs associated with achieving software quality, including testing efforts and defect fixing. Lower COQ indicates better efficiency. Defect cycle time Defect cycle time is the period between the time the defect was introduced and the time it was fixed. Defect Fix Rate Measures the percentage of reported defects that are fixed within a specified timeframe. Higher rate indicates faster resolution and reduced impact. 45 @Abhishek Prasoon
  • 46. 46 Defects We’ve seen that because of the cost of change curve, it is advantageous to catch and fix defects as quickly as possible to minimize rework and reduce costs. Defect cycle time Defect cycle time is the period between the time the defect was introduced and the time it was fixed. To help minimize the cost of fixing defects, some project teams actively track their average defect cycle time and set goals for the quick resolution of defects. In this example, the team’s cycle time threshold is 12 hours. @Abhishek Prasoon
  • 47. 47 Defect Rates Unfortunately, no matter how hard we try to identify and prevent defects, there may be an occasional defect that makes it through all our tests and quality control processes and ends up in the final product, (in software development, these are called escaped defects.) Defects that are missed by testing are the costliest kinds of defects to fix. @Abhishek Prasoon
  • 49. Career Opportunity in Software Testing 49 @Abhishek Prasoon
  • 50. Team Hierarchy 50 Test Manager Quality Analyst Test Architect QA Lead Manual Test Engineer Automation Test Engineer @Abhishek Prasoon
  • 51. Skill Required for Impactful Software Tester? 51 Soft Skills • Communication skill • Problem Solving skills • Ability to work with team • Time management • Critical Thinking • Decision Making Hard Skills • Manual Testing • Automated Testing • Use of Testing Tools • Test Process • Business Mapping @Abhishek Prasoon
  • 53. Whose Responsibility is Quality Management? 53 @Abhishek Prasoon
  • 54. “Quality is not an act; it is a habit.” - Aristotle 54 @Abhishek Prasoon
  • 56. 56 Queries, Feedback and Suggestion LinkedIn - https://www.linkedin.com/in/abhishekprasoon/ Contact Me – aprasoonin@yahoo.com +91 9891819681 @Abhishek Prasoon