Sie suchen Ihre bereits erworbenen Lerninhalte? Dann geht es hier entlang: Zum academy Campus

heise Academy Logo
Schulung

Agile iOS-Entwicklung mit Tests

Dieser zweitägige Workshop zeigt am praktischen Beispiel einer iOS-App die unterschiedlichen Testarten einer guten Test-Suite (Unit-, Integration-, Snapshot-, UI- und Monkeytests). Dabei werden unterschiedlichste Aspekte wie das Laden von Daten aus einer Web-API und aus dem lokalen Speicher, Navigation, Bedienoberfläche und Darstellung sowie die sogenannte Businesslogik abgedeckt.

Schulung

Agile iOS-Entwicklung mit Tests

Überblick

Die inflationäre Verwendung des Attributes "agil" hat dazu geführt, dass sich kaum jemand mehr darunter irgendwas vorstellen kann. Mehr noch, viele Entwickler verdrehen die Augen, wenn sie das Wort hören. Dabei bedeutet agil einfach nur, dass notwendige Anpassungen an einem Projekt durchgeführt werden können, ohne Angst haben zu müssen, dabei essenzielle Funktionen zu zerstören.

Dadurch bleibt die Geschwindigkeit, mit der Änderungen an einem Projekt vorgenommen werden können, auf einem hohen Niveau. Ein agiles Projekt lässt sich mit geringem Aufwand an geänderte Anforderungen oder auch Umgebungsparameter anpassen. Das spart Zeit, Geld und Energie.

Wie aber wird Agilität erreicht? Ein wesentlicher Bestandteil eines agilen Projektes ist eine gute Test-Suite. Diese besteht aus automatischen Tests, die unterschiedliche Teilaspekte eines Produktes abdecken. Ziel einer solchen Test-Suite ist, dass Entwickler ein berechtigtes Vertrauen in die Aussagekraft der Testergebnisse investieren können. Dadurch können sie auch umfangreiche Neustrukturierungen des Quelltextes vornehmen, ohne im Anschluss Tage oder Wochen mit manuellen Tests zu verbringen.

Dieser zweitägige Workshop zeigt am praktischen Beispiel einer iOS-App die unterschiedlichen Testarten einer guten Test-Suite (Unit-, Integration-, Snapshot-, UI- und Monkeytests). Dabei werden unterschiedlichste Aspekte wie das Laden von Daten aus einer Web-API und aus dem lokalen Speicher, Navigation, Bedienoberfläche und Darstellung sowie die sogenannte Businesslogik abgedeckt. Neben den rein technischen Aspekten der verschiedenen Testarten sind auch Testpraktiken wie testgetriebene Entwicklung, Mocking, testgestützte Umstrukturierung (Refactoring) und die Testunterstützung in Xcode ein wesentlicher Bestandteil des Workshops.

Der Quelltext zum Workshop steht den Teilnehmern in einem GitHub-Repository zur Verfügung, in dem jeder Schritt als separater Commit vorliegt, sodass man dem Workshop problemlos folgen kann, ohne mitschreiben zu müssen.

Zielgruppe

Der Workshop richtet sich an iOS-App-Entwickler, die sich weniger mit komplizierten Fehlern und mehr mit Funktionen ihrer Apps beschäftigen möchten.

Vorkenntnisse

Der Umgang mit Xcode sollte ebenso bekannt sein wie Grundlagen der App-Entwicklung mit Swift.

Agenda

Grundlagen

  • Unit- und Integrationtests

  • UI- und Snapshottests

  • Tests in Xcode

Testgetriebene Entwicklung

  • Vor- und Nachteile

  • Red, Green, Refactor

  • Fakes: Mocking und Stubbing

Testing der Datenverarbeitung

  • Laden von Daten von einer REST-API

  • Speicher und Laden von Daten

  • Asynchrone Tests

Testing der Bedienoberfläche

  • Unit-, Snapshot- und UI-Tests der Bedienoberfläche

  • Vor- und Nachteile

  • Was sollte getestet werden?

  • Automatische Erstellung von App-Screenshots

Testing SwiftUI-Code

  • Ergibt das Sinn?

  • Das Framework ViewInspector

  • The Composable Architecture

Testing der Navigation

  • Klassische MVC-Navigation

  • Das Coordinator-Pattern

Foto von Dr. Dominik Hauser

Dr. Dominik Hauser

Zum Profil
Schulung

Agile iOS-Entwicklung mit Tests

Haben Sie Fragen zu unseren Schulungen? Wir helfen Ihnen gern weiter.

Füllen Sie ganz einfach und bequem das Kontaktformular aus und wir werden Ihnen Ihre Fragen schnellstmöglich beantworten.

Profilbild von Jana Reimann

Jana Reimann

jare@heise.de

+49 (0) 511 5352-8612

Telefonisch erreichbar:

Unsere Antworten auf die häufigsten Fragen

Kontaktformular

Bei Betätigen des Absenden-Buttons verarbeiten wir die von Ihnen angegebenen personenbezogenen Daten ausschließlich für den Zweck Ihrer Anfrage. Weitere Informationen zum Datenschutz finden Sie in unserer Datenschutzerklärung.