SAP-Test - SDLC

Der Software Development Life Cycle bestimmt die Reihe von Schritten, die zur Entwicklung einer Anwendung oder der Effizienz einer Software ausgeführt werden müssen. In diesem Kapitel werden die in SDLC definierten Phasen erläutert. Jede Phase hat ihren eigenen Prozess und ihre eigenen Ergebnisse, die in die nächste Phase übergehen.

Machbarkeitsstudie

Die erste Stufe der SDLC ist requirement gathering. Nachdem die Anforderungen erfasst wurden, erstellt das Team einen groben Plan für den Softwareprozess. In diesem Schritt analysiert das Team, ob eine Software erstellt werden kann, die alle Anforderungen des Benutzers erfüllt. Es wird herausgefunden, ob das Projekt für die Organisation finanziell, praktisch und technologisch machbar ist. Es stehen viele Algorithmen zur Verfügung, mit denen die Entwickler die Machbarkeit eines Softwareprojekts abschließen können.

Systemanalyse

In diesem Schritt legen die Entwickler eine Roadmap für ihren Plan fest und versuchen, das beste für das Projekt geeignete Softwaremodell zu finden. Die Systemanalyse umfasst das Verständnis der Einschränkungen von Softwareprodukten, das Erlernen systembezogener Probleme oder Änderungen an den vorhandenen Systemen, das Erkennen und Behandeln der Auswirkungen des Projekts auf die Organisation und das Personal usw. Das Projektteam analysiert den Umfang des Projekts und die Pläne den Zeitplan und die Ressourcen entsprechend.

Software-Design

Der nächste Schritt besteht darin, das gesamte Wissen über Anforderungen und Analysen auf den Schreibtisch zu bringen und das Softwareprodukt zu entwerfen. Die Eingaben der Benutzer und die in der Anforderungserfassungsphase gesammelten Informationen sind die Eingaben dieses Schritts. Die Ausgabe dieses Schritts erfolgt in Form von zwei Entwürfen;logical design und physical design. Ingenieure erstellen Metadaten und Datenwörterbücher, logische Diagramme, Datenflussdiagramme und in einigen Fällen Pseudocodes.

Codierung

Dieser Schritt wird auch als bezeichnet programming phase. Die Implementierung des Software-Designs beginnt mit dem Schreiben des Programmcodes in einer geeigneten Programmiersprache und der effizienten Entwicklung fehlerfreier ausführbarer Programme.

Testen

Eine Schätzung besagt, dass 50% des gesamten Softwareentwicklungsprozesses getestet werden sollten. Fehler können die Software von der kritischen Ebene bis zur eigenen Entfernung ruinieren. Softwaretests werden während der Codierung durch die Entwickler durchgeführt, und gründliche Tests werden von Testexperten auf verschiedenen Codeebenen durchgeführt, z. B. Modultests, Programmtests, Produkttests, Inhouse-Tests und Tests des Produkts beim Benutzer. Die frühzeitige Entdeckung von Fehlern und deren Behebung ist der Schlüssel zur Entwicklung einer zuverlässigen Software.

Integration

Möglicherweise muss Software in die Bibliotheken, Datenbanken und andere Programme integriert werden. Diese Phase von SDLC befasst sich mit der Integration der Software in Entitäten der Außenwelt.

Implementierung

Implementierung oder Bereitstellung bedeutet die Installation der Software auf Benutzercomputern. Manchmal benötigt die Software Konfigurationen nach der Installation beim Benutzer. Die Software wird auf Portabilität und Anpassungsfähigkeit getestet, und Integrationsprobleme werden während der Implementierung gelöst.

Lebenszyklus von Softwaretests

Der Software Testing Life Cycle (STLC) besteht aus allen Schritten, die auf eine bestimmte Weise ausgeführt werden, um sicherzustellen, dass die Qualitätsziele erreicht werden und jeder Schritt bestimmte Ziele und Ergebnisse aufweist.

STLC wird verwendet, um die Qualität eines Softwareprodukts zu verbessern und es in die Lage zu versetzen, die Geschäftsanforderungen zu erfüllen, um bestimmte Ziele zu erreichen.

Die verschiedenen Phasen, die unter den Lebenszyklus von Softwaretests fallen, sind folgende:

  • Anforderungsphase
  • Testplanung
  • Testanalyse
  • Test Design Phase
  • Testimplementierung
  • Testausführungsphase
  • Testabschlussphase

Anforderungsphase

Dies ist die erste Phase des Lebenszyklus von Softwaretests. Während dieser Phase besteht die Aufgabe des Testers darin, die Anforderungen zu analysieren. Es gibt verschiedene Methoden für die Anforderungsanalyse, z. B. die Durchführung von Brainstorming-Sitzungen mit Geschäftsleuten und Teammitgliedern, um herauszufinden, ob die Anforderungen testbar sind oder nicht.

Diese Phase bestimmt den Umfang des Tests. Wenn ein Testteam Funktionen findet, die nicht getestet werden können, sollte dies dem Client mitgeteilt werden.

Testplanung

In dieser Phase identifiziert der Tester die Aktivitäten und Ressourcen, die zur Erreichung der Testziele beitragen würden.

Es werden verschiedene Metriken definiert, und es stehen Methoden zur Verfügung, um diese Metriken zu bestimmen und zu verfolgen. Die Testplanung umfasst auch die Ermittlung der wichtigsten Leistungsindikatoren für die Testbewertung.

Testanalyse

Diese Phase legt die Richtlinien fest, die getestet werden müssen. Es umfasst die Identifizierung der Testbedingungen anhand des Anforderungsdokuments, aller damit verbundenen Risiken und anderer Testkriterien.

Verschiedene Faktoren werden verwendet, um die Testbedingungen herauszufinden -

  • Produktkomplexität
  • Testtiefe
  • Risikobehaftet
  • Fähigkeiten benötigt
  • Kenntnisse der Mitglieder des Testteams
  • Testmanagement
  • Verfügbarkeit der Stakeholder

Die Testbedingungen sollten detailliert geschrieben werden.

Nehmen wir eine example. Für eine Website, auf der Produkte online verkauft werden, besteht eine Testbedingung darin, dass ein Kunde in der Lage sein sollte, eine Online-Zahlung vorzunehmen. Sie können detaillierte Bedingungen hinzufügen, z. B. sollte die Zahlung mit Kreditkarte, NEFT-Überweisung, Debitkarte oder Net Banking möglich sein.

Der Vorteil des Schreibens der detaillierten Testbedingung besteht darin, dass der Testumfang erweitert wird, da Testfälle normalerweise auf der Grundlage der Testbedingung geschrieben werden. Es ermöglicht das Schreiben detaillierterer Testfälle. Es hilft auch bei der Bestimmung des Zustands, wann der Test eines Softwareprodukts abgebrochen werden muss.

Test Design Phase

Diese Phase bestimmt, wie die Tests durchgeführt werden.

  • Teilen Sie die Testbedingungen in mehrere Unterbedingungen auf, um die Abdeckung zu erhöhen.

  • Holen Sie sich die Testdaten.

  • Richten Sie die Testumgebung ein.

  • Holen Sie sich die Metriken zur Rückverfolgbarkeit von Anforderungen.

  • Erstellen Sie die Testabdeckungsmetriken.

Testimplementierungsphase

Diese Phase umfasst die Erstellung detaillierter Testfälle gemäß den definierten Testbedingungen und Metriken.

  • Priorisieren Sie den Testfall.
  • Testfall zur Regression.
  • Stellen Sie die Richtigkeit der Testfälle sicher.
  • Melden Sie die Testfälle ab, bevor die eigentliche Ausführung beginnt.

Testausführungsphase

Diese Phase des Lebenszyklus von Softwaretests umfasst die tatsächliche Ausführung von Testfällen.

  • Führen Sie die Testfälle aus.
  • Protokollieren Sie die Fehler.
  • Überprüfen Sie die Rückverfolgbarkeitsmetriken, um den Fortschritt zu verfolgen.

Testabschluss

Diese Phase umfasst die Überprüfung des Abschlusses des Tests.

  • Überprüfen Sie, ob alle Testfälle ausgeführt und Fehler geöffnet wurden.
  • Notieren Sie die gewonnenen Erkenntnisse.
  • Schließen Sie die Testphase.