SlideShare a Scribd company logo
Impact of Production Bug/s and
How to avoid it
03-Apr-2021
Agenda
• Why should be even care?
• Impact of Production Bug
• How to Reduce Bug
• TDD
• PLUGINs
• Few points need to be followed by QA
Why should I even care?
• Bugs happen all the time – and they will be found in pre-
production or in production.
• But the main difference between preventing and finding
the bug in a pre-production environment is the cost.
• According to IBM’s research, fixing a bug in production
can cost X5 times more than discovering it in pre-
production environments (during the design, local
development, or test phase).
Impact of Production Bug
A customer finds the
bug and alerts
customer service.
The bug is logged by
the production team.
The developer gets the description
of the bug, opens the spec, and
spends time reading it over.
The developer then will
spend time recreating the
bug.
The developer must then
reacquaint him/herself with
the code to debug it.
Next, the fix
must undergo
tests.
The fix is then
built and
deployed in
other
environments.
Finally, the fix
goes through
QA testing
(requiring QA
resources).
How to reduce bug?
• Design well. Keep it simple - Create the design before coding: try to divide difficult problems into smaller parts/steps/modules that we
can tackle one by one, thinking of objects with well-defined responsibilities.
• Create Testable Code - Make sure you see your test fail at least once. This is the key concept of test-driven development(TDD).
• KISS (Keep it simple and Straight-forward) - Complex code is destined to lead to bugs, and it is also much more challenging to test.
• DRY(Don’t Repeat Your Self) – Check some other forks may already written for you or check if it could be done by existing library. Create
Independent method or class.
• Use code analysis tools - It help to ensure and maintain the quality of our code.
• Don’t Use Comments as a Band-Aid - Keep your code comments as clear and concise as possible. Instead of it use semantic name
for method and variable...
Continue…
• Take Compiler Warnings Into Account - By keeping an eye on these warnings, you can ensure that potential problems are stopped
before they become critical issues.
• Take Your Time - If team works under intense pressure to release code by unrealistic deadlines, it are more likely to make mistakes.
Rushing for a release and cutting corners could create larger issues for the application in long time. So, take your time to ensure that best
practices are put in place
• Implement Coding Standards
• Refactoring - Refactoring aims to improve and redesign the structure of already existing code, without modifying its fundamental
behavior. Simple examples of refactoring include fixing improperly names variables or methods and reducing repeated code down to a
single method or function.
• Run functional tests - Typically, this is not done at the development level. Test cases are written based on the specification, and the
actual results are compared with the expected results. Using Selenium and Protractor for UI testing and Junit for API testing.
• Release gradually - Test new features on a small set of users before releasing to everyone.
TDD(Test Driven Development)
TDD will make us automatically think in smaller pieces of code (functions, components, services, directives, whatever we can
imagine), Will make us think about well scoped responsibilities, will make us to take design decisions otherwise we may be ignoring.
• The Steps : -
• Write a single unit test to verify that some criteria is met.
• Run the failing test (non compiling code counts as a failing test).
• Write just enough code so that the test passes.
• Refactor the code making sure that the test still passes.
• Start again, incrementally testing and developing your application
PLUGINs in VS Code for Angular
• Angular Language Service - This extension provides a rich editing experience for Angular templates.
• Bracket Pair Colorizer - This extension allows matching brackets to be identified with colors.
• Move TS - you can simply move files/folders around and this extension will automatically update your import statements.
• Tslint
• Code Spell Checker - Code Spell Checker is a spell checker that considers camelCase code.
PLUGINs in Eclipse/IntelliJ
• SonarLint - SonarLint is an IDE extension that helps you detect and fix quality issues as you write code in Java, JavaScript, PHP, Python
and HTML.
• Spring Tools (Spring Tool Suite (STS)) - This plugin makes it really easy to create Spring and Spring Boot projects in Eclipse. By
using the STS plugin, you can create Spring Boot projects quickly using easy to use start.spring.io integration.
• FindBugs - FindBugs is a defect detection tool for Java that uses static analysis to look for more than 200 bug patterns, such as null pointer
dereferences, infinite recursive loops, bad uses of the Java libraries and deadlocks.
• Rainbow Brackets
Few points need to be followed by QA to avoid bug leakage
• QA Manager/Lead's/BA’s should actively participate, discuss and bring out scenarios that happens in live environment.
• Make sure that test case should covers every modules of your software.
• Proper review of test cases from the lead and monitoring the test execution cycle.
• Change in hands means if in any build cycle Engineer A executing then in another cycle allot to another QA engineer.
• Perform ad hoc test on the product.
• Always strive to have comparable data to a production environment

More Related Content

