SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
MOVE FAST AND FIX TESTS
Shauvik Roy Choudhary
@shauvik http://shauvik.com
GOING FROM
MANUAL TO AUTOMATED:
MOVE FAST AND FIX TESTS
Shauvik Roy Choudhary
@shauvik http://shauvik.com
GOING FROM
MANUAL TO AUTOMATED:
MOVE FAST AND FIX TESTS
Shauvik Roy Choudhary
@shauvik http://shauvik.com
GOING FROM
MANUAL TO AUTOMATED:
Checks
ABOUT ME
• PhD Thesis:

Cross-platformTesting & Maintenance of
Web & Mobile Apps
• Industry:

Google,Yahoo!, FullStory, Fujitsu Labs, IBM
Research, HSBC, Goldman Sachs
• Entrepreneurship:

GeorgiaTechTI:GER program,VentureLab,
ATDC,TechSquare Labs
Shauvik Roy Choudhary
PhD, GeorgiaTech
Founder, CheckDroid
OUTLINE
• MOTIVATION: Why Automate ?
• MOVE FAST: How to Automate Quickly?
• FIX TESTS: How to Resolve Automation Issues?
• SCENARIO: Android UITesting
• DISCUSSION
WHY AUTOMATETESTS?
Software
ManualTesting
WHY AUTOMATETESTS?
Software
ManualTesting
WHY AUTOMATETESTS?
Software
ManualTesting
WHY AUTOMATETESTS?
Software
ManualTesting
WHY AUTOMATETESTS?
Software
ManualTesting
PLATFORMS
Web Tester
PLATFORMS
Web Tester
PLATFORMS
Web Tester
PLATFORMS
Web Tester
PLATFORMS
Web Tester
PLATFORMS
Web Tester
PLATFORMS
Web Tester
PLATFORMS
Web Tester
Mobile Tester
Lollipop
Android 5.0
9
HOWTO AUTOMATE?
HOWTO AUTOMATE?
WHAT
Parts of your App
HOWTO AUTOMATE?
HOW
Infrastructure
Tool Support
WHAT
Parts of your App
WHAT:TOTEST
• Functional Tests

Positive and negative scenarios
• Non-Functional Tests

Performance, Security, Compatibility…
• Previous Issues (identified Manually)

Never to occur in Regressions
HOW: INFRASTRUCTURE
• Unit Tests

xUnit for different programming languages
• UI Tests

Selenium/WebDriver for Web Apps

Appium for Mobile (iOS,Android)

Espresso for Android
IDEALTESTING PYRAMID
by Mike Cohn
ICE-CREAM CONE
HOUR GLASS
source: just-about.net
TESTING DIAMOND
Source: toddlittleweb.com
CHRISTMASTREE
source: just-about.net
UITESTS
CLOSESTTO
END-USERTESTING
MOVE FAST
How to automate quickly?
RELIABLE INFRASTRUCTURE
VISUALTEST RECORDING
FIX TESTS
How to fix broken tests?
UITESTING ISSUES
UITESTING ISSUES
• FRAGILITY
UITESTING ISSUES
• FRAGILITY
• SPEED
UITESTING ISSUES
• FRAGILITY
• SPEED
• FLAKINESS
1. FRAGILETESTS
REDUCING FRAGILITY
• Use durable selectors
• IDs over XPath
• Relative XPaths over Absolute XPaths
• Other durable labels (class, content-desc..)
2. SLOWTESTS
MAKINGTESTS FAST
• Don’t use Sleeps
• If absolutely necessary, sleep while polling
• Replace slow resources with stubs
doSomething()
Thread.sleep(1000)
checkSomething()
doSomething()
do{
Thread.sleep(1000)
}while(!loaded)
checkSomething()
FLAKINESS
UIThread
TestThread
Work in
Queue
FLAKINESS
UIThread
TestThread
Work in
Queue
click
FLAKINESS
UIThread
TestThread
Work in
Queue
click
Motion
down
Motion
up
FLAKINESS
UIThread
TestThread
Work in
Queue
click
Motion
down
Motion
up
assert
FLAKINESS
UIThread
TestThread
Work in
Queue
click
Motion
down
Motion
up
assert
FLAKINESS
UIThread
TestThread
Work in
Queue
click
Motion
down
Motion
up
assertsleep
FLAKINESS
UIThread
TestThread
Work in Queue
click
Motion
down
Motion
up
assertsleep
TESTS
3. FLAKYTESTS
Image credits: Google, GTAC talk
REDUCING FLAKINESS
• Have a hermetic test environment
Source: googletesting.blogspot.com
REDUCING FLAKINESS
• Have a hermetic test environment
Source: googletesting.blogspot.com
FIX TESTS
1. FRAGILETESTS
FIX TESTS
1. FRAGILETESTS
2. SLOWTESTS
FIX TESTS
1. FRAGILETESTS
2. SLOWTESTS
3. FLAKYTESTS
Image credits: Google, GTAC talk
FIX TESTS
ANDROID UI TESTING
MOBILETESTING PYRAMID
Source: Daniel Knott,AdventuresInQA
Author: Hand-On Mobile AppTesting
ANDROIDTESTINGTOOLS
Image credits: BitBar
ESPRESSO: HOW IT WORKS
UIThread
TestThread
Work in
Queue
Test Case
Motion
down
Motion
up
Espresso
action assert
Blocked
ESPRESSO METHODS
onView(Matcher)
.perform(ViewAction)
.check(ViewAssertion)
EXAMPLES
onView(withId(R.id.greeting))

