SlideShare a Scribd company logo
1 of 22
Developer’s QA Toolkit
BY CHAMIL JEEWANTHA
SOFTWARE ARCHITECT
34TH NATIONAL IT CONFERENCE – SRI LANKA
HTTP://WWW.NITC.LK/2016/
What is QA?
“The maintenance of a desired level of
quality in a service or product, especially
by means of attention to every stage of
the process of delivery or production.”
– Oxford Dictionary
What is QA?
“The maintenance of a desired level of
quality in a service or product, especially
by means of attention to every stage of
the process of delivery or production.”
– Oxford Dictionary
Requirements | Development | Testing | UAT | …
Developer’s QA Responsibility?
THIS IS THE QUESTION IN YOUR MIND NOW…
Proper Design
Consistent
Maintainable
Simple
Loosely coupled
Highly Cohesive
proper, Testable Units
Clean Code
Easily Understandable
Simple and Focused
No Duplicates
Pleasant reading experience
Smaller is better
Expressive
No Bugs can hide behind
Other Quality Responsibilities
Sense of,
◦ Performance
◦ Auditability
◦ Diagnostibility
◦ User Experience
“SOLID Design & Clean Code is more
important in “Agile” than anywhere
else”
BUT IT’S A CHALLENGE…
Waterfall  Agile Transformation
Business requirements may change drastically over the time.
Single lengthy flow converted to a small large number of cycles.
Cycle time is shorten from many Months to few weeks.
Discover
Design
Develop
Test
Launch
The Challenge is,
Focusing on Quality while delivering the changing customer
needs within the short cycles.
So,
Tools are Important!
Tools in the Dev’s QA Toolkit
Most Important Tools
Knowledge
Passion
Knowledge & Practice
Object Oriented / Functional / Flow Based / … Programing
◦ Concepts / Guide Lines
SOLID
◦ Single Responsibility
◦ Open/Closed
◦ Liskov Substitution
◦ Interface Segregation
◦ Dependency Inversion
GRASP
◦ General Responsibility Assignment Software Principles (or Patterns)
GoF Patterns
◦ Gang of Four Patterns
Automated Code Analysis
Static Analysis
◦ Offline analysis without executing the program
◦ Quick and Easy
◦ Detects possible Flaws
◦ Escalates violations of
◦ Standards / Best Practices
Dynamic Analysis
◦ Runtime analysis
◦ Detects the flaws which is not possible to detect with static
analysis
◦ Time Consuming
◦ Full coverage is not guaranteed
Example:
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello World");
}
}
Refactoring (IDE features)
Improves non-functional attributes of Software
◦ Readability
◦ Reusability
◦ Maintainability
◦ …ity
Example: Refactoring
Change to better names
◦ duration  durationInSeconds
Design level refactoring
new Notification(“Failure”,”DB Failure”,new Date())
new Notification.Builder()
.typeOf(“Failure”)
.describedBy(“DB Failure”)
.atNow()
.build();
Unit Test
Unit  A single indivisible Entity
◦ A “Class” In OOP
Unit Test
◦ Select the smallest piece of testable software in the
application
◦ Isolate it from the rest of the code
◦ Determine whether it behaves exactly as you expect
◦ Each unit is tested separately before integrating them
into modules to test the interfaces between modules
TDD – Test Driven Development
1.Write a(nother) unit test that fails
2.Write the minimum production code until all the tests pass
3.Refactor your code
4.Repeat until all your work is done
Fail Pass
Refactor
TDD Benefits
Write non-testable codes are impossible
Test-first forces you to plan before you code
It’s faster than writing code without tests
It saves you from lengthy code
It guides you to build good, SOLID units
It increases your confidence (refactor without fear)
Acts as a real-time progress bar
Other Tools
Code Coverage
Code Reviews
Developer Level Integration Tests
Communicate with QA & BA
“Digital Disruption” of “Quality Software Delivery” is
“Tools”.
Thank You!

More Related Content

What's hot

Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsdpaulmerrill
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 
Mobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDMobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDGlobalLogic Ukraine
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedLB Denker
 
Android Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit TestingAndroid Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit Testingmahmoud ramadan
 
The Role of Testing in DevOps
The Role of Testing in DevOpsThe Role of Testing in DevOps
The Role of Testing in DevOpsUberto Barbini
 
Engineering Trust in Your Automated Tests
Engineering Trust in Your Automated TestsEngineering Trust in Your Automated Tests
Engineering Trust in Your Automated TestsJyoti Mittal
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
 
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayContinuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayLeonard Fingerman
 
Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overviewSerhiy Yevtushenko
 
