SlideShare a Scribd company logo
Quality Assurance and
its Importance
in software industry
PPT by - Aman Shukla
| What is Quality assurance|
Quality assurance (QA) is any systematic process of determining
whether a product or service meets specified requirements.
QA establishes and maintains set requirements for developing or
manufacturing reliable products. A quality assurance system is meant
to increase customer confidence and a company's credibility, while also
improving work processes and efficiency, and it enables a company to
better compete with others.
Why we need QA?
To eliminate the bugs, we need the process of QA.
If bugs are not eliminated in the initial phase then it could cost even a
billion.
Let me explain you with some most expensive software errors in history.
Most expensive software errors in history -
1. The Mariner 1 Spacecraft, 1962
The first entry in our rundown goes right back to the sixties.
Before the summer of love or the invention of the lava lamp, NASA launched a data-
to fly past Venus. It did not go to plan.
The Mariner 1 space probe barely made it out of Cape Canaveral before the rocket veered
Worried that the rocket was heading towards a crash-landing on earth, NASA engineers
and the craft was obliterated about 290 seconds after launch.
An investigation revealed the cause to be a very simple software error. A hyphen was
meant that incorrect guidance signals were sent to the spacecraft. The overall cost of the
be more than $18 million at the time (about $169 million in today’s world).
2. Bitcoin Hack, Mt. Gox, 2011
Mt. Gox was the biggest bitcoin exchange in the world in the 2010s, until they were hit by
proved fatal.
The glitch led to the exchange creating transactions that could never be fully redeemed,
bitcoins.
But Mt. Gox’s woes didn’t end there. In 2014, they lost more than 850,000 bitcoins
the time) in a hacking incident. Around 200,000 bitcoins were recovered, but the financial
the exchange ended up declaring bankruptcy.
3. EDS Child Support System, 2004
Back in 2004, the UK government introduced a new and complex system to manage the
Agency (CSA). The contract was awarded to IT services company Electronic Data Systems
CS2, and there were problems as soon as it went live.
A leaked internal memo at the time revealed that the system was “badly designed, badly
The agency reported that CS2 “had over 1,000 reported problems, of which 400 had no
“around 3,000 IT incidents a week”. The system was budgeted to cost around £450 million,
estimated £768 million altogether. EDS, a Texas-based contractor, also announced a $153
financial results.
To look through similar mistakes, Please visit - https://raygun.com/blog/costly-software-
To eliminate these bugs, companies have implemented several checks in testing so that client doesn’t suffers at all.
Today’s software industry is emphasizing on QA.
Let us go through some best QA practices that today’s companies are implementing –
1. Maintaining a Dedicated Software Security Testing Team
First and foremost, organizations that have the resources should maintain a dedicated software security
testing team committed to performing the range of penetration tests necessary to fortify the software in
order to discover potential vulnerabilities.
Preferably, they should be familiar with relevant OWASP critical security risks profiles and ISO security
standards, not to mention undergo regular, rigorous security training.
2. Use Development Practices That Are Test-Oriented
It is self-defeating and grossly inadequate to wait until the QA stage to test software under development.
Rather, testing should be ingrained from the beginning of the development process, using test-oriented
development practices such as Test-drive Development (TDD), pair-programing, and unit-testing.
a. Test-Drive Development (TDD)
This practice adopts a test-first approach whereby test are written before the actual code for the software being
implemented. A new feature starts with an automated test case that will initially fail.
Subsequently, the code is written to ensure the functionality passes the test. TDD is known to have positive effects
on productivity, code quality, simplification, and executable documentation.
b. Pair Programming
When it comes to testing scrutiny, two heads are better than one. This is a form of extreme programming where
two engineers are paired to work collaboratively on a single computer. At any point, one writes the code while
other makes suggestions.
3. Ensure All Tests Are Integrated in CI/CD Pipeline
The era of the DevOps methodology has arrived, and any software testing team worth its salt needs to have an
automated CI/CD pipeline. Besides, manual QA processes are error prone. Therefore, it doesn't make sense to
neglect a crucial aspect of modern quality assurance testing.
Employing testing automation as part of the CD/CI setup is essential to make certain only bug-free code is
deployed into the production system.
With the use of modern
techniques, frequency of bugs
can be reduced to a greater
extent at an initial phase.
4.Adopt Tests Written for Maximum Coverage code testing
Different types of testing are adopted by QA teams for different scenarios. However, the overarching objective
should be to make sure that the tests are written extend to the maximum coverage possible, if 100% isn't
exactly practical.
To make the products requirements are testable, test cases should be designed to cover them also for
adequate analysis.
5. Understand Product Objectives in Order to Design Effective Test Strategies
To be able to interrogate and test a system effectively, testers must understand the product from a business
standpoint, and not only see it from a technical perspective.
When testers are armed with only the knowledge of the scope of their tests, they usually can't see the forest for
the trees. To successful test software, it isn't enough to have a narrow mindset fixated on technical functionality.
In order to improvise the testing process companies are using some testing frameworks, these
frameworks provide better testing approach as well as enhanced efficiency.
They are listed below –
1. BDD (Behavior-Driven Development)
Behaviour-driven development is an approach to development that improves communicationbetween business andtechnical teams to create
software with business value.
“BDD isaprocess designed toaidthemanagementandthedeliveryofsoftware developmentprojects byimprovingcommunication between
engineersandbusiness professionals. Insodoing,BDD ensuresalldevelopment projectsremainfocused ondeliveringwhatthe business actually
needswhilemeetingallrequirementsof theuser.”
Key benefits of BDD
• All development workcan be traced back directly to business objectives.
• Software development meets user need. Satisfied users = good business.
• Efficient prioritization – business-critical features are delivered first.
• All parties havea sharedunderstanding of the project and can be involved in the communication.
2. TDD (Test-Driven development)
This has already been discussed in best practices.
3. Acceptance Test-Driven Development (ATDD)
Unlike TDD, which is generally thought of as an engineering practice, ATDD is a
team effort: it brings different players in the software development process—
testers, engineers, business stakeholders—together to collaborate. The result of
said collaboration are the requirements for the application, expressed in a format
understandable by everyone, which are then turned into automated acceptance tests.
Acceptance test-driven development has a similar workflow to that of TDD, since it
consists of creating tests before writing the production code. Unlike TDD, which
relies on unit tests, ATDD tests are acceptance tests. The tests are born from
specifications that arise from discussions involving developers, testers and
business stakeholders or clients.
Conclusion -
To deliver a seamless project to the client, QA is a mandate. Its quite complex and
expensive to fix the issues on production environment as compared to dev environment.
As of current scenario, we are moving towards digitalization that includes websites,
mobile applications etc. and these apps are necessary for the growth of any organization.
So, delivering a bugless application is the most elementary aspect of client satisfaction
and retention.
In broader terms, a bug can hamper you economically.
*****
THANK YOU!

