SlideShare a Scribd company logo
1 of 14
AGENDA
Part1 – COVER THE BASICS (20 MINS)
•Overview about A B C
• (Arrange Act Assert, BESOD Techniques, Continuous Integration Ready)
•BESOD- Be a Super Developer (Acronym of key test design techniques)
• Test Design Techniques in Detail (Boundary Value analysis, State transition diagram and
others)
• (Examples from the existing improvement will be covered as code snippets)
•Effective usage of Parametrization approach with examples of code snippet
•Mocking the external behaviour through effective mocking
•(Examples will be covered)
•Running the Unit Test in the Build Pipeline
•Bring change at the Organization Level
• Clean Code culture and Developer Mindset
• Continuous Refactoring
• Governance and tracking at leadership level
Part1 – PRESENT EXAMPLES OF IMPLEMENTATION OF THE BESOD TECHNIQUES (20 MINS)
ABC OF DEVELOPER TEST
• AAA- Arrange, Act, Assert: Arrange all necessary preconditions and inputs. Act on the object or
method under test. Assert that the expected results have occurred. Use the right Unit test
framework, test suite organization and Test naming convention
• Behaviors Driven - Focus on key Functionality or Scenarios which the production code is
handling.
• BESOD- Parametrize Test (Assertion) based on any of these techniques- Boundary Value,
Equivalence Partitioning, State Transition, Orthogonal Array, Decision tree
• Continuous Integration Ready: Ensure that the Unit test is continuously running the CI system.
AAA
Behavior/
BESOD
Continuous
Integration
Ready
A B C
3
UNIT TEST – STRUCTURE
• Arrange  Act  Assert
• Give  When  Then
• Setup  Exercise  Verify  Teardown
Arrange Act Assert
• AAA is common standard for writing the unit test cases.
• Arrange: It means Arrange everything to setup the unit test case, like creating the objects, initializing/mocking data
etc..
• Act: Act on your unit test case, meaning execute necessary functionality/methods that needs to be unit tested.
• Assert: This part verifies the functionality/method that we are unit testing is giving the result as per expectation.
BASIC TESTING TECHNIQUES
•
• Equivalence Partitioning
5
STATE TRANSITION TESTING
• State Transition testing, is a technique, in which outputs are triggered by changes to the input
conditions or changes to 'state' of the system.
• In other words, tests are designed to execute valid and invalid state transitions.
Using state transition testing, we pick test cases from an
application where we need to test different system transitions. We
can apply this when an application gives a different output for the
same input, depending on what has happened in the earlier state.
6
REQUIREMENT BACKGROUND
Feature : Global navigation statellite system S Antenna Status Update
Feature Description :
Reading and updating Antenna Status from Gnss Chip.
Configuring Antenna Pin Values and deriving Antenna Status based on
the truth table.
Supporting 2 & 3 Pin Logic for Customer Specific Projects.
UNIT TESTING EXAMPLES
7
SCOPE
PIN15:
pinSCD
PIN14
pinOCD
PIN13
pinSwitch
STATUS
0 0 0 OUTOFSERVICE
0 0 1 OUTOFSERVICE
0 1 0 OUTOFSERVICE
0 1 1 SHORT_GND
1 0 0 SHORT_BATT
1 0 1 OPEN
1 1 0 NORMAL
1 1 1 NORMAL
PIN15
pinSCD
PIN13
pinSwitch
STATUS
0 0 OUTOFSERVICE
0 1 SHORT_GND
1 0 SHORT_BATT
1 1 OUTOFSERVICE
Truth Table :
3 Pin 2 Pin
UNIT TESTING EXAMPLES
8
UNIT TESTING EXAMPLES
BRAINSTORMING OUTPUT
Brainstorming discussions Outputs
Data Set Partitioning and Boundary Values (Min,Min+,Mid,Max-,Max)
9
SOURCE CODE SNIPPET
Source Code Snippet
UNIT TESTING EXAMPLES
10
UNIT TEST – “ABC” IMPLEMENTATION
“ABC”
Arrange – UT Test code
UT FWK used – GTest
UNIT TESTING EXAMPLES
11
“ABC”
Arrange – UT Test code
UNIT TESTING EXAMPLES
UNIT TEST – “ABC” IMPLEMENTATION
12
“ABC”
Act,Assert – UT Test code
UNIT TESTING EXAMPLES
UNIT TEST – “ABC” IMPLEMENTATION
13
“ABC”
B – Boundary Value & Equivalence Partitioning
UNIT TESTING EXAMPLES
UNIT TEST – “ABC” IMPLEMENTATION
14
Output