Java Code Quality Improvements - DevWeek
Java Code Quality Improvements - DevWeekJava Code Quality Improvements - DevWeek
Java Code Quality Improvements - DevWeekZoltan Iszlai
 
Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI Leonard Fingerman
 
CI/CT/CD and Role of Quality Engineering
CI/CT/CD and Role of Quality EngineeringCI/CT/CD and Role of Quality Engineering
CI/CT/CD and Role of Quality EngineeringSushma
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with RubyPierluigi Riti
 

What's hot (20)

Kku2011
Kku2011Kku2011
Kku2011
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Static code analysis
Static code analysisStatic code analysis
Static code analysis
 
Mobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDMobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CD
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
 
Android Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit TestingAndroid Test Driven Development & Android Unit Testing
Android Test Driven Development & Android Unit Testing
 
The Role of Testing in DevOps
The Role of Testing in DevOpsThe Role of Testing in DevOps
The Role of Testing in DevOps
 
Engineering Trust in Your Automated Tests
Engineering Trust in Your Automated TestsEngineering Trust in Your Automated Tests
Engineering Trust in Your Automated Tests
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Jira
JiraJira
Jira
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile wayContinuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
 
Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overview
 
Java Code Quality Improvements - DevWeek
Java Code Quality Improvements - DevWeekJava Code Quality Improvements - DevWeek
Java Code Quality Improvements - DevWeek
 
Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI Functional & Performance Test Automation with CI
Functional & Performance Test Automation with CI
 
CI/CT/CD and Role of Quality Engineering
CI/CT/CD and Role of Quality EngineeringCI/CT/CD and Role of Quality Engineering
CI/CT/CD and Role of Quality Engineering
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with Ruby
 

Viewers also liked

Test Driven Development - The art of fearless programming
Test Driven Development - The art of fearless programmingTest Driven Development - The art of fearless programming
Test Driven Development - The art of fearless programmingChamil Jeewantha
 
Ram’s Taping for talipes
Ram’s Taping for talipesRam’s Taping for talipes
Ram’s Taping for talipesdrsram
 
Big data key-value and column stores redis - cassandra
Big data  key-value and column stores redis - cassandraBig data  key-value and column stores redis - cassandra
Big data key-value and column stores redis - cassandraJWORKS powered by Ordina
 
Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...
Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...
Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...Sprawny Marketing by MaxROY.com
 
Fracture neck of femur
Fracture neck of femurFracture neck of femur
Fracture neck of femurdrsram
 
Fármacos para la insuficiencia cardíaca y antianginosos
Fármacos para la insuficiencia cardíaca y antianginososFármacos para la insuficiencia cardíaca y antianginosos
Fármacos para la insuficiencia cardíaca y antianginososfernando_torres52
 

Viewers also liked (10)

Test Driven Development - The art of fearless programming
Test Driven Development - The art of fearless programmingTest Driven Development - The art of fearless programming
Test Driven Development - The art of fearless programming
 
web-design-portfolio
web-design-portfolioweb-design-portfolio
web-design-portfolio
 
Ram’s Taping for talipes
Ram’s Taping for talipesRam’s Taping for talipes
Ram’s Taping for talipes
 
Cc internet of things @ Thomas More
Cc internet of things @ Thomas MoreCc internet of things @ Thomas More
Cc internet of things @ Thomas More
 
Fibrosis pulmonar
Fibrosis pulmonarFibrosis pulmonar
Fibrosis pulmonar
 
Big data key-value and column stores redis - cassandra
Big data  key-value and column stores redis - cassandraBig data  key-value and column stores redis - cassandra
Big data key-value and column stores redis - cassandra
 
Energia Luminica
Energia LuminicaEnergia Luminica
Energia Luminica
 
Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...
Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...
Michał Szafrański, "Finansowy ninja", czyli jak wydając na promocję 2069 zł, ...
 
Fracture neck of femur
Fracture neck of femurFracture neck of femur
Fracture neck of femur
 
Fármacos para la insuficiencia cardíaca y antianginosos
Fármacos para la insuficiencia cardíaca y antianginososFármacos para la insuficiencia cardíaca y antianginosos
Fármacos para la insuficiencia cardíaca y antianginosos
 

Similar to Developer's QA Toolkit - 34th National IT Conference - Sri Lanka

A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversionAshish Kumar
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsPankaj Dubey
 
Unit Testing in JavaScript
Unit Testing in JavaScriptUnit Testing in JavaScript
Unit Testing in JavaScriptRob Scaduto
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020arzu TR
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guidebigspire
 
Borland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxBorland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxssuser9e9be71
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementRadu_Negulescu
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automationVishal Banthia
 
2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharinggangcheng19721
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewMurageppa-QA
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas Sarin
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself ) Globant
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool OverviewANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewSachin-QA
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityApplitools
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cyclenayanbanik
 
Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Moss Drake
 

