SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Downloaden Sie, um offline zu lesen
#WISSENTEILEN
UI Testing mit Xcode 7
Michael Kotten | OPEN KNOWLEDGE
@michaelkotten
@_openknowledge
#WISSENTEILEN
Warum testen?
UI Testing mit Xcode 7
MTC

2016
Motivation
#WISSENTEILEN


„Wer testet, ist
feige!“


„Ich weiß doch, dass
mein Code funktioniert!“


„Wenn ich den Test selber
schreibe, hat es eh keinen
Sinn!“
„Keine Zeit für Unit Tests!“
UI Testing mit Xcode 7
MTC

2016
Motivation
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Motivation
„Unit testing is not about
finding bugs.“
#WISSENTEILEN
‣ Notwendig bei komplexen Systemen
‣ Sicherung von
‣ Qualität
‣ Funktionalität
‣ Wichtig bei agilen Entwicklungsprozessen
‣ Schnelle Entwicklungszyklen
UI Testing mit Xcode 7
MTC

2016
Motivation
#WISSENTEILEN
Wie testen?
UI Testing mit Xcode 7
MTC

2016
Motivation
#WISSENTEILEN
eXtreme Clicking
UI Testing mit Xcode 7
MTC

2016
Motivation
#WISSENTEILEN
nur auf dem
Entwicklerrechner
Motivation
UI Testing mit Xcode 7
MTC

2016
#WISSENTEILEN
Kunden
Motivation
UI Testing mit Xcode 7
MTC

2016
#WISSENTEILEN
© Ultrashock - iStock
Motivation
UI Testing mit Xcode 7
MTC

2016
Expect the
	 Unexpected!
#WISSENTEILEN
Anforderungen an Testabdeckung
‣ Alles “Offensichtliche” plus …

‣ … Umwelteinflüsse & Störungen
‣ … System Notifications
‣ … zu unterstützende Devices, Locales …
Motivation
UI Testing mit Xcode 7
MTC

2016
#WISSENTEILEN
Was testen?
UI Testing mit Xcode 7
MTC

2016
Motivation
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Motivation
„It makes no sense 

to test something that 

can’t be broken (or fixed)!“
(Zitat: alter weiser Mann)
#WISSENTEILEN
Gute Tests ...
‣… treffen Annahmen nur einmal
‣… sind isoliert
‣… laufen unabhängig
‣… sind vorhersehbar
Motivation
UI Testing mit Xcode 7
MTC

2016
#WISSENTEILEN
Unit Test
‣ Testen der korrekten Funktionsweise
einzelner, isolierter Komponenten
‣ Automatisiert
‣ Wiederholbar
Motivation
UI Testing mit Xcode 7
MTC

2016
#WISSENTEILEN
UI Test
‣ Wie Unit Test
‣ Fokus auf
‣ Event Handling (Tap, Swipe etc.)
‣ GUI Elemente
Motivation
UI Testing mit Xcode 7
MTC

