Blog Layout

Automatisiertes Testen, Dokumentation und Build-Automatisierung zahlen sich aus

Raphael Haase • December 15, 2022

Wenn ein Entwickler ein Team verlässt, kann es oft schwierig sein, die Lücken zu füllen. Dies wird oft durch das Fehlen von funktionierenden Testfällen, Build-Automatisierung oder Dokumentation verursacht.


Das Schreiben von Unit-, Integrations- und UI-Tests zahlt sich auf lange Sicht oft aus, vor allem, wenn die Teams wechseln. Teams, denen die Kompetenzen fehlen, sollten sich externe Hilfe von Testentwicklungsspezialisten holen, um ihre Lücken zu schließen, bevor es zu spät ist.


Sylvilagus Consulting kann bei allen Anforderungen rund um das Schreiben von Unit-Tests, Integrationstests, UI-Tests, Build-Automatisierung oder Dokumentation für iOS und Android helfen.


Die Vorteile

Automatisiertes Testen ist eine Technik, bei der vorher festgelegte Tests für eine mobile Anwendung automatisch ausgeführt werden. Dies kann dazu beitragen, die Qualität und Zuverlässigkeit einer App sicherzustellen, indem Fehler und andere Probleme erkannt werden, bevor die App veröffentlicht wird. Gerade auch, wenn es nur um ein Update gibt. Denn so genannte Regressionen, Fehler die wieder zurück kommen, können einer App ordentlich Probleme bereiten. Einige Vorteile von automatisierten Tests für iOS und Android sind:


  • Schnelleres Testen: Automatisierte Tests können schnell und wiederholt durchgeführt werden, was im Vergleich zu manuellen Tests Zeit und Aufwand spart.
  • Erhöhte Abdeckung: Automatisierte Tests können so konzipiert werden, dass sie ein breites Spektrum an Szenarien und Benutzerinteraktionen abdecken und so gründlichere Tests ermöglichen, als dies mit manuellen Tests allein möglich ist.
  • Verbesserte Zuverlässigkeit: Automatisierte Tests sind konsistent und wiederholbar, so dass sie dazu beitragen können, Probleme zu erkennen und zu beheben, die bei manuellen Tests möglicherweise übersehen werden.
  • Frühzeitige Erkennung von Problemen: Automatisierte Tests können zu einem frühen Zeitpunkt im Entwicklungsprozess durchgeführt werden, so dass die Entwickler Fehler erkennen und beheben können, bevor sie schwieriger und zeitaufwändiger zu beheben sind.
  • Verbesserte Zusammenarbeit: Automatisierte Tests können von allen Teammitgliedern gemeinsam genutzt und auf verschiedenen Geräten ausgeführt werden. So kann sichergestellt werden, dass alle Beteiligten mit denselben Testfällen arbeiten und dass die App auf allen unterstützten Plattformen ordnungsgemäss funktioniert.


Insgesamt können automatisierte Tests dazu beitragen, die Qualität und Zuverlässigkeit von mobilen Anwendungen zu verbessern und sie robuster und benutzerfreundlicher zu machen.


Warum man Testfälle vor dem Code schreiben sollte


Einer der Hauptgründe dafür, dass Testfälle nicht geschrieben werden, ist der Zeit- und Arbeitsaufwand. Das Schreiben eines umfassenden Satzes von Testfällen kann je nach Komplexität des betreffenden Programms Tage oder sogar Wochen in Anspruch nehmen. Darüber hinaus muss jeder Testfall sorgfältig ausgearbeitet werden, um potenzielle Fehler oder Probleme zu erkennen, was den Aufwand zusätzlich erhöht.


Allerdings ist es dennoch keine gute Idee, Testfälle erst später zu schreiben:


Wenn es um das Schreiben von Testfällen geht, gibt es eine Reihe von Nachteilen, die damit einhergehen, dass dies nach dem Schreiben des eigentlichen Codes geschieht. Der vielleicht größte Nachteil ist, dass ein Teil des Codes nutzlos wird, wenn sich nachher heraus stellt, dass die falsche Sache implementiert wurde. Das bedeutet, dass die ganze Mühe, die in die Erstellung eines bestimmten Programmteils gesteckt wurde, umsonst gewesen sein kann.


Ein weiterer potenzieller Nachteil des Schreibens von Testfällen nach der Erstellung eines Programms ist, dass es schwierig sein kann, festzustellen, ob der Code überhaupt richtig geschrieben wurde. Viele Entwickler machen Annahmen darüber, wie ihr Code funktionieren sollte, was zu unerwarteten Fehlern führen kann, sobald die Tests beginnen. Wenn die Tests nicht richtig geschrieben sind, können sie außerdem nicht alle möglichen Probleme aufdecken.