Similar to Developer's QA Toolkit - 34th National IT Conference - Sri Lanka (20)

A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
Unit Testing in JavaScript
Unit Testing in JavaScriptUnit Testing in JavaScript
Unit Testing in JavaScript
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020
 
Agile
AgileAgile
Agile
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
 
Agile testing
Agile testingAgile testing
Agile testing
 
Borland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxBorland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptx
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance Services
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality Management
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automation
 
2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing2010 SDLC Lifeline Mater Deck for knowledge sharing
2010 SDLC Lifeline Mater Deck for knowledge sharing
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019
 

Recently uploaded

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Developer's QA Toolkit - 34th National IT Conference - Sri Lanka

  • 1. Developer’s QA Toolkit BY CHAMIL JEEWANTHA SOFTWARE ARCHITECT 34TH NATIONAL IT CONFERENCE – SRI LANKA HTTP://WWW.NITC.LK/2016/
  • 2. What is QA? “The maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.” – Oxford Dictionary
  • 3. What is QA? “The maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.” – Oxford Dictionary Requirements | Development | Testing | UAT | …
  • 4. Developer’s QA Responsibility? THIS IS THE QUESTION IN YOUR MIND NOW…
  • 6. Clean Code Easily Understandable Simple and Focused No Duplicates Pleasant reading experience Smaller is better Expressive No Bugs can hide behind
  • 7. Other Quality Responsibilities Sense of, ◦ Performance ◦ Auditability ◦ Diagnostibility ◦ User Experience
  • 8. “SOLID Design & Clean Code is more important in “Agile” than anywhere else” BUT IT’S A CHALLENGE…
  • 9. Waterfall  Agile Transformation Business requirements may change drastically over the time. Single lengthy flow converted to a small large number of cycles. Cycle time is shorten from many Months to few weeks. Discover Design Develop Test Launch
  • 10. The Challenge is, Focusing on Quality while delivering the changing customer needs within the short cycles. So, Tools are Important!
  • 11. Tools in the Dev’s QA Toolkit
  • 13. Knowledge & Practice Object Oriented / Functional / Flow Based / … Programing ◦ Concepts / Guide Lines SOLID ◦ Single Responsibility ◦ Open/Closed ◦ Liskov Substitution ◦ Interface Segregation ◦ Dependency Inversion GRASP ◦ General Responsibility Assignment Software Principles (or Patterns) GoF Patterns ◦ Gang of Four Patterns
  • 14. Automated Code Analysis Static Analysis ◦ Offline analysis without executing the program ◦ Quick and Easy ◦ Detects possible Flaws ◦ Escalates violations of ◦ Standards / Best Practices Dynamic Analysis ◦ Runtime analysis ◦ Detects the flaws which is not possible to detect with static analysis ◦ Time Consuming ◦ Full coverage is not guaranteed
  • 15. Example: public class HelloWorld{ public static void main(String args[]){ System.out.println("Hello World"); } }
  • 16. Refactoring (IDE features) Improves non-functional attributes of Software ◦ Readability ◦ Reusability ◦ Maintainability ◦ …ity
  • 17. Example: Refactoring Change to better names ◦ duration  durationInSeconds Design level refactoring new Notification(“Failure”,”DB Failure”,new Date()) new Notification.Builder() .typeOf(“Failure”) .describedBy(“DB Failure”) .atNow() .build();
  • 18. Unit Test Unit  A single indivisible Entity ◦ A “Class” In OOP Unit Test ◦ Select the smallest piece of testable software in the application ◦ Isolate it from the rest of the code ◦ Determine whether it behaves exactly as you expect ◦ Each unit is tested separately before integrating them into modules to test the interfaces between modules
  • 19. TDD – Test Driven Development 1.Write a(nother) unit test that fails 2.Write the minimum production code until all the tests pass 3.Refactor your code 4.Repeat until all your work is done Fail Pass Refactor
  • 20. TDD Benefits Write non-testable codes are impossible Test-first forces you to plan before you code It’s faster than writing code without tests It saves you from lengthy code It guides you to build good, SOLID units It increases your confidence (refactor without fear) Acts as a real-time progress bar
  • 21. Other Tools Code Coverage Code Reviews Developer Level Integration Tests Communicate with QA & BA
  • 22. “Digital Disruption” of “Quality Software Delivery” is “Tools”. Thank You!

Editor's Notes

  1. Its clear that Not only QA but also developer, BA and other stakeholders have their own role to play in Quality Assurance
  2. Its clear that Not only QA but also developer, BA and other stakeholders have their own role to play in Quality Assurance.
  3. In order to answer this question, First look at what is QA.
  4. You know this story!