12 Praktische Tipps für den Aufbau Bug-Free Software - Gurock Qualität Hub

Hat Ihre Software-Anwendung Bugs? Natürlich hat es, jede Software-Anwendung, die es gibt hat Fehler und fehlerfreie Software ein Mythos. Aber es ist immer noch möglich, sehr Fehler zu minimieren, Sicherheitsprobleme und Fehler in der Anwendung, indem Sie ein paar Tipps und Techniken, die ich in diesem Beitrag skizzieren.

Neuere Studien zeigen, dass bis zu 40% der Systemausfälle verursacht werden, durch Software-Fehler und die gemeinsamen Speicher und Concurrency Fehler im Zusammenhang stehen für 60% der Systemschwachstellen und Sicherheitsprobleme. So reduziert Software-Fehler in der Anwendung ist der beste Weg, um die Stabilität, Zuverlässigkeit und Sicherheit Ihrer Software zu erhöhen.

1. Code Reviews

Vier Augen sehen mehr als zwei. Aus diesem Grund sollten Sie andere Entwickler können den Quellcode in regelmäßigen Abständen überprüfen. Paar-Programmierung auf der anderen Seite, eine Technik, bei der zwei Entwickler zusammen für längere Zeiträume Code zu schreiben, ist nicht jedermanns Sache und ist häufig nicht erforderlich. Aber komplizierte, wichtige oder sicherheitsbezogene Code profitiert stark von Code-Reviews und Ihre Code-Qualität viel verbessern.

2. Beta-Tests

Beta-Tests spielen eine wichtige Rolle bei Ihrer Software Qualität hoch zu halten. Aber die meiste Zeit, macht es keinen Sinn, Beta-Versionen Ihrer Software freizugeben für kleinere Updates. Major-Releases auf der anderen Seite sollte der Endnutzer und Kunden, bevor sie Gold getestet werden. Sie können Ihre Software so viel testen, wie Sie wollen, wenn Sie nicht die Ausführungsumgebung steuern können, ist die Wahrscheinlichkeit hoch, dass die Endnutzer Fehler und Probleme mit all den verschiedenen Computerkonfigurationen da draußen finden. Stellen Sie außerdem sicher, dass Ihre Software einen hohen Qualitätsstandard erreicht, bevor es an Beta-Tester zu geben. Sie wollen nicht den Tester Zeit verschwenden, indem sie und Fehler melden zu lassen, die Sie bereits kennen.

3. Automatisierte Tests

Automatisierte Tests wie Komponententests oder automatisierte GUI-Tests können verwendet werden, um die Funktionalität der Programm-Module zu gewährleisten, Anwendungsprogrammierschnittstellen (APIs) und Benutzerschnittstellen. Sie müssen keinen Test-Driven Development Assistent sein für einen guten Zweck von automatisierten Tests zu machen. Mit Unit-Tests für die wichtigsten Teile der Anwendung kann einen langen Weg zum Aufbau zuverlässige Software gehen. Es gibt Unmengen von Einheit Test-Frameworks, Web- und GUI-Test-Tools gibt, die Sie nutzen können.

4. Protokollierung

5. Fehlerberichterstattung

Finden und Fehler und Ausnahmen zu beheben, müssen Sie zuerst wissen, welche Art von Fehlern Ihre Benutzer und Kunden erleben. Viele Anwender von Testsoftware erhalten nicht mit Ihnen in Verbindung, um Fehler zu melden. Stattdessen werden sie nur Ihre Anwendung deinstallieren und ein Konkurrenzprodukt testen. Um die Fehlerberichterstattung für die Endnutzer einfacher und nützlicher für Sie zu machen, sollten Sie automatische Fehler- und Exception Reporting-Techniken verwenden. Wenn eine nicht behandelte Ausnahme auftritt, sollte Ihre Anwendung einen freundlichen Dialog zeigt den Benutzer bot den Entwickler wieder einen Fehlerbericht zu senden. Fehlerberichte sollten alle Arten von Informationen enthalten, um Ihnen zu helfen, das Problem zu identifizieren, einschließlich Fehlermeldungen, Call-Stacks, Versionsnummern und Protokolldateien.

6. Kundenfeedback

7. Verwenden Sie Proven-Code

Sie sollen die Kernfunktionalität und Hauptfunktionen Ihrer Anwendungen selbst, bauen, denn nur dann sind Sie in der Lage, einfach und schnell zu ändern und zu verbessern. Aber für viele andere Teile können Sie die Wiederverwendung bestehender und bewährter Code. Es wird Sie Jahre dauern, um einen stabilen, leicht zu bedienende und verfügt über komplette Reporting-Engine oder Setup-Builder, zum Beispiel zu bauen. Oft ist es besser, verwenden bewährte vorhandenen Code, entweder aus dem internen Bibliotheken, Drittunternehmen oder Open-Source-Lösungen, wenn die Lizenz dies zulässt.

8. Dedicated Tester

Wenn möglich, sollten Sie spezielle Tester in Ihrer Organisation für die Qualitätssicherung haben. In der Tat, sollten Sie viele von ihnen haben. Für einfache Standardanwendungen ist ein Tester pro Entwickler eine gute Daumenregel. Für Anwendungen, die kompliziert und zeitaufwendig sind zu testen, zwei oder mehr Tester pro Entwickler benötigt. Viele kleine Unternehmen können nicht dedizierten Tester leisten. Wenn dies der Fall ist, sollten Entwickler jeden Code andere testen. Es ist wichtig, dass andere Ihren Code und die Funktionalität zu testen, weil allgemeine Weisheit sagt, dass die Entwickler einen wirklich schlechten Job Prüfsoftware tun, die sie selbst geschrieben haben.

9. Virtual Machines

Um Ihre Software zu testen auf so vielen verschiedenen Umgebungen und Betriebssystemen wie möglich, sollten Sie virtuelle Maschinen mit Tools wie VMware verwenden. Virtual PC oder andere verfügbare Virtualisierungssoftware. Neben dem Sie Ihre Software auf allen Arten von Konfigurationen zu testen, werden Sie viel Zeit sparen, weil Sie ganz einfach kopieren können, zu teilen und die virtuellen Maschinen zurückgesetzt. Es ist eine gute Idee, viele verschiedenen Standardbilder für alle Betriebssysteme, die Sie regelmäßig Tests auf und legt sie auf einem Dateiserver zu erstellen. Wenn Sie eine bestimmte Konfiguration brauchen etwas zu testen, können Sie dann bei einem Ihrer Basisbildern starten, ohne das Betriebssystem zu installieren, die Treiber und die erforderliche Software und so weiter.

Schreiben 10. eine Spezifikation

Viele Fehler werden durch schlecht gestaltete Klassenhierarchien verursachte, fehlerhafte Schnittstellen, falsch verstanden Anforderungen und die damit Abhilfen erforderlich. Deshalb ein erfahrener Entwickler oder Architekt soll eine Spezifikation mit allen gesammelten Anforderungen und technischen Details der Implementierung vor dem Schreiben die erste Zeile Code schreiben. Aber wie immer, ändern Anforderungen während der Lebensdauer einer Software-Anwendung. Deshalb ist es wichtig, die Spezifikationen halten up-to-date und die Architekturänderungen für neue oder veränderte Anforderungen zu planen.

11. Verwenden Sie ein guter Debugger

Wenn Sie ein IDE wie Visual Studio, Eclipse oder Delphi verwenden, haben Sie bereits Zugriff auf einen leistungsfähigen Debugger, die Sie verwenden sollten. Aber mit vielen Entwicklungsumgebungen und Entwicklungsplattformen wie PHP, Windows Scripting, Python und Ruby, viele Entwickler sind nicht mit einem Debugger. In diesen Skriptumgebungen, versuchen Entwickler oft Bugs zerquetschen durch Versuch und Irrtum, Code-Teile zu ändern, ein paar Druckanweisungen hinzufügen und so weiter. Dies ist nicht nur eine sehr umständlich und zeitraubend Art und Weise zu erkennen und Fehler zu lösen, ist es auch sehr gefährlich, wenn Sie nicht vollständig Ihren Code verstehen und in der Lage, mit einem Debugger durch zu treten. Tun Sie sich selbst einen Gefallen und bekommen einen guten Debugger für Ihre Entwicklungsplattform (und es gibt Debugger für fast alles).

12. Debug und Strenge Optionen

Wie ich bereits sagte, werden diese Tipps nicht Ihre Software auf magische Weise fehlerfrei machen, aber sie können Sie Ihre Software wesentlich stabiler, zuverlässiger und verwendbar, wenn Sie die Arbeit hineingesteckt machen. Und oben drauf, es wird Ihnen einen besseren Entwickler, machen.

In Verbindung stehende Artikel