.perform(click());
onView(withText("Hello Steve!"))

.check(matches(isDisplayed()));
EXAMPLES
onView(withId(R.id.greeting))

.perform(click());
onView(withText("Hello Steve!"))

.check(matches(isDisplayed()));
Find
EXAMPLES
onView(withId(R.id.greeting))

.perform(click());
onView(withText("Hello Steve!"))

.check(matches(isDisplayed()));
Find
Do Stuff
EXAMPLES
onView(withId(R.id.greeting))

.perform(click());
onView(withText("Hello Steve!"))

.check(matches(isDisplayed()));
Find
Do Stuff
Check
onView(Matcher<View>)
●  withId
●  withText
●  withContentDescription
●  isDisplayed
●  hasFocus
●  hasSibling
●  ...
●  mySpecialMatcher
perform(ViewAction)
●  click
●  longClick
●  doubleClick
●  typeText
●  scrollTo
●  ...
●  myCustomAction
check(ViewAssertion)
●  matches(...)
●  doesNotExist
●  myCustomAssertion
HIERARCHY
withParent(Matcher)
withChild(Matcher)
hasDescendant(Matcher)
isDescendantOfA(Matcher)
hasSibling(Matcher)
isRoot()
UI PROPERTIES
isDisplayed()
isCompletelyDisplayed()
isEnabled()
hasFocus()
isClickable()
isChecked()
isNotChecked()
withEffectiveVisibility(…)
isSelected()
ROOT MATCHERS
isFocusable()
isTouchable()
isDialog()
withDecorView(…)
isPlatformPopup()
COMMON HAMCREST
MATCHERS
allOf(Matchers)
anyOf(Matchers)
is(...)
not(...)
endsWith(String)
startsWith(String)
SEE ALSO
Preference matchers
Cursor matchers
USER PROPERTIES
withId(…)
withText(…)
withTagKey(…)
withTagValue(…)
hasContentDescription(…)
withContentDescription(…)
withHint(…)
withSpinnerText(…)
hasLinks()
hasEllipsizedText()
hasMultilineText()
INPUT
supportsInputMethods(…)
hasImeAction(…)
CLASS
isAssignableFrom(…)
withClassName(…)
Matchers
CLICK/PRESS
click()
doubleClick()
longClick()
pressBack()
pressImeActionButton()
pressKey([int/EspressoKey])
pressMenuKey()
closeSoftKeyboard()
openLink(…)
GESTURES
scrollTo()
swipeLeft()
swipeRight()
swipeUp()
swipeDown()
TEXT
clearText()
typeText(String)
typeTextIntoFocusedView(String)
replaceText(String)
POSITION ASSERTIONS
isLeftOf(Matcher)
isRightOf(Matcher)
isLeftAlignedWith(Matcher)
isRightAlignedWith(Matcher)
isAbove(Matcher)
isBelow(Matcher)
isBottomAlignedWith(Matcher)
isTopAlignedWith(Matcher)
LAYOUT ASSERTIONS
noEllipsizedText(Matcher)
noMultilineButtons()
noOverlaps([Matcher])
View Actions
matches(Matcher)
doesNotExist()
selectedDescendantsMatch(…)
View Assertions
onView(Matcher)
.perform(ViewAction)
.check(ViewAssertion)
CHEAT SHEET
2.0
BARISTA
EspressoTest Generation
http://checkdroid.com/barista
DEMO
Tests
TEST CLOUD
WHY AUTOMATETESTS?
Software
ManualTesting
WHY AUTOMATETESTS?
Software
ManualTesting
MOVE FAST
How to automate quickly?
WHY AUTOMATETESTS?
Software
ManualTesting
MOVE FAST
How to automate quickly?
1. FRAGILETESTS
2. SLOWTESTS
3. FLAKYTESTS
Image credits: Google, GTAC talk
FIX TESTS
WHY AUTOMATETESTS?
Software
ManualTesting
MOVE FAST
How to automate quickly?
1. FRAGILETESTS
2. SLOWTESTS
3. FLAKYTESTS
Image credits: Google, GTAC talk
FIX TESTS
ANDROID UI TESTING
DISCUSSION
Are you currently automating tests?
What are some challenges that you see?
THANKS!
Shauvik Roy Choudhary
@shauvik http://shauvik.com

Contenu connexe

Similaire à From Manual to Automated Tests - STAC 2015

Effectively Using UI Automation
Effectively Using UI AutomationEffectively Using UI Automation
Effectively Using UI AutomationAlexander Repty
 
Introduction to atdd
Introduction to atddIntroduction to atdd
Introduction to atddShawn Wallace
 
Be Modern Agile Tester
Be Modern Agile TesterBe Modern Agile Tester
Be Modern Agile TesterYi Xu
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareChris Weldon
 
Ops Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon EdwardsOps Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon EdwardsSeniorStoryteller
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsLuís Bastião Silva
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETBen Hall
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightInflectra
 
Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...
Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...
Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...LetAgileFly
 
The Many Ways to Test Your React App
The Many Ways to Test Your React AppThe Many Ways to Test Your React App
The Many Ways to Test Your React AppAll Things Open
 
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloudITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloudIstanbul Tech Talks
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation ArchitectureErdem YILDIRIM
 
'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam KnightTEST Huddle
 
In-house web automation?
In-house web automation?In-house web automation?
In-house web automation?Adam Christian
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NETWyn B. Van Devanter
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Alan Richardson
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Niels Frydenholm
 

Similaire à From Manual to Automated Tests - STAC 2015 (20)

Effectively Using UI Automation
Effectively Using UI AutomationEffectively Using UI Automation
Effectively Using UI Automation
 
Introduction to atdd
Introduction to atddIntroduction to atdd
Introduction to atdd
 
Be Modern Agile Tester
Be Modern Agile TesterBe Modern Agile Tester
Be Modern Agile Tester
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver Software
 
Ops Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon EdwardsOps Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon Edwards
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NET
 
talk
talktalk
talk
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...
Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...
Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at ...
 
The Many Ways to Test Your React App
The Many Ways to Test Your React AppThe Many Ways to Test Your React App
The Many Ways to Test Your React App
 
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloudITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight'An Evolution Into Specification By Example' by Adam Knight
'An Evolution Into Specification By Example' by Adam Knight
 
Testing smells
Testing smellsTesting smells
Testing smells
 
In-house web automation?
In-house web automation?In-house web automation?
In-house web automation?
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NET
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

From Manual to Automated Tests - STAC 2015