More Related Content

What's hot

Automated Requirements-Based Testing for Medical Device Software
Automated Requirements-Based Testing for Medical Device SoftwareAutomated Requirements-Based Testing for Medical Device Software
Automated Requirements-Based Testing for Medical Device SoftwareQA Systems
 
Automating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements ChangeAutomating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements ChangeQA Systems
 
Integration with saucelabs over private network
Integration with saucelabs over private networkIntegration with saucelabs over private network
Integration with saucelabs over private networkTest Armada
 
ScottBritt_newresume
ScottBritt_newresumeScottBritt_newresume
ScottBritt_newresumeScott Britt
 
Overview of Kovair Omnibus Integration Platform
Overview of Kovair Omnibus Integration PlatformOverview of Kovair Omnibus Integration Platform
Overview of Kovair Omnibus Integration PlatformKovair
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwarePerforce
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...Lohika_Odessa_TechTalks
 
Kovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM ToolsKovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM ToolsKovair
 
Automated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CAutomated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CQA Systems
 
Benefits of Real time KPIs & Metrics in an Integrated Environment
Benefits of Real time KPIs & Metrics in an Integrated EnvironmentBenefits of Real time KPIs & Metrics in an Integrated Environment
Benefits of Real time KPIs & Metrics in an Integrated EnvironmentKovair
 
Test Automation NYC 2014
Test Automation NYC 2014Test Automation NYC 2014
Test Automation NYC 2014Kishore Bhatia
 
Kovair ALM Studio Overview
Kovair ALM Studio OverviewKovair ALM Studio Overview
Kovair ALM Studio OverviewKovair
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration TestCampRO
 
William v lucas qa resume no ph
William v lucas qa resume no phWilliam v lucas qa resume no ph
William v lucas qa resume no phBill Lucas
 
Kovair QuickSync Overview
Kovair QuickSync OverviewKovair QuickSync Overview
Kovair QuickSync OverviewKovair
 
FrontEndART QualityGate, the ultimate software quality management system
FrontEndART QualityGate, the ultimate software quality management systemFrontEndART QualityGate, the ultimate software quality management system
FrontEndART QualityGate, the ultimate software quality management systemFrontEndART
 
ALM Revisited
ALM RevisitedALM Revisited
ALM RevisitedKovair
 
Top 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarTop 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarPerfecto by Perforce
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareErika Barron
 

What's hot (20)

Automated Requirements-Based Testing for Medical Device Software
Automated Requirements-Based Testing for Medical Device SoftwareAutomated Requirements-Based Testing for Medical Device Software
Automated Requirements-Based Testing for Medical Device Software
 
Automating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements ChangeAutomating Test Maintenance as Code and Requirements Change
Automating Test Maintenance as Code and Requirements Change
 
Integration with saucelabs over private network
Integration with saucelabs over private networkIntegration with saucelabs over private network
Integration with saucelabs over private network
 
Jagger release 2.0
Jagger release 2.0Jagger release 2.0
Jagger release 2.0
 
ScottBritt_newresume
ScottBritt_newresumeScottBritt_newresume
ScottBritt_newresume
 
Overview of Kovair Omnibus Integration Platform
Overview of Kovair Omnibus Integration PlatformOverview of Kovair Omnibus Integration Platform
Overview of Kovair Omnibus Integration Platform
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty Software
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 
Kovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM ToolsKovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM Tools
 
Automated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178CAutomated Low Level Requirements Testing for DO-178C
Automated Low Level Requirements Testing for DO-178C
 
Benefits of Real time KPIs & Metrics in an Integrated Environment
Benefits of Real time KPIs & Metrics in an Integrated EnvironmentBenefits of Real time KPIs & Metrics in an Integrated Environment
Benefits of Real time KPIs & Metrics in an Integrated Environment
 
Test Automation NYC 2014
Test Automation NYC 2014Test Automation NYC 2014
Test Automation NYC 2014
 