More Related Content

Similar to Quality Assurance and its Importance in Software Industry by Aman Shukla

ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
Indium Software
 
A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool Implementation
Checkmarx
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
Ian McDonald
 
Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...
Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...
Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...
David J Rosenthal
 
Forrester Infra as code TLP_April2015
Forrester Infra as code TLP_April2015Forrester Infra as code TLP_April2015
Forrester Infra as code TLP_April2015
★ Cynthia Peng (formerly Liu)
 
Why Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdfWhy Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdf
XDuce Corporation
 
Tcl and zappers background and brief for media v0.01 vs 190712
Tcl and zappers background and brief for media v0.01 vs 190712Tcl and zappers background and brief for media v0.01 vs 190712
Tcl and zappers background and brief for media v0.01 vs 190712
Transition Consulting Limited, India
 
Future of QA
Future of QAFuture of QA
Future of QA
amitagarwal2006
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
amitagarwal2006
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous Delivery
IRJET Journal
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
Javier Gonzalez-Sanchez
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
MoogleLabs default
 
OMSOFTWARE NEW Service
OMSOFTWARE NEW ServiceOMSOFTWARE NEW Service
OMSOFTWARE NEW Service
OM SOFTWARE PVT LTD
 
Interview questions and answers for quality assurance
Interview questions and answers for quality assuranceInterview questions and answers for quality assurance
Interview questions and answers for quality assurance
Garuda Trainings
 
What is Low Code Test Automation and its importnce?
What is Low Code Test Automation and its importnce?What is Low Code Test Automation and its importnce?
What is Low Code Test Automation and its importnce?
kalichargn70th171
 