Build-Automatisierung zahlt sich fast immer aus


Die Build-Automatisierung zahlt sich bei der Entwicklung von iOS-Apps aus, weil sie den Entwicklungsprozess rationalisiert und den Zeit- und Arbeitsaufwand für die Erstellung einer neuen App reduziert. Erstens kann der Code schnell und effizient generiert werden, sodass sich die Entwickler auf das Wesentliche konzentrieren können - die Entwicklung eines zuverlässigen Produkts. Mit der Build-Automatisierung können Entwickler auch schneller Veränderungen an einer App testen.


Die Build-Automatisierung für iOS-Apps ist besonders hilfreich, wenn Teammitglieder wechseln, da sie den Entwicklungsprozess teilweise automatisiert und sicherstellt, dass jeder mit aktuellem Code arbeitet. Dies ermöglicht einen nahtloseren Übergang von Aufgaben zwischen den Teammitgliedern und verringert das Risiko von Fehlern aufgrund der Arbeit mit veraltetem Code.



Gute Code-Dokumentation ist Pflicht


Wenn der Code gut dokumentiert ist, ist er für andere Entwickler im Team leicht zu verstehen und zu pflegen. Dies ist besonders wichtig bei der Entwicklung von iOS-Apps, da diese oft von mehreren Personen in verschiedenen Teams gepflegt werden müssen. Eine gute Code-Dokumentation kann dazu beitragen, mögliche Konflikte oder Missverständnisse zu vermeiden.


A robotic hand automates testing on Apple devices by touching them
By Raphael Haase February 9, 2023
Automated testing is a must for any app on iOS. It not only saves time, it is crucial for ensuring consistently good user experience and data security of your apps.
Automatisiertes Testen auf iPhones durch Roboterhände
By Raphael Haase December 1, 2022
In der Medizin- und Finanzbranche ist die Entwicklung von iOS-Apps, die zuverlässig und genau sind, unerlässlich. Automatisierte Tests können dabei helfen, diesen Prozess einfacher und effizienter zu gestalten. Werfen wir also einen Blick auf die Vorteile des automatisierten Testens bei der Entwicklung von iOS-Apps in der Medizin- oder Finanzbranche.
By Raphael Haase October 20, 2022
Entwickelt man heute mobile Anwendungen für iOS oder Android, dann heisst es häufig man müsse unbedingt einem bestimmten Architektur-Pattern folgen wie MVVM oder VIPER. Sonst würde sofort die App schlecht werden. Nun ist es nicht verkehrt gewissen Mustern zu folgen, denn das macht es für andere Entwickler einfach den Code zu verstehen und man hilft natürlich auch sich selbst dabei, das Rad nicht neu zu erfinden. Das Problem ist aber, dass nicht alle Architektur-Muster gleichermassen geeignet sind. Am wichtigsten ist dabei wohl, dass viele Architektur-Muster für kleine Anwendungen mit 1-2 Entwicklern irgendetwas zwischen Overkill oder sogar Kontraproduktivität sind. 
Standup Paddling ist manchmal besser als ein Daily Standup
By Raphael Haase October 6, 2022
Viele tun es, nicht alle lieben es: Das "Daily Standup". Heute geht es darum, warum ich dieses Ritual kritisch sehe und zu einem Umdenken rate.
A software developer leaving the team
By Raphael Haase September 22, 2022
It's every CTO's worst nightmare: your developers are the lifeblood of your company. They manage our most valuable digital assets and without them, you can't launch or maintain any meaningful customer engagement plans. But what happens when one of these key members suddenly walks away from their post with little to no notice? Suddenly, you've got a critical hole in your product development team that needs to be filled – but fast! You must find a replacement quickly. But even then, there’s still the daunting task of ensuring continuity in launching and maintaining new products as well as existing applications already live on the market. In this blog post, we'll discuss ways to make sure your app stays up and running even if (or especially if!) a developer decides to move on swiftly leaving behind incomplete projects for whoever steps up next.
By Raphael Haase April 7, 2022
If you get an Undefined Symbol error in test cases, here is the fix for the most likely simple issue.
Monterey landscape
By Raphael Haase February 17, 2022
A quick recipe on how you can add a new path or folder to "the" command line path.
A different kind of brew
By Raphael Haase February 3, 2022
If you do not want homebrew services to start again at each launch, follow these steps.
Pipelines
By Raphael Haase January 20, 2022
Add multiline bash scripts in Azure Pipelines like this.
By Raphael Haase January 6, 2022
How to setup the Jazzy documentation tool for Swift on an M1 / Apple Silicon Mac.
More Posts
Share by: