SlideShare a Scribd company logo
Unit Testing
and
Test-Driven
Development
In Unity3D
Thursday, 22 August 13
Definitions
Thursday, 22 August 13
Test
“Automated code that
invokes a system and checks
behaviour.”
Thursday, 22 August 13
Unit Test
“Checks a single
assumption about the
behavior of one system.”
Thursday, 22 August 13
Integration
Test
“Checks multiple systems
are correctly connected”
Thursday, 22 August 13
Unit Test != Integration Test
Only fails when target
assumption fails
Fails when one of multiple
implicit assumptions fail
Thursday, 22 August 13
Qualities of a Unit Test
Readable
Maintainable Trustworthy
Thursday, 22 August 13
[Test]
void UpdatePath_OneActionChild_AddsSelAndChildToPath() {
var actionNode = FakeAction.CreateStub();
m_selNode.AddChild(actionNode);
m_selNode.UpdatePath(m_path, NodeResult.Fails, null);
var desiredPath = new ITreeNode[] {
m_selNode, actionNode };
Assert.IsEqualSequence(m_path, desiredPath);
}
Thursday, 22 August 13
Test Driven
Development
Thursday, 22 August 13
SCIENCE!
•15-30% higher code “quality”
•10-20% longer development
time
http://biblio.gdinwiddie.com/biblio/StudiesOfTestDrivenDevelopment
Thursday, 22 August 13
TDD
1: Write a unit test
2: Watch it fail
3: Make it pass simply
4: Refactor
5: Goto 1
Thursday, 22 August 13
Demo
Thursday, 22 August 13
TDD and Unity3D
Thursday, 22 August 13
NON-TRIVAL
No post-
compile hook
MonoBehaviours are
un-unit-testable
Lots of alt-
tabbing
Thursday, 22 August 13
Model View
Controller
MonoBehaviour View
Game code Controller
Struct data Model
Thursday, 22 August 13
class InitialGunSetupView : MonoBehaviour
Model View
Controller
class Gun : MonoBehaviour
class GunController
class AmmoView : MonoBehaviour
struct GunModel
TDD
Thursday, 22 August 13
Model View
Controller
class Gun : MonoBehaviour {
public GunModel Model { get; private set; }
void Awake() {
Model = new GunModel();
m_controller = new GunController(Model);
class AmmoView : MonoBehaviour {
void Awake() {
m_model = GetComponent<Gun>().GunModel;
Thursday, 22 August 13
Dependency
Injection
public void GunController(GunModel model, IWorldPhysics physics) {
Physics = physics;
Model = model;
}
Thursday, 22 August 13
Recap
Thursday, 22 August 13
•Unit tests test only one thing
•Readable, maintainable, trustable
•SCIENCE says TDD is e!ective
•Write test, see fail, make pass, refactor
•Model-View-Controller and Dependency Injection
make TDD possible in Unity
•Kent Beck, “Test Driven Development”
•Roy Osherove, “Art of Unit Testing”
•UnTest http://www.github.com/tenpn/untest
•Moq https://www.nuget.org/packages/moq
•StrangeIOC http://thirdmotion.github.io/
strangeioc/
Andrew Fray, @tenpn, andrew.fray@gmail.com
http://andrewfray.wordpress.com
Thursday, 22 August 13

More Related Content

What's hot

TestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaTestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | Edureka
Edureka!
 
TestNG Data Binding
TestNG Data BindingTestNG Data Binding
TestNG Data Binding
Matthias Rothe
 
TestNg_Overview_Config
TestNg_Overview_ConfigTestNg_Overview_Config
TestNg_Overview_Config
Abhishek Chakraborty
 
TestNG introduction
TestNG introductionTestNG introduction
TestNG introduction
Denis Bazhin
 
Test ng for testers
Test ng for testersTest ng for testers
Test ng for testers
Colombo Selenium Meetup
 
Junit and testNG
Junit and testNGJunit and testNG
Junit and testNG
Марія Русин
 
Introduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit framework
BugRaptors
 
TestNG
TestNGTestNG
Test ng tutorial
Test ng tutorialTest ng tutorial
Test ng tutorial
Srikrishna k
 
Test NG Framework Complete Walk Through
Test NG Framework Complete Walk ThroughTest NG Framework Complete Walk Through
Test NG Framework Complete Walk Through
Narendran Solai Sridharan
 
Test ng
Test ngTest ng
Test ng
fbenault
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
Levon Apreyan
 
Unit testing
Unit testingUnit testing
Unit testing
jeslie
 
TestNG vs Junit
TestNG vs JunitTestNG vs Junit
TestNG vs Junit
Büşra İçöz
 
TestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingTestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit Testing
Bethmi Gunasekara
 
Automation test
Automation testAutomation test
Automation test
yuyijq
 
Test doubles
Test doublesTest doubles
Unit testing
Unit testingUnit testing
Unit test-using-spock in Grails
Unit test-using-spock in GrailsUnit test-using-spock in Grails
Unit test-using-spock in Grails
NexThoughts Technologies
 
Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
TO THE NEW | Technology
 

What's hot (20)

TestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | EdurekaTestNG Annotations in Selenium | Edureka
TestNG Annotations in Selenium | Edureka
 
TestNG Data Binding
TestNG Data BindingTestNG Data Binding
TestNG Data Binding
 
TestNg_Overview_Config
TestNg_Overview_ConfigTestNg_Overview_Config
TestNg_Overview_Config
 
TestNG introduction
TestNG introductionTestNG introduction
TestNG introduction
 
Test ng for testers
Test ng for testersTest ng for testers
Test ng for testers
 
Junit and testNG
Junit and testNGJunit and testNG
Junit and testNG
 
Introduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit frameworkIntroduction of TestNG framework and its benefits over Junit framework
Introduction of TestNG framework and its benefits over Junit framework
 
TestNG
TestNGTestNG
TestNG
 
Test ng tutorial
Test ng tutorialTest ng tutorial
Test ng tutorial
 
Test NG Framework Complete Walk Through
Test NG Framework Complete Walk ThroughTest NG Framework Complete Walk Through
Test NG Framework Complete Walk Through
 
Test ng
Test ngTest ng
Test ng
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
 
Unit testing
Unit testingUnit testing
Unit testing
 
TestNG vs Junit
TestNG vs JunitTestNG vs Junit
TestNG vs Junit
 
TestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit TestingTestNG - The Next Generation of Unit Testing
TestNG - The Next Generation of Unit Testing
 
Automation test
Automation testAutomation test
Automation test
 
Test doubles
Test doublesTest doubles
Test doubles
 
Unit testing
Unit testingUnit testing
Unit testing
 
Unit test-using-spock in Grails
Unit test-using-spock in GrailsUnit test-using-spock in Grails
Unit test-using-spock in Grails
 
Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
 

Viewers also liked

Tdd in unity
Tdd in unityTdd in unity
Tdd in unity
Eric Smith
 
Remote Working at Spry Fox
Remote Working at Spry FoxRemote Working at Spry Fox
Remote Working at Spry Fox
Andrew Fray
 
Game testing
Game testingGame testing
Game testing
Amit Majumdar
 
Practical unit testing GDC 2014
Practical unit testing GDC 2014Practical unit testing GDC 2014
Practical unit testing GDC 2014
Andrew Fray
 
Tdd,Ioc
Tdd,IocTdd,Ioc
Javascript TDD by example
Javascript TDD by exampleJavascript TDD by example
Javascript TDD by example
Eric Mignot
 
Java script tutorial by example
Java script tutorial by exampleJava script tutorial by example
Java script tutorial by example
myzyzy
 
Mock driven development using .NET
Mock driven development using .NETMock driven development using .NET
Mock driven development using .NET
Puneet Ghanshani
 
[Pl in c++] 10. battleship game 5
[Pl in c++] 10. battleship game 5[Pl in c++] 10. battleship game 5
[Pl in c++] 10. battleship game 5MinGeun Park
 
[Pl in c++] 9. 다형성
[Pl in c++] 9. 다형성[Pl in c++] 9. 다형성
[Pl in c++] 9. 다형성MinGeun Park
 
[Pl in c++] 5. 객체지향 프로그래밍
[Pl in c++] 5. 객체지향 프로그래밍[Pl in c++] 5. 객체지향 프로그래밍
[Pl in c++] 5. 객체지향 프로그래밍MinGeun Park
 
Software testing vs. Game testing
Software testing vs. Game testingSoftware testing vs. Game testing
Software testing vs. Game testing
Johan Hoberg
 
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
MinGeun Park
 
[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2
MinGeun Park
 
[Pl in c++] 12. learning
[Pl in c++] 12. learning[Pl in c++] 12. learning
[Pl in c++] 12. learningMinGeun Park
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
 
Top 10 games tester interview questions and answers
Top 10 games tester interview questions and answersTop 10 games tester interview questions and answers
Top 10 games tester interview questions and answers
caitlinkelly433
 
Introduce Game Testing And QA
Introduce Game Testing And QAIntroduce Game Testing And QA
Introduce Game Testing And QA
Pham Anh Tuan
 
[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in Game[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in GameMinGeun Park
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
MinGeun Park
 

Viewers also liked (20)

Tdd in unity
Tdd in unityTdd in unity
Tdd in unity
 
Remote Working at Spry Fox
Remote Working at Spry FoxRemote Working at Spry Fox
Remote Working at Spry Fox
 
Game testing
Game testingGame testing
Game testing
 
Practical unit testing GDC 2014
Practical unit testing GDC 2014Practical unit testing GDC 2014
Practical unit testing GDC 2014
 
Tdd,Ioc
Tdd,IocTdd,Ioc
Tdd,Ioc
 
Javascript TDD by example
Javascript TDD by exampleJavascript TDD by example
Javascript TDD by example
 
Java script tutorial by example
Java script tutorial by exampleJava script tutorial by example
Java script tutorial by example
 
Mock driven development using .NET
Mock driven development using .NETMock driven development using .NET
Mock driven development using .NET
 
[Pl in c++] 10. battleship game 5
[Pl in c++] 10. battleship game 5[Pl in c++] 10. battleship game 5
[Pl in c++] 10. battleship game 5
 
[Pl in c++] 9. 다형성
[Pl in c++] 9. 다형성[Pl in c++] 9. 다형성
[Pl in c++] 9. 다형성
 
[Pl in c++] 5. 객체지향 프로그래밍
[Pl in c++] 5. 객체지향 프로그래밍[Pl in c++] 5. 객체지향 프로그래밍
[Pl in c++] 5. 객체지향 프로그래밍
 
Software testing vs. Game testing
Software testing vs. Game testingSoftware testing vs. Game testing
Software testing vs. Game testing
 
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
 
[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2
 
[Pl in c++] 12. learning
[Pl in c++] 12. learning[Pl in c++] 12. learning
[Pl in c++] 12. learning
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
Top 10 games tester interview questions and answers
Top 10 games tester interview questions and answersTop 10 games tester interview questions and answers
Top 10 games tester interview questions and answers
 
Introduce Game Testing And QA
Introduce Game Testing And QAIntroduce Game Testing And QA
Introduce Game Testing And QA
 
[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in Game[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in Game
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
 

Recently uploaded

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

Unit Testing and Test Driven Development in Unity3D