Jon shende fbcs citp q&a
Jon shende fbcs citp q&aJon shende fbcs citp q&a
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
IRJET Journal
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User Advocacy
TechWell
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
Kamal Acharya
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
Iosif Itkin
 

Similar to Quality Assurance and its Importance in Software Industry by Aman Shukla (20)

ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
 
A Successful SAST Tool Implementation
A Successful SAST Tool ImplementationA Successful SAST Tool Implementation
A Successful SAST Tool Implementation
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
 
Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...
Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...
Infrasructure As Code: Fueling the Fire For Faster Application Delivery - Whi...
 
Forrester Infra as code TLP_April2015
Forrester Infra as code TLP_April2015Forrester Infra as code TLP_April2015
Forrester Infra as code TLP_April2015
 
Why Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdfWhy Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdf
 
Tcl and zappers background and brief for media v0.01 vs 190712
Tcl and zappers background and brief for media v0.01 vs 190712Tcl and zappers background and brief for media v0.01 vs 190712
Tcl and zappers background and brief for media v0.01 vs 190712
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
IRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous DeliveryIRJET- Development Operations for Continuous Delivery
IRJET- Development Operations for Continuous Delivery
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
OMSOFTWARE NEW Service
OMSOFTWARE NEW ServiceOMSOFTWARE NEW Service
OMSOFTWARE NEW Service
 
Interview questions and answers for quality assurance
Interview questions and answers for quality assuranceInterview questions and answers for quality assurance
Interview questions and answers for quality assurance
 
What is Low Code Test Automation and its importnce?
What is Low Code Test Automation and its importnce?What is Low Code Test Automation and its importnce?
What is Low Code Test Automation and its importnce?
 
Jon shende fbcs citp q&a
Jon shende fbcs citp q&aJon shende fbcs citp q&a
Jon shende fbcs citp q&a
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User Advocacy
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 

Recently uploaded

openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 

Recently uploaded (20)

openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 