PPTX
The four generations of test automation
PPTX
Test Driven Development
PDF
10 Benefits of Automated Testing
PPTX
Unit tests benefits
PPTX
Test automation
PDF
Introduction to Automated Testing
PPTX
Code Review tool for personal effectiveness and waste analysis
ODP
Building Scalable Development Environments
The four generations of test automation
Test Driven Development
10 Benefits of Automated Testing
Unit tests benefits
Test automation
Introduction to Automated Testing
Code Review tool for personal effectiveness and waste analysis
Building Scalable Development Environments

What's hot (20)

PDF
Quality Assurance Guidelines
PPT
Presentation_TDD
PDF
Test Driven Development
PPTX
Elements of a Test Framework
ODP
Documenting code yapceu2016
PPTX
Agile test practices
PPTX
Software Testing, Everyone's responsibility
PPTX
Unit Testing in Action - C#, NUnit, and Moq
PDF
Testing automation in agile environment
PPTX
How to Add Test Automation to your Quality Assurance Toolbelt
PDF
Continuous Automated Regression Testing to the Rescue
PPTX
Functional & Performance Test Automation with CI
PDF
Common Java problems when developing with Android
PPTX
Orientation Program on Automated Software testing Powered by Infaum Education...
PPT
Test automation in agile ecosystem
PDF
PDF
Chapter17 of clean code
PPTX
Software testing tools (free and open source)
PDF
Win at life with unit testing
PDF
TDD in the ABAP world - sitNL 2013 edition
Quality Assurance Guidelines
Presentation_TDD
Test Driven Development
Elements of a Test Framework
Documenting code yapceu2016
Agile test practices
Software Testing, Everyone's responsibility
Unit Testing in Action - C#, NUnit, and Moq
Testing automation in agile environment
How to Add Test Automation to your Quality Assurance Toolbelt
Continuous Automated Regression Testing to the Rescue
Functional & Performance Test Automation with CI
Common Java problems when developing with Android
Orientation Program on Automated Software testing Powered by Infaum Education...
Test automation in agile ecosystem
Chapter17 of clean code
Software testing tools (free and open source)
Win at life with unit testing
TDD in the ABAP world - sitNL 2013 edition
Ad

Similar to Topic production code (20)

PDF
Introduction to-automated-testing
PDF
Software Development Standard Operating Procedure
PPTX
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
PPTX
Software testing
PDF
PDF
Agile Testing - What is it?
PPTX
Test-Driven-Development.pptx
PPTX
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
PDF
TDD and Related Techniques for Non Developers (2012)
PDF
Continuous delivery @wcap 5-09-2013
PPTX
Making software development processes to work for you
PPT
Test Driven Development
ODP
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
PPTX
Java Code Quality Tools
PPTX
Tools for Software Testing
PPTX
Agile
PPTX
10 Reasons You MUST Consider Pattern-Aware Programming
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
Introduction to-automated-testing
Software Development Standard Operating Procedure
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
Software testing
Agile Testing - What is it?
Test-Driven-Development.pptx
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
TDD and Related Techniques for Non Developers (2012)
Continuous delivery @wcap 5-09-2013
Making software development processes to work for you
Test Driven Development
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Java Code Quality Tools
Tools for Software Testing
Agile
10 Reasons You MUST Consider Pattern-Aware Programming
Test driven development
Test driven development
Test driven development
Ad

More from Kavi Kumar (7)

PPTX
Hospital Management System
PPTX
game project presentation
PPTX
कॉपीराइट Copyright
PPTX
अंगिका भाषा(Angika Bhasa)
PPTX
Programming Vocabulary
PPTX
J query ppt
PPTX
Sofware engineering
Hospital Management System
game project presentation
कॉपीराइट Copyright
अंगिका भाषा(Angika Bhasa)
Programming Vocabulary
J query ppt
Sofware engineering

Recently uploaded (20)

PPTX
Transform Your Business with a Software ERP System
PPT
JAVA ppt tutorial basics to learn java programming
PPTX
L1 - Introduction to python Backend.pptx
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Essential Infomation Tech presentation.pptx
PDF
medical staffing services at VALiNTRY
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Digital Strategies for Manufacturing Companies
PPTX
history of c programming in notes for students .pptx
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
DOCX
The Five Best AI Cover Tools in 2025.docx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
Transform Your Business with a Software ERP System
JAVA ppt tutorial basics to learn java programming
L1 - Introduction to python Backend.pptx
PTS Company Brochure 2025 (1).pdf.......
Essential Infomation Tech presentation.pptx
medical staffing services at VALiNTRY
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
ai tools demonstartion for schools and inter college
Digital Strategies for Manufacturing Companies
history of c programming in notes for students .pptx
Online Work Permit System for Fast Permit Processing
Odoo POS Development Services by CandidRoot Solutions
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
The Five Best AI Cover Tools in 2025.docx
How Creative Agencies Leverage Project Management Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Upgrade and Innovation Strategies for SAP ERP Customers

