SlideShare uma empresa Scribd logo
1 de 19
Test-Driven Development   Introduction 김종선 Senior  researcher  Technology Research Institute
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object]
Test-Driven Development (TDD) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Unit Tests ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Refactoring ,[object Object],[object Object],[object Object],[object Object]
Test List ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Red / Green / Refactor Write a test for  new capability Start Compile Fix compile  errors Run the test And see it fail Write the code Run the test And see it pass Refactor  as needed
[object Object],[object Object],[object Object],[object Object]
Characteristics of TDD ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TDD Tenets ,[object Object],[object Object]
Observation ,[object Object],[object Object],[object Object],[object Object]
Mock Objects ,[object Object],[object Object],[object Object]
Example ,[object Object],Money +GetRate(string from, string to):double FinancialServices WS +GetRate(string from, string to):double
Mock Objects ,[object Object],[object Object],FinancialServicesWS +GetRate(string from, string to):double MockFinancialServicesWS +GetRate(string from, string to):double IFinancialServicesWS +GetRate(string from, string to):double
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
User Interfaces ,[object Object],[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object]
Q & A

Mais conteúdo relacionado

Mais procurados

White box testing
White box testing White box testing
White box testing Mani Kanth
 
Test scenarios for sending & receiving emails
Test scenarios for sending & receiving emailsTest scenarios for sending & receiving emails
Test scenarios for sending & receiving emailsMorpheous Algan
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisniharika5412
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testingSlideshare
 
Black box testing lecture 11
Black box testing lecture 11Black box testing lecture 11
Black box testing lecture 11Abdul Basit
 
Fundamental Test Design Techniques
Fundamental Test Design TechniquesFundamental Test Design Techniques
Fundamental Test Design TechniquesTechWell
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testingNitishMhaske1
 
Testcase definition
Testcase definitionTestcase definition
Testcase definitionOana Feidi
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box TestingTestbytes
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Introduction to formal methods
Introduction to formal methodsIntroduction to formal methods
Introduction to formal methodsInzemamul Haque
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case DesignSelvi Vts
 
Test Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingTest Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingSeyed Ali Marjaie
 
Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...
Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...
Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...Agile Testing alliance
 

Mais procurados (20)

White box testing
White box testing White box testing
White box testing
 
Test scenarios for sending & receiving emails
Test scenarios for sending & receiving emailsTest scenarios for sending & receiving emails
Test scenarios for sending & receiving emails
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysis
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testing
 
Black box testing lecture 11
Black box testing lecture 11Black box testing lecture 11
Black box testing lecture 11
 
Fundamental Test Design Techniques
Fundamental Test Design TechniquesFundamental Test Design Techniques
Fundamental Test Design Techniques
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testing
 
Testcase definition
Testcase definitionTestcase definition
Testcase definition
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Black box and white box testing
Black box and white box testingBlack box and white box testing
Black box and white box testing
 
Introduction to formal methods
Introduction to formal methodsIntroduction to formal methods
Introduction to formal methods
 
Gray box testing
Gray box testingGray box testing
Gray box testing
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case Design
 
Test Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingTest Cases Maintaining & Documenting
Test Cases Maintaining & Documenting
 
Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...
Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...
Agile Testing Alliance Chapter presentation - Equivalence Partition and Bound...
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Database Testing
Database TestingDatabase Testing
Database Testing
 
DISE - Programming Concepts
DISE - Programming ConceptsDISE - Programming Concepts
DISE - Programming Concepts
 

Destaque

가진자의 여유를 위한 마인드맵
가진자의 여유를 위한 마인드맵가진자의 여유를 위한 마인드맵
가진자의 여유를 위한 마인드맵Samsung Electronics
 
재무제표 보는 법 홍정표세무사
재무제표 보는 법 홍정표세무사재무제표 보는 법 홍정표세무사
재무제표 보는 법 홍정표세무사taxon9985
 

Destaque (6)

Presencia internet
Presencia internetPresencia internet
Presencia internet
 
Asas do Intento
Asas do IntentoAsas do Intento
Asas do Intento
 
사명선언문
사명선언문사명선언문
사명선언문
 
가진자의 여유를 위한 마인드맵
가진자의 여유를 위한 마인드맵가진자의 여유를 위한 마인드맵
가진자의 여유를 위한 마인드맵
 
회계 천재가 된 홍대리2
회계 천재가 된 홍대리2회계 천재가 된 홍대리2
회계 천재가 된 홍대리2
 
재무제표 보는 법 홍정표세무사
재무제표 보는 법 홍정표세무사재무제표 보는 법 홍정표세무사
재무제표 보는 법 홍정표세무사
 

Semelhante a TDD Introduction for Financial Service Apps

Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Test driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseTest driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseUTC Fire & Security
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 
Testing of React JS app
Testing of React JS appTesting of React JS app
Testing of React JS appAleks Zinevych
 
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestStopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestSeb Rose
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEVKrit Kamtuo
 
Evolutionary db development
Evolutionary db development Evolutionary db development
Evolutionary db development Open Party
 
An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testingAdam Stephensen
 
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioSPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioNCCOMMS
 
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Ukraine
 
Pragmatic Architecture in .NET
Pragmatic Architecture in .NETPragmatic Architecture in .NET
Pragmatic Architecture in .NEThousecor
 
Loopt unit test experiences
Loopt unit test experiencesLoopt unit test experiences
Loopt unit test experiencesHeine Frifeldt
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power pointjustmeanscsr
 
Acceptance Testing With Selenium
Acceptance Testing With SeleniumAcceptance Testing With Selenium
Acceptance Testing With Seleniumelliando dias
 
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010Ed Blankenship
 

Semelhante a TDD Introduction for Financial Service Apps (20)

Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Test driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + EclipseTest driven development in .Net - 2010 + Eclipse
Test driven development in .Net - 2010 + Eclipse
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
Testing of React JS app
Testing of React JS appTesting of React JS app
Testing of React JS app
 
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestStopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under Test
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEV
 
Evolutionary db development
Evolutionary db development Evolutionary db development
Evolutionary db development
 
An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testing
 
Vs2008 Ms Lux
Vs2008 Ms LuxVs2008 Ms Lux
Vs2008 Ms Lux
 
Vs2008 Ms Lux
Vs2008 Ms LuxVs2008 Ms Lux
Vs2008 Ms Lux
 
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual StudioSPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
SPCA2013 - Test-driven Development with SharePoint 2013 and Visual Studio
 
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
 
Pragmatic Architecture in .NET
Pragmatic Architecture in .NETPragmatic Architecture in .NET
Pragmatic Architecture in .NET
 
Loopt unit test experiences
Loopt unit test experiencesLoopt unit test experiences
Loopt unit test experiences
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Acceptance Testing With Selenium
Acceptance Testing With SeleniumAcceptance Testing With Selenium
Acceptance Testing With Selenium
 
PSResume
PSResumePSResume
PSResume
 
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010
 
The first looks at VSTS2010
The first looks at VSTS2010The first looks at VSTS2010
The first looks at VSTS2010
 

Mais de Samsung Electronics (20)

OWASP TOP 10 in 2007
OWASP TOP 10 in 2007OWASP TOP 10 in 2007
OWASP TOP 10 in 2007
 
Open platform/API overview
Open platform/API overviewOpen platform/API overview
Open platform/API overview
 
구본형_깊은인생_강연회_요약
구본형_깊은인생_강연회_요약구본형_깊은인생_강연회_요약
구본형_깊은인생_강연회_요약
 
회계 천재가 된 홍대리3
회계 천재가 된 홍대리3회계 천재가 된 홍대리3
회계 천재가 된 홍대리3
 
회계 천재가 된 홍대리1
회계 천재가 된 홍대리1회계 천재가 된 홍대리1
회계 천재가 된 홍대리1
 
2011년 사명선언문
2011년 사명선언문2011년 사명선언문
2011년 사명선언문
 
2011 김종선 비전맵
2011 김종선 비전맵2011 김종선 비전맵
2011 김종선 비전맵
 
글쓰기로 배우는 행복한 인생
글쓰기로 배우는 행복한 인생글쓰기로 배우는 행복한 인생
글쓰기로 배우는 행복한 인생
 
Open standard
Open standardOpen standard
Open standard
 
Garbage Collection
Garbage CollectionGarbage Collection
Garbage Collection
 
나는 누구인가
나는 누구인가나는 누구인가
나는 누구인가
 