Kovair ALM Studio Overview
Kovair ALM Studio OverviewKovair ALM Studio Overview
Kovair ALM Studio Overview
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration
 
William v lucas qa resume no ph
William v lucas qa resume no phWilliam v lucas qa resume no ph
William v lucas qa resume no ph
 
Kovair QuickSync Overview
Kovair QuickSync OverviewKovair QuickSync Overview
Kovair QuickSync Overview
 
FrontEndART QualityGate, the ultimate software quality management system
FrontEndART QualityGate, the ultimate software quality management systemFrontEndART QualityGate, the ultimate software quality management system
FrontEndART QualityGate, the ultimate software quality management system
 
ALM Revisited
ALM RevisitedALM Revisited
ALM Revisited
 
Top 5 Automation Challenges Webinar
Top 5 Automation Challenges WebinarTop 5 Automation Challenges Webinar
Top 5 Automation Challenges Webinar
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty Software
 

Similar to ABC of developer test

Basic Engineering Design (Part 6): Test and Evaluate
Basic Engineering Design (Part 6): Test and EvaluateBasic Engineering Design (Part 6): Test and Evaluate
Basic Engineering Design (Part 6): Test and EvaluateDenise Wilson
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringKanchanPatil34
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawGregory Solovey
 
Introduction to testing.
Introduction to testing.Introduction to testing.
Introduction to testing.Jithinctzz
 
Software Development Life Cycle Testingtypes
Software Development Life Cycle TestingtypesSoftware Development Life Cycle Testingtypes
Software Development Life Cycle Testingtypesvladimir zaremba
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSSanil Mhatre
 
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software LifecycleSoftware Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software LifecycleNikita Knysh
 
The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...Technical Agility institute
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfFarjanaParvin5
 
Software testing by risk management
Software testing by risk managementSoftware testing by risk management
Software testing by risk managementKobi Vider
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_designTestingGeeks
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Test Process
Test ProcessTest Process
Test Processtokarthik
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010TEST Huddle
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2Dr. Ahmed Al Zaidy
 
In Sync Running Apps On Oracle
In Sync  Running Apps On OracleIn Sync  Running Apps On Oracle
In Sync Running Apps On OracleInSync Conference
 
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test ScenarioFundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test ScenarioSiddharth Sharma
 

Similar to ABC of developer test (20)

Basic Engineering Design (Part 6): Test and Evaluate
Basic Engineering Design (Part 6): Test and EvaluateBasic Engineering Design (Part 6): Test and Evaluate
Basic Engineering Design (Part 6): Test and Evaluate
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineering
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
 
Testing Process
Testing ProcessTesting Process
Testing Process
 
Introduction to testing.
Introduction to testing.Introduction to testing.
Introduction to testing.
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Software Development Life Cycle Testingtypes
Software Development Life Cycle TestingtypesSoftware Development Life Cycle Testingtypes
Software Development Life Cycle Testingtypes
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTS
 
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software LifecycleSoftware Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software Lifecycle
 
The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
Software testing by risk management
Software testing by risk managementSoftware testing by risk management
Software testing by risk management
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Test Process
Test ProcessTest Process
Test Process
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2
 
In Sync Running Apps On Oracle
In Sync  Running Apps On OracleIn Sync  Running Apps On Oracle
In Sync Running Apps On Oracle
 
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test ScenarioFundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
 

More from Dr. Anish Cheriyan (PhD)

Software defined vehicles,automotive standards (safety, security), agile cont...
Software defined vehicles,automotive standards (safety, security), agile cont...Software defined vehicles,automotive standards (safety, security), agile cont...
Software defined vehicles,automotive standards (safety, security), agile cont...Dr. Anish Cheriyan (PhD)
 
Taking a Career Path which you are deeply passionate about
Taking a Career Path which you are deeply passionate aboutTaking a Career Path which you are deeply passionate about
Taking a Career Path which you are deeply passionate aboutDr. Anish Cheriyan (PhD)
 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldDr. Anish Cheriyan (PhD)
 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldDr. Anish Cheriyan (PhD)
 
Quality management in continuous delivery and dev ops world pm footprints v1
Quality management in continuous delivery and dev ops world  pm footprints v1Quality management in continuous delivery and dev ops world  pm footprints v1
Quality management in continuous delivery and dev ops world pm footprints v1Dr. Anish Cheriyan (PhD)
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chanceDr. Anish Cheriyan (PhD)
 
Onion layered Agile test practice Map to Continuous Delivery
Onion layered Agile test practice Map to Continuous DeliveryOnion layered Agile test practice Map to Continuous Delivery
Onion layered Agile test practice Map to Continuous DeliveryDr. Anish Cheriyan (PhD)
 
Anti patterns of testing for continuous delivery adoption
Anti patterns of testing for continuous delivery adoptionAnti patterns of testing for continuous delivery adoption
Anti patterns of testing for continuous delivery adoptionDr. Anish Cheriyan (PhD)
 
Best of Lean Startup and Scrum for product development and enhancement
Best of  Lean Startup and Scrum  for product development and enhancementBest of  Lean Startup and Scrum  for product development and enhancement
Best of Lean Startup and Scrum for product development and enhancementDr. Anish Cheriyan (PhD)
 
Ethical Hacking Conference 2015- Building Secure Products -a perspective
 Ethical Hacking Conference 2015- Building Secure Products -a perspective Ethical Hacking Conference 2015- Building Secure Products -a perspective
Ethical Hacking Conference 2015- Building Secure Products -a perspectiveDr. Anish Cheriyan (PhD)
 

More from Dr. Anish Cheriyan (PhD) (16)

Introducing MLOps.pdf
Introducing MLOps.pdfIntroducing MLOps.pdf
Introducing MLOps.pdf
 
Cyber Security Threat Modeling
Cyber Security Threat ModelingCyber Security Threat Modeling
Cyber Security Threat Modeling
 
Software defined vehicles,automotive standards (safety, security), agile cont...
Software defined vehicles,automotive standards (safety, security), agile cont...Software defined vehicles,automotive standards (safety, security), agile cont...
Software defined vehicles,automotive standards (safety, security), agile cont...
 
Taking a Career Path which you are deeply passionate about
Taking a Career Path which you are deeply passionate aboutTaking a Career Path which you are deeply passionate about
Taking a Career Path which you are deeply passionate about
 
Quality 4.0 and reimagining quality
Quality 4.0 and reimagining qualityQuality 4.0 and reimagining quality
Quality 4.0 and reimagining quality
 
Quality 4.0 and quality by discovery
Quality 4.0 and quality by discoveryQuality 4.0 and quality by discovery
Quality 4.0 and quality by discovery
 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops world
 
Quality assurance in dev ops and secops world
Quality assurance in dev ops and secops worldQuality assurance in dev ops and secops world
Quality assurance in dev ops and secops world
 
Quality management in continuous delivery and dev ops world pm footprints v1
Quality management in continuous delivery and dev ops world  pm footprints v1Quality management in continuous delivery and dev ops world  pm footprints v1
Quality management in continuous delivery and dev ops world pm footprints v1
 
Knowledge management through seci model
Knowledge management through seci modelKnowledge management through seci model
Knowledge management through seci model
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chance
 
Onion layered Agile test practice Map to Continuous Delivery
Onion layered Agile test practice Map to Continuous DeliveryOnion layered Agile test practice Map to Continuous Delivery
Onion layered Agile test practice Map to Continuous Delivery
 
Anti patterns of testing for continuous delivery adoption
Anti patterns of testing for continuous delivery adoptionAnti patterns of testing for continuous delivery adoption
Anti patterns of testing for continuous delivery adoption
 
Best of Lean Startup and Scrum for product development and enhancement
Best of  Lean Startup and Scrum  for product development and enhancementBest of  Lean Startup and Scrum  for product development and enhancement
Best of Lean Startup and Scrum for product development and enhancement
 
Ethical Hacking Conference 2015- Building Secure Products -a perspective
 Ethical Hacking Conference 2015- Building Secure Products -a perspective Ethical Hacking Conference 2015- Building Secure Products -a perspective
Ethical Hacking Conference 2015- Building Secure Products -a perspective
 
Unknown terrain Use lean startup
Unknown terrain Use lean startup Unknown terrain Use lean startup
Unknown terrain Use lean startup
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 

