Apeejay School of Management, Dwarka, New Delhi
Emerging Trends in
Software Quality Management
Guest Lecture by Abhishek Prasoon
05th March 2022
1
About Me
• 17 years of experience in IT industry. Have been working
with companies like NIIT, HCL, Mastek, Coforge (NIIT Tech)
• 15+ IT Industry Certifications
• Author: The Forefront Manager and The Infallible
Weapons
• Published 100+ articles and case studies on Technology
and Management
• Orator on various platforms, avid traveler and Yoga
enthusiast
LinkedIn - https://www.linkedin.com/in/abhishekprasoon/
Contact Me – aprasoonin@yahoo.com
Twitter - @aprasoonin
2
Disclaimer
Any views or opinions represented in the webinar are my own and do not represent those of the
people, institutions, or organizations that I may or may not be associated with in professional or
personal capacity, including past, current, and future employers unless explicitly stated.
3
Ground Rule
• Keep Yourself on Mute
• Please ask questions at the end of session. We have dedicated Q&A section for it.
Image Credit
Google Image Search Results
Agenda
1. Fundamentals of Software Testing
• What is Software Testing?
• Software Testing Life Cycle
• Seven Principles of Software Testing
• Test Process
• Test Artifacts
• Types of Testing
2. Emerging Trends in Software Testing
• Test Automation
• Increasing use Testing Tools
• Evolving Role of AI in Quality Assurance
• Security, Performance and Usability Testing
• How does Testing role play in different SDLC
Models
4
3. Career opportunity in Software Testing
• Skill Required for Impactful Software Tester
• Team Hierarchy
• QA Job Descriptions
Duration – 30 minutes
Q&A – 10 minutes
Some Interesting Facts
• 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
6
Fundamentals of Software
Testing
7
What is Software Testing?
Find software errors and verify that an application or system is fit for use
• The testing is important since it discovers defects/bugs before the delivery to the client, which
guarantees the quality of the software.
• Companies can save millions per year in development and support if they have a good testing
technique and QA processes in place.
• It makes the software more reliable and easier to use.
• Thoroughly tested software ensures reliable and high-performance software operation.
• Helps to avoid dangerous situations
• Determining the performance of the software
8
Importance of Testing in Modern Software Development?
9
• Preventing the rework - Loss of revenue
• Gap / Error in quality – Loss of revenue and credibility
• Satisfaction of the customer
Software Testing Lifecycle (STLC)
10
Seven Principles of Software Testing
11
Test Artifacts
12
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
Types of Testing
13
Functional verses Non-Functional Testing
14
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
Emerging Trends in
Software Testing
16
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
17
Manual verses Automated Testing
18
Increasing use Testing Tools
19
Evolving Role of Artificial Intelligence in Quality Assurance
20
• 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
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
21
Security Testing
22
Security Testing
23
Performance Testing
24
 The process of testing to determine the performance of a
software product
Usability Testing
25
How does testing role play
in different SDLC Models
26
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
27
Requirement
Analysis
System Design
Development
Testing
Deployment
Maintenance
Test Driven Development (TDD)
• Test Driven Development (TDD) is a programming practice that instructs developers to
write new code only if an automated test has failed.
28
DevOps (CI/CD)
• DevOps is a set of practices that combines software development and IT operations.
• Continuous testing is one of the 5 DevOps Practice
29
Career Opportunity in
Software Testing
30
Team Hierarchy
31
Test Manager
Quality Analyst Test Architect
QA Lead
Manual Test Engineer
Automation Test Engineer
Skill Required for Impactful Software Tester?
32
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
Typical QA Job Description
33
• Strong knowledge of QA methodology and tools, with demonstrated experience in leading
quality for complex highly critical system.
• Must have Hands-on experience in Development or Test Automation Framework
implementations in Enterprise/Internet commercial software environments
• Previous experience as a QA engineer in test planning, test design, test strategy, and test
execution of large scale, distributed cloud-based software systems to ensure appropriate
and adequate coverage and control.
• Ability to maintain a strong quality focus throughout the product life-cycle.
• Experience with automated testing tools (Selenium a big plus).
• Strong knowledge of QA methodology and tools
• Experience in writing test plans, test automation, and test cases
• Background in test automation using Java and applicable languages.
• Working knowledge of common automation frameworks such as JUnit or TestNG
• Ability to understand technical specifications and analyze log files
• Excellent written and spoken communication
34
35
Queries, Feedback and Suggestion
LinkedIn - https://www.linkedin.com/in/abhishekprasoon/
Contact Me – aprasoonin@yahoo.com
Twitter - @aprasoonin