2016
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie
Das war UI Testing vor Xcode 7
‣ UI Automation
‣ KIF - Keep it functional
‣ Frank
‣ Subliminal*
* wird nicht mehr weiterentwickelt
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie
UI Automation
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie - UI Automation
UI Automation
‣ JavaScript
‣ Nur per Instruments
‣ Kein echtes Debugging
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie - UI Automation
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie
KIF – Keep It Functional
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie - KIF
KIF – Keep It Functional
‣ Objective-C
‣ Integration in Xcode
‣ Test Navigator
‣ Debugging
‣ Gray-Box-Test
‣ nutzt private API
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Historie - KIF
class CalculatorUiTests : KIFTestCase {
func testAdd() {
tester.tapViewWithAccessibilityLabel("one")
tester.tapViewWithAccessibilityLabel("add")
tester.tapViewWithAccessibilityLabel("two")
tester.tapViewWithAccessibilityLabel("equal")
XCTAssertEqual(display.text!, "3", "result should be 3")
}
}
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
+
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
‣ Test Navigator
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
‣ Test Navigator
‣ Debugging
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
‣ Test Navigator
‣ Debugging
‣ Test recording
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
‣ Test Navigator
‣ Debugging
‣ Test recording
‣ Test Report
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
‣ Test Navigator
‣ Debugging
‣ Test recording
‣ Test Report
‣ Code Coverage
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
‣ Test Navigator
‣ Debugging
‣ Test recording
‣ Test Report
‣ Code Coverage
‣ Continuous Integration
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Integration in Xcode
‣ Test Navigator
‣ Debugging
‣ Test recording
‣ Test Report
‣ Code Coverage
‣ Continuous Integration
‣ On device
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
+
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Per Interface Builder
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Übersicht
‣ Per Interface Builder
‣ Per API
func setValue(value: String) {
self.label.text = value
self.label.accessibilityValue =
value
}
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Vorraussetzungen
ab iOS 9
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIApplication
‣ XCUIDevice
‣ XCUIElementQuery
‣ XCUIElement
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIApplication
‣ Einstieg in die App
override func setUp() {
super.setUp()
let app = XCUIApplication()
app.launch()
}
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIApplication
‣ Einstieg in die App
‣ Startparameter steuern
override func setUp() {
super.setUp()
let app = XCUIApplication()
app.launchArguments = [ "TEST_MODE" ]
app.launchEnvironment = [ "animations" : "0" ]
app.launch()
}
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIApplication
‣ Einstieg in die App
‣ Startparameter steuern
let testMode =
NSProcessInfo.processInfo().arguments.contains("TEST_MODE")
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIApplication
‣ Einstieg in die App
‣ Startparameter steuern
if NSProcessInfo.processInfo().environment["animations"] == "0" {
UIView.setAnimationsEnabled(false)
}
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIApplication
‣ Einstieg in die App
‣ Startparameter steuern
let testMode =
NSProcessInfo.processInfo().arguments.contains("TEST_MODE")
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIDevice
‣ Zugriff auf „Hardware“
XCUIDevice.sharedDevice()
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIDevice
‣ Zugriff auf „Hardware“
‣ Device Orientation
XCUIDevice.sharedDevice().orientation = .LandscapeLeft
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIDevice
‣ Zugriff auf „Hardware“
‣ Device Orientation
‣ Hardware Buttons
XCUIDevice.sharedDevice().pressButton(.Home)
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElement
‣ Interaktion (z.B. tap() oder swipeUp())
XCUIApplication().buttons["five"].tap()
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElement
‣ Interaktion (z.B. tap() oder swipeUp())
‣ Sichtbarkeit mit exists
XCTAssert(XCUIApplication().buttons["five"].exists)
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ „Suche“ nach UI Elementen
app.tableViews[0].cells[0]
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ „Suche“ nach UI Elementen
app.tables.element.cells.elementAtIndex(0)
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ „Suche“ nach UI Elementen
app.tables.element.cells["cellIdentifier"]
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ „Suche“ nach UI Elementen
‣ Ausführung erst bei Interaktion
‣ Fehler falls nicht eindeutig
app.tables.element.cells["cellIdentifier"].tap()
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Descendants
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Descendants
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Descendants
app.tables.element.descendantsMatchingType(.StaticText)
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Descendants
app.tables.element.staticTexts
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Children
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Children
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Children
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
app.tables.element.childrenMatchingType(.Cell)
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Containment
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Containment
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ XCUIElementQuery
‣ Containment
Application
Table
Cell
Cell
„one“ Label
„two“ Label
View
app.cells.containingType(.StaticText, identifier: "one")
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
API
‣ Auf Elemente warten
let element = app.alerts["Timeout"]
let existsPredicate = NSPredicate(format: "exists == true")
expectationForPredicate(existsPredicate,
evaluatedWithObject: element, handler: nil)
waitForExpectationsWithTimeout(5, handler: nil)
#WISSENTEILEN
Code Diving
#WISSENTEILEN
UI Automation Keep it Functional UI Testing
Sprache Javascript Objective-C/Swift Objective-C/Swift
Maintainer Apple Community Apple
Accessibility ✔ ✔ ✔
Xcode ✖ ✔ ✔
Debugging ✖ ✔ ✔
Mocking ✖ ✔ ✖
Continuous
Integration
✔ ✔ ✔
Zukunftssicher ✖ ✖ ✔
UI Testing mit Xcode 7
MTC

2016
KIF vs. UI Automation vs. UI Testing
#WISSENTEILEN
UI Testing mit Xcode 7
MTC

2016
Fazit
✓ Offizielle Lösung von Apple
✓ Kein JavaScript mehr
✓ Test recording
✓ Schnelligkeit
- Flexibilität
One more thing ...
#WISSENTEILEN
Social
Media
One more thing…
UI Testing mit Xcode 7
MTC