ABC of developer test

  • 1. AGENDA Part1 – COVER THE BASICS (20 MINS) •Overview about A B C • (Arrange Act Assert, BESOD Techniques, Continuous Integration Ready) •BESOD- Be a Super Developer (Acronym of key test design techniques) • Test Design Techniques in Detail (Boundary Value analysis, State transition diagram and others) • (Examples from the existing improvement will be covered as code snippets) •Effective usage of Parametrization approach with examples of code snippet •Mocking the external behaviour through effective mocking •(Examples will be covered) •Running the Unit Test in the Build Pipeline •Bring change at the Organization Level • Clean Code culture and Developer Mindset • Continuous Refactoring • Governance and tracking at leadership level Part1 – PRESENT EXAMPLES OF IMPLEMENTATION OF THE BESOD TECHNIQUES (20 MINS)
  • 2. ABC OF DEVELOPER TEST • AAA- Arrange, Act, Assert: Arrange all necessary preconditions and inputs. Act on the object or method under test. Assert that the expected results have occurred. Use the right Unit test framework, test suite organization and Test naming convention • Behaviors Driven - Focus on key Functionality or Scenarios which the production code is handling. • BESOD- Parametrize Test (Assertion) based on any of these techniques- Boundary Value, Equivalence Partitioning, State Transition, Orthogonal Array, Decision tree • Continuous Integration Ready: Ensure that the Unit test is continuously running the CI system. AAA Behavior/ BESOD Continuous Integration Ready A B C
  • 3. 3 UNIT TEST – STRUCTURE • Arrange  Act  Assert • Give  When  Then • Setup  Exercise  Verify  Teardown Arrange Act Assert • AAA is common standard for writing the unit test cases. • Arrange: It means Arrange everything to setup the unit test case, like creating the objects, initializing/mocking data etc.. • Act: Act on your unit test case, meaning execute necessary functionality/methods that needs to be unit tested. • Assert: This part verifies the functionality/method that we are unit testing is giving the result as per expectation.
  • 4. BASIC TESTING TECHNIQUES • • Equivalence Partitioning
  • 5. 5 STATE TRANSITION TESTING • State Transition testing, is a technique, in which outputs are triggered by changes to the input conditions or changes to 'state' of the system. • In other words, tests are designed to execute valid and invalid state transitions. Using state transition testing, we pick test cases from an application where we need to test different system transitions. We can apply this when an application gives a different output for the same input, depending on what has happened in the earlier state.
  • 6. 6 REQUIREMENT BACKGROUND Feature : Global navigation statellite system S Antenna Status Update Feature Description : Reading and updating Antenna Status from Gnss Chip. Configuring Antenna Pin Values and deriving Antenna Status based on the truth table. Supporting 2 & 3 Pin Logic for Customer Specific Projects. UNIT TESTING EXAMPLES
  • 7. 7 SCOPE PIN15: pinSCD PIN14 pinOCD PIN13 pinSwitch STATUS 0 0 0 OUTOFSERVICE 0 0 1 OUTOFSERVICE 0 1 0 OUTOFSERVICE 0 1 1 SHORT_GND 1 0 0 SHORT_BATT 1 0 1 OPEN 1 1 0 NORMAL 1 1 1 NORMAL PIN15 pinSCD PIN13 pinSwitch STATUS 0 0 OUTOFSERVICE 0 1 SHORT_GND 1 0 SHORT_BATT 1 1 OUTOFSERVICE Truth Table : 3 Pin 2 Pin UNIT TESTING EXAMPLES
  • 8. 8 UNIT TESTING EXAMPLES BRAINSTORMING OUTPUT Brainstorming discussions Outputs Data Set Partitioning and Boundary Values (Min,Min+,Mid,Max-,Max)
  • 9. 9 SOURCE CODE SNIPPET Source Code Snippet UNIT TESTING EXAMPLES
  • 10. 10 UNIT TEST – “ABC” IMPLEMENTATION “ABC” Arrange – UT Test code UT FWK used – GTest UNIT TESTING EXAMPLES
  • 11. 11 “ABC” Arrange – UT Test code UNIT TESTING EXAMPLES UNIT TEST – “ABC” IMPLEMENTATION
  • 12. 12 “ABC” Act,Assert – UT Test code UNIT TESTING EXAMPLES UNIT TEST – “ABC” IMPLEMENTATION
  • 13. 13 “ABC” B – Boundary Value & Equivalence Partitioning UNIT TESTING EXAMPLES UNIT TEST – “ABC” IMPLEMENTATION