김쉡의 휴가요리 24선
김쉡의 휴가요리 24선김쉡의 휴가요리 24선
김쉡의 휴가요리 24선
 
DISC분석을 위한 마피아게임
DISC분석을 위한 마피아게임DISC분석을 위한 마피아게임
DISC분석을 위한 마피아게임
 
Service-Oriented Architecture in a Nutshell
Service-Oriented Architecture in a NutshellService-Oriented Architecture in a Nutshell
Service-Oriented Architecture in a Nutshell
 
Jack Welch 'Winning'
Jack Welch 'Winning'Jack Welch 'Winning'
Jack Welch 'Winning'
 
Software Inspection
Software InspectionSoftware Inspection
Software Inspection
 
Tech
TechTech
Tech
 
1%씩 성장하기
1%씩 성장하기1%씩 성장하기
1%씩 성장하기
 
애자일프랙티스
애자일프랙티스애자일프랙티스
애자일프랙티스
 
비전워크샵
비전워크샵비전워크샵
비전워크샵
 

Último

HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 

Último (20)

YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 

TDD Introduction for Financial Service Apps

  • 1. Test-Driven Development Introduction 김종선 Senior researcher Technology Research Institute
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Red / Green / Refactor Write a test for new capability Start Compile Fix compile errors Run the test And see it fail Write the code Run the test And see it pass Refactor as needed
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Q & A

Notas do Editor

  1. TDD promove a criação de código testável. Esta é uma característica importante do código e relaciona-se com: Forte Coesão: Classes coesas -> responsabilidades bem definidas -> testes sintéticos Loose Coupling: Fácil de testar classes isoladamente Baixa redundância: 1 Teste por responsabilidade Encapsulamento: Testes identificam os métodos e propriedades que têm de ser expostos (ajudam a definir a interface) Todas estas características são o resultado de boas práticas de desenvolvimento, pelo que o desenvolvimento de bons testes resulta em melhor código.
  2. Um factor que é fácil de observar à medida que ganhamos mais prática a desenvolver código de forma Test-Driven é que é mais simples desenvolver testes para componentes do “interior” do sistema do que para componentes que se encontram na “orla” do sistema. São conhecidas as dificuldades em implementar testes para componentes que lidam com Web Services, Componentes de Acesso a Dados ou interfaces gráficas. Existem algumas técnicas que nos ajudam a lidar com estes desafios.
  3. Endo-Testing é uma técnica que consiste em eliminar dependências substituindo objectos dependentes por objectos de teste chamados Mock objects. Mas qual é exactamente a vantagem de criarmos um novo objecto e substituir objectos que fazem parte do domínio por estes objectos de teste? Quando os componentes que pretendemos testar se encontram na “orla” do sistema, as dependências que estes possuem são geralmente de sistemas externos. Por vezes estes sistemas não se encontram disponíveis no ambiente de desenvolvimento ou então produzem resultados não determinísticos. Para termos confiança no resultado dos testes estes têm de ser determinísticos. Nestes casos, os testes devem ser realizados de forma a conseguirmos testar os componentes do sistema isoladamente. Uma solução é utilizar Mock Objects.
  4. Imaginemos que tempos uma classe Money com um método estático GetRate() que deve obter uma taxa de câmbio de um Web Service. A questão que se coloca é como é que conseguimos implementar um teste para o método GetRate() da classe Money se o resultado do Web Service é imprevisível (seja porque não está disponível no ambiente de desenvolvimento, ou porque os valores devolvidos pelo Web Service variam constantemente)?
  5. A solução consiste em substituir nos testes o proxy do Web Service por um Mock do mesmo. No entanto para conseguirmos criar um Mock Object necessitamos de ter uma interface.
  6. Apesar das vantagens, a utilização de Mock Objects apresenta também alguns desafios. Em primeiro lugar, no caso de serem Mock Objects estáticos, resultam em mais classes para manter. No entanto, o maior desafio consiste em como quebrar o encapsulamento de forma a substituir o objecto real pelo Mock.
  7. São particularmente difíceis de testar e, consequentemente, difíceis de implementar de forma test-driven. É importante considerar que não basta conseguir definir um teste, é necessário que o próprio processo de implementação do teste e desenvolvimento do código UI correspondente seja simples para que o tempo de turn-around não desencoraje a prática de TDD.