what is technical debt
Technische Schulden ist eine metaphorische Idee, die argumentiert, dass Software-Organisationen beim Aufbau von unvollendeten Arbeiten während früherer Projekte und Versions-Releases / Sprints auf etwas Ähnliches stoßen, genau wie man auf Schuldenprobleme im Finanzbereich stoßen kann.
Was ist technische Verschuldung?
Es stellt den Aufwand dar, der erforderlich ist, um die Probleme / Fehler zu beheben, die bei der Freigabe einer Anwendung im Code verbleiben. In einfachen Worten - es ist der Unterschied (in Bezug auf Fehler) zwischen dem, was erwartet und dem, was geliefert wird.
Wenn ein Entwicklungsteam damit beschäftigt ist, an einem Projekt zu arbeiten und Fehler zu beheben, treten leider viele neue Fehler auf. Aus Diese sind teilweise behoben und einige unterscheiden sich für die spätere Veröffentlichung. Wenn diese unterschiedlichen Probleme weiter zunehmen, wird es an einem Punkt wirklich schwierig, das Produkt ohne Probleme rechtzeitig freizugeben. Dies ist die schlimmste Folge von Technische Schulden wenn es nicht rechtzeitig angegangen wird.
In diesem Artikel erfahren Sie, was technische Schulden sind, warum das QA-Team darüber besorgt sein sollte und vor allem, wie es zu verwalten ist.
Bild Quelle
Ward Cunningham , der Gründer der Wiki-Software, von dieser Idee konzipiert Bereits in den neunziger Jahren wurden Parallelen zu den Auswirkungen von Forderungsausfällen auf die Finanzbranche gezogen, was buchstäblich auf die unappetitliche Erfahrung anspielt, nach dem Ausfall von Krediten übermäßige Zinsgelder zahlen zu müssen.
c ++ Zeichen zu Zeichenfolge
Die Herausforderung, die technischen Schulden pro Sprint zu erhöhen, ist in Abb. 1 dargestellt.
Es muss hier jedoch erwähnt werden, dass es einen geringfügigen Unterschied in der Bedeutung der technischen Verschuldung (auch als Code-Verschuldung oder Design-Verschuldung bekannt) von der entsprechenden Analogie in der Finanzwelt gibt - die erstere ähnelt eher einer abstrakte Idee , ohne mathematische Gleichungen, um zu visualisieren, wie sich das Interesse wirklich ansammelt.
Abb. 1: Visualisierung des skalierbaren Anstiegs der Tech-Verschuldung über Sprints hinweg
Was du lernen wirst:
- Warum QA-Teams am meisten unter technischen Schulden leiden
- Ein Beispiel aus der realen Welt
- Tech Debt Management in QS-Praktiken
- Fazit
- Literatur-Empfehlungen
Warum QA-Teams am meisten unter technischen Schulden leiden
Während eines typischen Software-Design- und Entwicklungszyklus gibt es mehrere Dinge, die zu einem „ Technische Schulden ”Wie Situation– unsachgemäße Dokumentation , unzureichende Tests und Fehlerbehebung, Mangel an Koordination zwischen Teams, Erbe Code und verzögertes Refactoring , Abwesenheit von kontinuierliche Integration und andere außer Kontrolle geratene Faktoren.
Zum BeispielEs wurde beobachtet, dass Code-Duplizierungsbemühungen zu irgendetwas dazwischen führen können 25 zu 35% Extra Arbeit.
Was ist die beste Spionage-App für Android
Nirgendwo sind die Herausforderungen aufgrund technischer Schulden sind offensichtlicher als bei QS-Tests Hier müssen Testteams unerwartete Fristen einhalten und alles kann aus dem Ruder laufen.
Wie oft waren Ihre Tester im letzten Moment mit Problemen konfrontiert, als der Liefermanager unerwartet kam und ihnen sagte: „Team! Wir müssen unser Produkt in einer Woche auf den Markt bringen. Es tut uns leid, dass wir dies nicht rechtzeitig mitteilen können. Bitte beenden Sie alle Testaufgaben dringend, damit wir mit der Demo fertig sind. “
Grundsätzlich können verpasste Tests oder der Ansatz, sie später zu lösen, zu einem technischen Schuldenproblem führen. Fehlende Testabdeckung Übergroße User Stories, kurze Sprints und andere Beispiele für „Kürzungen“ aufgrund des Lieferdrucks spielen eine große Rolle für die Anhäufung technischer Schulden in der QS-Praxis.
Ein Beispiel aus der realen Welt
Ein in den USA ansässiger Online-Händler mit einer signifikanten Präsenz auf mehreren Websites und mobilen Apps befand sich in einer realen „technischen Schulden“ -Herausforderung, als sich die Komplexität des Testnetzes mit jedem neuen zu verschärfen begann Sprint .
Dies geschah aufgrund des plötzlichen Anstiegs der Anzahl der zu testenden Mobilgeräte, der Unterstützung mehrerer Sprachen und der Nutzung von mehr als einem halben Dutzend Social-Networking-Sites.
Mit einer Automatisierungsabdeckung von weniger als 40% Die Herausforderung der technischen Verschuldung würde sich auf folgende Weise zeigen:
- Übermäßiger Zeitaufwand beim Release-Test - Mit der Anzahl der Browser, Geräte und Skripte, die mit jedem Testsprint zunehmen, würde sich der Veröffentlichungszyklus immer wieder verzögern, was zu einem Verlust der Markteinführungszeit führen würde.
- Die steigenden Einstellungskosten - Die Anzahl der zur Unterstützung des Projekts benötigten Tester hat sich nahezu verdoppelt, was zu zusätzlichen Kosten in Höhe von 500.000 USD führte
- Komplexität im Projekt - Mit der zunehmenden Komplexität des Projekts wurde es zu einer Herausforderung, Testfälle und Fehler im Auge zu behalten
- Es wurde zu viel Zeit damit verschwendet, Fehlalarme zu verfolgen - Wieder ein Fallout zunehmender Projektkomplexität.
- Steigerung des Testentwicklungsaufwands um bis zu 60% - Es gehört zum Territorium
Tech Debt Management in QS-Praktiken
Die meisten QS-Manager betrachten die technische Verschuldung impulsiv als die vernünftige Konsequenz, wenn Sie Ihre gesamte Energie auf den aktuellen Sprint konzentrieren. Dies führt dazu, dass die Testabdeckung auf manuelle Weise erreicht wird, und ignorieren die Automatisierung vollständig.
Dies ist als die bekannt schnelle und schmutzige Annäherung Dies wurde in einem Blog von Martin Fowler, dem Autor des technischer Schuldenquadrant .
Agile Prinzipien schreiben vor, dass wir das Problem der technischen Verschuldung als Unfähigkeit zur Aufrechterhaltung und Erfüllung visualisieren QS-Benchmarks .
Eigentlich, basierend auf einer Umfrage Nach Angaben des National Institute of Standards and Technology (NIST) kosten unzureichende Testinstrumente und -methoden die US-Wirtschaft jährlich zwischen 22,2 $ und 59,5 Milliarden US-Dollar Etwa die Hälfte dieses Geldes wird für zusätzliche Tests von Softwareentwicklern und etwa die Hälfte von Softwarebenutzern ausgegeben, um Fehler zu vermeiden.
Anstatt auf Fehler zu reagieren, wenn der Vorfall eintritt, besteht ein proaktiver Ansatz darin, Fehler nach jeder Aktivität oder Aufgabe zu identifizieren, die gemessen werden kann. Sie können alles manuell ausführen, aber angesichts der Tausenden von Testfallszenarien für ein durchschnittliches Projekt ist eine automatisierte Teststeuerung erforderlich.
Deutlich, effektive Prüfung kann Ihnen helfen, im Krieg gegen technische Schulden ernsthaft Fuß zu fassen. Was bedeutet es also im Grunde? Dies bedeutet, wie gut Ihr System in der Lage ist, Fehler in der Gesamtanwendung zu erkennen.
Wie die obige Gleichung zeigt, kann sich die Testfallwirksamkeit theoretisch sogar 100% nähern, wenn die Anzahl der vom Kunden gefundenen Fehler (d. H. Postproduktionsfehler) genau auf die Anzahl der in jeder Phase der Testabdeckung gefundenen Fehler abgebildet wurde.
Um einen gut gestalteten Prüfstand zu haben, der die Fehler genau messen kann, sobald sie sich einschleichen, ist Automatisierung eine Voraussetzung.
wie man thread.sleep in Java benutzt
Automatisierung testen hilft Ihnen dabei, die Anzahl der ausgeführten Skripte zu minimieren, indem Sie Ergebnisse melden und mit früheren Testläufen vergleichen. Die Methode oder der Prozess zur Ausführung der Automatisierung wird als Test bezeichnet Automatisierung Rahmen .
Typische Beispiele wären handelsübliche oder kostenlose Tools wie Selen, MonkeyTalk, Roboter , Borland SilkCentral, HP Quality Center und IBM Rational Rose .
In der Vergangenheit wurde QS / Testen von Organisationen und ihren Softwareteams häufig als Support-Aktivität für wichtigere Geschäftsergebnisse angesehen und nicht als eigenständige disziplinierte Praxis, die einen zentralen, engagierten Fokus erfordern würde. Tatsächlich hat ein nicht zum Kerngeschäft gehörender Ansatz für Qualitätssicherung / Tests in erster Linie zu der anhaltenden Herausforderung der technischen Verschuldung geführt.
Angesichts der rasanten Entwicklung der QS- / Testfähigkeiten, die in den letzten zehn Jahren stattgefunden hat, fällt es Unternehmen wirklich schwer, ihre Fähigkeiten und Kompetenzen auf das Mindestniveau zu verbessern, das gemäß den aktuellen Branchen-Benchmarks gewünscht wird.
Tatsächlich gibt es einen wachsenden Branchentrend, der mit nichts weniger als den erfahrensten Fachleuten in der Testautomatisierung auskommt - ähnlich wie die Elitekommandos für Test / Qualitätssicherung; Sie sind als Software-Ingenieure im Test bekannt ( SEiT ) und Softwareentwickler im Test ( SDiT ). Diese Fachkräfte sind aufgrund ihrer großen Erfahrung in einer ausgewählten Branche (z. B. E-Commerce) oder einer bestimmten Fachkategorie sehr gefragt.
Die meisten Software- und Produktentwicklungsunternehmen haben derzeit Schwierigkeiten, angesichts kürzerer Lieferzeiten die gewünschten, qualifizierten technischen Ressourcen zu finden. Die Lösung für diese Herausforderung besteht darin, mit einem Offshore-QS-Automatisierungs-Player zusammenzuarbeiten, der Ihren Fachkräftemangel mit dem richtigen Pool an SDiT / SEiT-Ressourcen beheben kann.
Weitere erwünschte Attribute eines Outsourcing-Anbieters in QA / Testing, die sich als hilfreich erweisen, sind ein agiler, disziplinierter Ansatz bei der Projektdurchführung, ausreichende Branchenerfahrung, einschließlich praktischer Zugriff auf wiederverwendbare Automatisierungsframeworks und Testfälle, und nicht zuletzt eine klare Absicht und die Fähigkeit, Remote-Team-Herausforderungen und kulturelle Konflikte zu bewältigen, damit der Kunde nicht mit zusätzlicher Arbeit bei der Verwaltung von Auftragnehmern belastet wird.
Fazit
Wie jede andere Verschuldung kann sich die technische Verschuldung als Fluch der Unternehmen erweisen, und die Hauptursache für ihre Anhäufung ist das Versäumnis, eine proaktive QS-Praxis umzusetzen, die alle Rückstände in der Automatisierung beseitigt.
Über den Autor: Dies ist ein Gastbeitrag des eInfochips-Teams. Sie haben sich einen einzigartigen Ansatz ausgedacht Tech Debt Zero Dies ist eine der strukturiertesten und effizientesten Möglichkeiten, um technische Schulden bei QS- / Automatisierungsaktivitäten schrittweise zu beseitigen. Um mehr über technische Schulden zu erfahren, schau dieses Video an über einen Ansatz zur Reduzierung der technischen Abteilung.
Ich hoffe, Sie bekommen eine klare Vorstellung davon, was technische Schulden sind. Lassen Sie uns wissen, wenn Sie Fragen dazu haben oder wie Sie diese in der Praxis verwalten können.
Literatur-Empfehlungen
- Software Testing Technical Content Writer Freiberufler Job
- Globales Geschäft mit Softwaretests erreicht bald 28,8 Milliarden US-Dollar
- Tipps zum Testen von Software für Anfänger
- Wie kann man die Motivation in Software-Testern am Leben erhalten?
- Zen und die Kunst des Softwaretests
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Beste Software-Testartikel von 2008
- Software Testing QA Assistant Job