Quality Assurance and its Importance in Software Industry by Aman Shukla

  • 1. Quality Assurance and its Importance in software industry PPT by - Aman Shukla
  • 2. | What is Quality assurance| Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements. QA establishes and maintains set requirements for developing or manufacturing reliable products. A quality assurance system is meant to increase customer confidence and a company's credibility, while also improving work processes and efficiency, and it enables a company to better compete with others.
  • 3. Why we need QA? To eliminate the bugs, we need the process of QA. If bugs are not eliminated in the initial phase then it could cost even a billion. Let me explain you with some most expensive software errors in history.
  • 4. Most expensive software errors in history - 1. The Mariner 1 Spacecraft, 1962 The first entry in our rundown goes right back to the sixties. Before the summer of love or the invention of the lava lamp, NASA launched a data- to fly past Venus. It did not go to plan. The Mariner 1 space probe barely made it out of Cape Canaveral before the rocket veered Worried that the rocket was heading towards a crash-landing on earth, NASA engineers and the craft was obliterated about 290 seconds after launch. An investigation revealed the cause to be a very simple software error. A hyphen was meant that incorrect guidance signals were sent to the spacecraft. The overall cost of the be more than $18 million at the time (about $169 million in today’s world).
  • 5. 2. Bitcoin Hack, Mt. Gox, 2011 Mt. Gox was the biggest bitcoin exchange in the world in the 2010s, until they were hit by proved fatal. The glitch led to the exchange creating transactions that could never be fully redeemed, bitcoins. But Mt. Gox’s woes didn’t end there. In 2014, they lost more than 850,000 bitcoins the time) in a hacking incident. Around 200,000 bitcoins were recovered, but the financial the exchange ended up declaring bankruptcy.
  • 6. 3. EDS Child Support System, 2004 Back in 2004, the UK government introduced a new and complex system to manage the Agency (CSA). The contract was awarded to IT services company Electronic Data Systems CS2, and there were problems as soon as it went live. A leaked internal memo at the time revealed that the system was “badly designed, badly The agency reported that CS2 “had over 1,000 reported problems, of which 400 had no “around 3,000 IT incidents a week”. The system was budgeted to cost around £450 million, estimated £768 million altogether. EDS, a Texas-based contractor, also announced a $153 financial results. To look through similar mistakes, Please visit - https://raygun.com/blog/costly-software-
  • 7.
  • 8.
  • 9. To eliminate these bugs, companies have implemented several checks in testing so that client doesn’t suffers at all. Today’s software industry is emphasizing on QA. Let us go through some best QA practices that today’s companies are implementing – 1. Maintaining a Dedicated Software Security Testing Team First and foremost, organizations that have the resources should maintain a dedicated software security testing team committed to performing the range of penetration tests necessary to fortify the software in order to discover potential vulnerabilities. Preferably, they should be familiar with relevant OWASP critical security risks profiles and ISO security standards, not to mention undergo regular, rigorous security training. 2. Use Development Practices That Are Test-Oriented It is self-defeating and grossly inadequate to wait until the QA stage to test software under development. Rather, testing should be ingrained from the beginning of the development process, using test-oriented development practices such as Test-drive Development (TDD), pair-programing, and unit-testing.
  • 10. a. Test-Drive Development (TDD) This practice adopts a test-first approach whereby test are written before the actual code for the software being implemented. A new feature starts with an automated test case that will initially fail. Subsequently, the code is written to ensure the functionality passes the test. TDD is known to have positive effects on productivity, code quality, simplification, and executable documentation. b. Pair Programming When it comes to testing scrutiny, two heads are better than one. This is a form of extreme programming where two engineers are paired to work collaboratively on a single computer. At any point, one writes the code while other makes suggestions. 3. Ensure All Tests Are Integrated in CI/CD Pipeline The era of the DevOps methodology has arrived, and any software testing team worth its salt needs to have an automated CI/CD pipeline. Besides, manual QA processes are error prone. Therefore, it doesn't make sense to neglect a crucial aspect of modern quality assurance testing. Employing testing automation as part of the CD/CI setup is essential to make certain only bug-free code is deployed into the production system.
  • 11. With the use of modern techniques, frequency of bugs can be reduced to a greater extent at an initial phase.
  • 12. 4.Adopt Tests Written for Maximum Coverage code testing Different types of testing are adopted by QA teams for different scenarios. However, the overarching objective should be to make sure that the tests are written extend to the maximum coverage possible, if 100% isn't exactly practical. To make the products requirements are testable, test cases should be designed to cover them also for adequate analysis. 5. Understand Product Objectives in Order to Design Effective Test Strategies To be able to interrogate and test a system effectively, testers must understand the product from a business standpoint, and not only see it from a technical perspective. When testers are armed with only the knowledge of the scope of their tests, they usually can't see the forest for the trees. To successful test software, it isn't enough to have a narrow mindset fixated on technical functionality.
  • 13. In order to improvise the testing process companies are using some testing frameworks, these frameworks provide better testing approach as well as enhanced efficiency. They are listed below – 1. BDD (Behavior-Driven Development) Behaviour-driven development is an approach to development that improves communicationbetween business andtechnical teams to create software with business value. “BDD isaprocess designed toaidthemanagementandthedeliveryofsoftware developmentprojects byimprovingcommunication between engineersandbusiness professionals. Insodoing,BDD ensuresalldevelopment projectsremainfocused ondeliveringwhatthe business actually needswhilemeetingallrequirementsof theuser.” Key benefits of BDD • All development workcan be traced back directly to business objectives. • Software development meets user need. Satisfied users = good business. • Efficient prioritization – business-critical features are delivered first. • All parties havea sharedunderstanding of the project and can be involved in the communication.
  • 14. 2. TDD (Test-Driven development) This has already been discussed in best practices. 3. Acceptance Test-Driven Development (ATDD) Unlike TDD, which is generally thought of as an engineering practice, ATDD is a team effort: it brings different players in the software development process— testers, engineers, business stakeholders—together to collaborate. The result of said collaboration are the requirements for the application, expressed in a format understandable by everyone, which are then turned into automated acceptance tests. Acceptance test-driven development has a similar workflow to that of TDD, since it consists of creating tests before writing the production code. Unlike TDD, which relies on unit tests, ATDD tests are acceptance tests. The tests are born from specifications that arise from discussions involving developers, testers and business stakeholders or clients.
  • 15.
  • 16. Conclusion - To deliver a seamless project to the client, QA is a mandate. Its quite complex and expensive to fix the issues on production environment as compared to dev environment. As of current scenario, we are moving towards digitalization that includes websites, mobile applications etc. and these apps are necessary for the growth of any organization. So, delivering a bugless application is the most elementary aspect of client satisfaction and retention. In broader terms, a bug can hamper you economically. *****