2016
Broken Windows Theorie
#WISSENTEILEN
UI Testing mit Xcode 7
Michael Kotten | OPEN KNOWLEDGE
@michaelkotten
@_openknowledge
#WISSENTEILEN
#1, #71, #72: © pexels.com
#10: © iStock.com/ultrashock
#17: © iStock.com/alexsl
#39: © apple.com
#67: © 2436digitalavenue - Fotolia
UI Testing mit Xcode 7
MTC

2016
Bildnachweise

Weitere ähnliche Inhalte

Ähnlich wie UI Testing mit Xcode 7

iOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstelleniOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstellenMichael Kühnel
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobileinovex GmbH
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
iOS: Continuous Integration and One Click Deployments
iOS: Continuous Integration and One Click DeploymentsiOS: Continuous Integration and One Click Deployments
iOS: Continuous Integration and One Click DeploymentsSven Günther
 
Testgetriebene Softwareentwicklung
Testgetriebene SoftwareentwicklungTestgetriebene Softwareentwicklung
Testgetriebene Softwareentwicklungjlink
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)greenrobot
 
Apple iOS - GUI Entwicklung
Apple iOS - GUI EntwicklungApple iOS - GUI Entwicklung
Apple iOS - GUI Entwicklungmesseb
 
Automatisiertes webauftritt testen
Automatisiertes webauftritt testenAutomatisiertes webauftritt testen
Automatisiertes webauftritt testenmradamlacey
 
Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios
Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios
Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios simmerl121
 
Build Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessBuild Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessRalf Abramowitsch
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sQAware GmbH
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreGregor Biswanger
 
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineOPEN KNOWLEDGE GmbH
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 

Ähnlich wie UI Testing mit Xcode 7 (20)

iOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstelleniOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstellen
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
Build Automation for Mobile
Build Automation for MobileBuild Automation for Mobile
Build Automation for Mobile
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
iOS: Continuous Integration and One Click Deployments
iOS: Continuous Integration and One Click DeploymentsiOS: Continuous Integration and One Click Deployments
iOS: Continuous Integration and One Click Deployments
 
UnitTests? Ja, aber richtig!
UnitTests? Ja, aber richtig!UnitTests? Ja, aber richtig!
UnitTests? Ja, aber richtig!
 
Testgetriebene Softwareentwicklung
Testgetriebene SoftwareentwicklungTestgetriebene Softwareentwicklung
Testgetriebene Softwareentwicklung
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
 
Apple iOS - GUI Entwicklung
Apple iOS - GUI EntwicklungApple iOS - GUI Entwicklung
Apple iOS - GUI Entwicklung
 
Automatisiertes webauftritt testen
Automatisiertes webauftritt testenAutomatisiertes webauftritt testen
Automatisiertes webauftritt testen
 
Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios
Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios
Simon Meggle - Open Source End2End Monitoring with Sakuli and Nagios
 
App-Delivery-Pipeline
App-Delivery-PipelineApp-Delivery-Pipeline
App-Delivery-Pipeline
 
Build Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build ProzessBuild Patterns - Patterns und Best Practices für den Build Prozess
Build Patterns - Patterns und Best Practices für den Build Prozess
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
 
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
Hybride Entwicklung mit Ionic
Hybride Entwicklung mit IonicHybride Entwicklung mit Ionic
Hybride Entwicklung mit Ionic
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 

Mehr von OPEN KNOWLEDGE GmbH

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIOPEN KNOWLEDGE GmbH
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
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
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. OPEN KNOWLEDGE GmbH
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoOPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenOPEN KNOWLEDGE GmbH
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsOPEN KNOWLEDGE GmbH
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeOPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten SystemenOPEN KNOWLEDGE GmbH
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingOPEN KNOWLEDGE GmbH
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!OPEN KNOWLEDGE GmbH
 

Mehr von OPEN KNOWLEDGE GmbH (20)

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
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)
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Nie wieder Log-Files!
Nie wieder Log-Files!Nie wieder Log-Files!
Nie wieder Log-Files!
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
API Expand Contract
API Expand ContractAPI Expand Contract
API Expand Contract
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten Architekturen
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale Netze
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten Systemen
 
Business-Mehrwert durch KI
Business-Mehrwert durch KIBusiness-Mehrwert durch KI
Business-Mehrwert durch KI
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und Testing
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!
 

UI Testing mit Xcode 7