Topic production code

  • 1. Impact of Production Bug/s and How to avoid it 03-Apr-2021
  • 2. Agenda • Why should be even care? • Impact of Production Bug • How to Reduce Bug • TDD • PLUGINs • Few points need to be followed by QA
  • 3. Why should I even care? • Bugs happen all the time – and they will be found in pre- production or in production. • But the main difference between preventing and finding the bug in a pre-production environment is the cost. • According to IBM’s research, fixing a bug in production can cost X5 times more than discovering it in pre- production environments (during the design, local development, or test phase).
  • 4. Impact of Production Bug A customer finds the bug and alerts customer service. The bug is logged by the production team. The developer gets the description of the bug, opens the spec, and spends time reading it over. The developer then will spend time recreating the bug. The developer must then reacquaint him/herself with the code to debug it. Next, the fix must undergo tests. The fix is then built and deployed in other environments. Finally, the fix goes through QA testing (requiring QA resources).
  • 5. How to reduce bug? • Design well. Keep it simple - Create the design before coding: try to divide difficult problems into smaller parts/steps/modules that we can tackle one by one, thinking of objects with well-defined responsibilities. • Create Testable Code - Make sure you see your test fail at least once. This is the key concept of test-driven development(TDD). • KISS (Keep it simple and Straight-forward) - Complex code is destined to lead to bugs, and it is also much more challenging to test. • DRY(Don’t Repeat Your Self) – Check some other forks may already written for you or check if it could be done by existing library. Create Independent method or class. • Use code analysis tools - It help to ensure and maintain the quality of our code. • Don’t Use Comments as a Band-Aid - Keep your code comments as clear and concise as possible. Instead of it use semantic name for method and variable...
  • 6. Continue… • Take Compiler Warnings Into Account - By keeping an eye on these warnings, you can ensure that potential problems are stopped before they become critical issues. • Take Your Time - If team works under intense pressure to release code by unrealistic deadlines, it are more likely to make mistakes. Rushing for a release and cutting corners could create larger issues for the application in long time. So, take your time to ensure that best practices are put in place • Implement Coding Standards • Refactoring - Refactoring aims to improve and redesign the structure of already existing code, without modifying its fundamental behavior. Simple examples of refactoring include fixing improperly names variables or methods and reducing repeated code down to a single method or function. • Run functional tests - Typically, this is not done at the development level. Test cases are written based on the specification, and the actual results are compared with the expected results. Using Selenium and Protractor for UI testing and Junit for API testing. • Release gradually - Test new features on a small set of users before releasing to everyone.
  • 7. TDD(Test Driven Development) TDD will make us automatically think in smaller pieces of code (functions, components, services, directives, whatever we can imagine), Will make us think about well scoped responsibilities, will make us to take design decisions otherwise we may be ignoring. • The Steps : - • Write a single unit test to verify that some criteria is met. • Run the failing test (non compiling code counts as a failing test). • Write just enough code so that the test passes. • Refactor the code making sure that the test still passes. • Start again, incrementally testing and developing your application
  • 8. PLUGINs in VS Code for Angular • Angular Language Service - This extension provides a rich editing experience for Angular templates. • Bracket Pair Colorizer - This extension allows matching brackets to be identified with colors. • Move TS - you can simply move files/folders around and this extension will automatically update your import statements. • Tslint • Code Spell Checker - Code Spell Checker is a spell checker that considers camelCase code.
  • 9. PLUGINs in Eclipse/IntelliJ • SonarLint - SonarLint is an IDE extension that helps you detect and fix quality issues as you write code in Java, JavaScript, PHP, Python and HTML. • Spring Tools (Spring Tool Suite (STS)) - This plugin makes it really easy to create Spring and Spring Boot projects in Eclipse. By using the STS plugin, you can create Spring Boot projects quickly using easy to use start.spring.io integration. • FindBugs - FindBugs is a defect detection tool for Java that uses static analysis to look for more than 200 bug patterns, such as null pointer dereferences, infinite recursive loops, bad uses of the Java libraries and deadlocks. • Rainbow Brackets
  • 10. Few points need to be followed by QA to avoid bug leakage • QA Manager/Lead's/BA’s should actively participate, discuss and bring out scenarios that happens in live environment. • Make sure that test case should covers every modules of your software. • Proper review of test cases from the lead and monitoring the test execution cycle. • Change in hands means if in any build cycle Engineer A executing then in another cycle allot to another QA engineer. • Perform ad hoc test on the product. • Always strive to have comparable data to a production environment