QM in Software Projects

  • 1.
    Apeejay School ofManagement, Dwarka, New Delhi Emerging Trends in Software Quality Management Guest Lecture by Abhishek Prasoon 05th March 2022 1
  • 2.
    About Me • 17years of experience in IT industry. Have been working with companies like NIIT, HCL, Mastek, Coforge (NIIT Tech) • 15+ IT Industry Certifications • Author: The Forefront Manager and The Infallible Weapons • Published 100+ articles and case studies on Technology and Management • Orator on various platforms, avid traveler and Yoga enthusiast LinkedIn - https://www.linkedin.com/in/abhishekprasoon/ Contact Me – aprasoonin@yahoo.com Twitter - @aprasoonin 2
  • 3.
    Disclaimer Any views oropinions represented in the webinar are my own and do not represent those of the people, institutions, or organizations that I may or may not be associated with in professional or personal capacity, including past, current, and future employers unless explicitly stated. 3 Ground Rule • Keep Yourself on Mute • Please ask questions at the end of session. We have dedicated Q&A section for it. Image Credit Google Image Search Results
  • 4.
    Agenda 1. Fundamentals ofSoftware Testing • What is Software Testing? • Software Testing Life Cycle • Seven Principles of Software Testing • Test Process • Test Artifacts • Types of Testing 2. Emerging Trends in Software Testing • Test Automation • Increasing use Testing Tools • Evolving Role of AI in Quality Assurance • Security, Performance and Usability Testing • How does Testing role play in different SDLC Models 4 3. Career opportunity in Software Testing • Skill Required for Impactful Software Tester • Team Hierarchy • QA Job Descriptions Duration – 30 minutes Q&A – 10 minutes
  • 5.
    Some Interesting Facts •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
  • 6.
  • 7.
  • 8.
    What is SoftwareTesting? Find software errors and verify that an application or system is fit for use • The testing is important since it discovers defects/bugs before the delivery to the client, which guarantees the quality of the software. • Companies can save millions per year in development and support if they have a good testing technique and QA processes in place. • It makes the software more reliable and easier to use. • Thoroughly tested software ensures reliable and high-performance software operation. • Helps to avoid dangerous situations • Determining the performance of the software 8
  • 9.
    Importance of Testingin Modern Software Development? 9 • Preventing the rework - Loss of revenue • Gap / Error in quality – Loss of revenue and credibility • Satisfaction of the customer
  • 10.
  • 11.
    Seven Principles ofSoftware Testing 11
  • 12.
    Test Artifacts 12 Requirement Analysis Phase Requirement Traceability Matrix Feasibility Analysis Planning Phase TestStrategy 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
  • 13.
  • 14.
  • 15.
    Black box Testing White box Testing AlphaTesting 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
  • 16.
  • 17.
    Why Companies AreFocusing 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 17
  • 18.
  • 19.
  • 20.
    Evolving Role ofArtificial Intelligence in Quality Assurance 20 • 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
  • 21.
    Security Testing Common ITSecurity 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 21
  • 22.
  • 23.
  • 24.
    Performance Testing 24  Theprocess of testing to determine the performance of a software product
  • 25.
  • 26.
    How does testingrole play in different SDLC Models 26
  • 27.
    Agile • Agile isan 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 27 Requirement Analysis System Design Development Testing Deployment Maintenance
  • 28.
    Test Driven Development(TDD) • Test Driven Development (TDD) is a programming practice that instructs developers to write new code only if an automated test has failed. 28
  • 29.
    DevOps (CI/CD) • DevOpsis a set of practices that combines software development and IT operations. • Continuous testing is one of the 5 DevOps Practice 29
  • 30.
  • 31.
    Team Hierarchy 31 Test Manager QualityAnalyst Test Architect QA Lead Manual Test Engineer Automation Test Engineer
  • 32.
    Skill Required forImpactful Software Tester? 32 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
  • 33.
    Typical QA JobDescription 33 • Strong knowledge of QA methodology and tools, with demonstrated experience in leading quality for complex highly critical system. • Must have Hands-on experience in Development or Test Automation Framework implementations in Enterprise/Internet commercial software environments • Previous experience as a QA engineer in test planning, test design, test strategy, and test execution of large scale, distributed cloud-based software systems to ensure appropriate and adequate coverage and control. • Ability to maintain a strong quality focus throughout the product life-cycle. • Experience with automated testing tools (Selenium a big plus). • Strong knowledge of QA methodology and tools • Experience in writing test plans, test automation, and test cases • Background in test automation using Java and applicable languages. • Working knowledge of common automation frameworks such as JUnit or TestNG • Ability to understand technical specifications and analyze log files • Excellent written and spoken communication
  • 34.
  • 35.
    35 Queries, Feedback andSuggestion LinkedIn - https://www.linkedin.com/in/abhishekprasoon/ Contact Me – aprasoonin@yahoo.com Twitter - @aprasoonin