766 Shares 2408 views

Testprogramme – Fehlererkennungsprozess in dem Softwareprodukt

In der Software-Entwicklung ist ein wesentlicher Teil des Produktionsprozesses auf Software-Tests basiert. Was ist das und wie ist eine solche Aktivität in diesem Artikel eingegangen werden.

Was ist ein Test genannt?

Dies bezieht sich auf den Prozess, durch den Betrieb der Software die Positionen der fehlerhaften Betrieb des Codes zu erkennen. Für die besten Ergebnisse konstruierte absichtlich schwierig Satz von Eingabedaten. Der Hauptzweck der Prüfung ist die beste Gelegenheit für das Scheitern erstellen von Software. Obwohl manchmal das entwickelte Programm testen kann die Arbeitsfähigkeit und führen Sie die Funktionen eine Routinekontrolle vereinfacht werden. Das spart Zeit, werden aber oft von der Unzuverlässigkeit der Software, Benutzer Unzufriedenheit begleitet, und so weiter.

Wirksamkeit

Wie gut und schnell sind Fehler, ein erhebliche Auswirkungen auf die Kosten und die Dauer der Softwareentwicklung erforderliche Qualität. Also, trotz der Tatsache, dass die Tester ein Gehalt mehrfach kleiner als die Entwickler, die Kosten für ihre Dienste erhalten, sind in der Regel bis zu 30 – 40% der Kosten des gesamten Projektes. Dies ist aufgrund der Anzahl der Mitarbeiter, da die Suche nach dem Fehler – dies ein ungewöhnlicher und sehr schwieriger Prozess ist. Aber auch wenn die Software eine beachtliche Anzahl von Tests bestanden wird, gibt es keine 100% ige Garantie, dass der Fehler nicht passieren. Nur nicht wissen, wenn sie auftreten. Zur Förderung der Tester die Arten von Tests zu wählen, die eher auf Fehler, unterschiedliche Motivation Werkzeuge finden werden verwendet: sowohl moralisch als auch materiell.

Ansatz zur Arbeit

Optimal ist, wenn sie verschiedene Mechanismen zu implementieren, um sicherzustellen, dass Fehler in der Software nicht von Anfang an gewesen. Um dies zu tun, müssen Sie kümmern sich um das richtigen Architektur-Design nehmen, klares Mandat, und es ist wichtig, nicht Anpassungen in der Kommunikation zu machen, wenn die Arbeit an dem Projekt hat bereits begonnen. In diesem Fall wird der Tester, um die Aufgabe zu finden und eine kleine Anzahl von Fehlern zu identifizieren, die im Endergebnis bleiben. Dies wird sowohl Zeit als auch Geld sparen.

Was ist der Test?

Dies ist ein wichtiger Aspekt der Inspektionstätigkeiten, die für die erfolgreiche Erkennung von Defekten des Codes notwendig ist. Sie sind notwendig, um die korrekte Anwendung zu steuern. Was ist in den Test einbezogen? Es besteht aus Daten und deren Anfangswerte, die als die sich ergebende (oder Zwischenprodukt) erhalten werden sollte. Um Probleme und Unstimmigkeiten erfolgreich zu identifizieren, sollten Tests sein, nachdem der Algorithmus entwickelt wurde, aber die Programmierung nicht gestartet. Es ist wünschenswert, verschiedene Ansätze zu verwenden, um die erforderlichen Daten zu schätzen. In diesem Fall wird die Erhöhung der Wahrscheinlichkeit des Erfassens eines Fehlers, weil Sie den Code aus einer anderen Perspektive untersuchen können. Komplexe Tests müssen die Überprüfung der externen Effekte der fertigen Software-Produkte sowie seine Arbeit Algorithmen liefern. Von besonderem Interesse und Grenzfälle entartet bieten. So oft in der Praxis Fehler können zeigen, dass der Zyklus bei ein- oder mehrmals operiert weniger als geplant. Wichtig ist auch die Computer-Tests, durch die man, dass das gewünschte Ergebnis auf verschiedene Maschinen überprüfen. Dies ist notwendig, um sicherzustellen, dass die Software auf allen Computern funktioniert. Darüber hinaus, an dem der Computer-Test wird die Entwicklung durchgeführt wird, ist wichtig bei der Erstellung von Multi-Plattform-Entwicklung.

Fehlerbehebung Arts

Programme oft das Ziel mit großen Datenmengen zu arbeiten. Ist es notwendig, vollständig zu schaffen? Nein. Verbreitet erwarb die Praxis der „Miniaturisierung“ des Programms. In diesem Fall ist es eine vernünftige Reduzierung der Volumendaten im Vergleich zu derjenigen verwendet werden. Lassen Sie uns ein Beispiel an: Es ist ein Programm, das eine Matrix der Größe 50×50 erzeugt. Mit anderen Worten – Sie müssen die 2500 Werte manuell eingeben. Es ist sicherlich möglich, aber es wird eine sehr lange Zeit in Anspruch nehmen. Aber um die Funktionalität zu testen, erhält die Software eine Matrix, deren Dimension 5×5. Um dies zu tun, müssen Sie mehr als 25 Werte eingeben. Wenn in diesem Fall ein normaler, fehlerfreien Betrieb, bedeutet dies, dass alles in Ordnung ist. Zwar gibt es Fallen, die in der Tatsache liegen, dass mit dem Miniaturisierung Situation eintritt, in Änderung resultierend wird implizit und vorübergehend verschwinden. Es ist auch sehr selten, aber immer noch geschieht, ist, dass es neue Bugs.

Ziele verfolgt

Die Prüfung ist keine leichte Aufgabe, aufgrund der Tatsache, dass dieser Prozess nicht zugänglich ist in seiner Gesamtheit Formalisierung. Große Programme haben so gut wie nie die notwendige genaue Benchmark. Deshalb als Richtlinie eine Reihe von indirekten Daten verwenden, das jedoch nicht in vollem Umfang die Eigenschaften und Funktionen der Software-Entwicklung widerspiegelt, die debuggt. Darüber hinaus sollten sie so gewählt werden, dass das richtige Ergebnis berechnet, bevor wie wird das Software-Produkt getestet werden. Wenn Sie nicht vorrücken, ist verlockend es darum, zu prüfen, und wenn das Ergebnis der Maschine im erwarteten Bereich bekommt, wird es eine falsche Entscheidung getroffen wird, dass alles korrekt ist.

Überprüfen Sie unter verschiedenen Bedingungen

In der Regel tritt Programmtest in Mengen, die für die minimale Testfunktionalität in begrenztem Umfang erforderlich sind. Aktivitäten mit der Änderung der Parameter durchgeführt, sowie ihre Arbeitsbedingungen. Der Testvorgang kann in drei Phasen unterteilt werden:

  • Überprüfen Sie unter normalen Bedingungen. In diesem Fall testen wir die grundlegende Funktionalität der entwickelten Software. Das Ergebnis muss entsprechen den erwarteten.
  • Überprüfen Sie unter extremen Bedingungen. In diesen Fällen als auch bei den Randdaten, die sich negativ auf die Leistung der erzeugten Software auswirken können. Als Beispiel arbeiten wir mit einer extrem großen oder kleinen Zahlen oder sogar völligen Fehlen von Informationen erhalten.
  • Überprüfung in Ausnahmesituationen. Es beinhaltet die Verwendung von Daten, die über die Behandlung sind. In solchen Situationen ist es sehr schlecht, wenn die Software sie als nützlich für die Berechnung wahrnimmt und gibt ein plausibles Ergebnis. Es muss, dass es in solchen Fällen getroffen wird, ist eine Ablehnung jegliche Daten, die nicht richtig verarbeitet werden können. Es geht auch um den Benutzer zu informieren, die notwendig sind

Testen: Typen

Erstellen Sie Software ohne Fehler ist sehr schwierig. Dies erfordert eine beträchtliche Menge an Zeit. Um ein gutes Produkt oft zwei Arten von Tests verwendet wird: „Alpha“ und „Beta“. Was sind sie? Wenn die Leute über den Alpha-Test sprechen, bedeutet dies die Überprüfung selbst der Entwicklung „Labor“ Bedingungen in dem Zustand durchgeführt werden. Dies ist die letzte Testphase, bevor das Programm wird auf den Endnutzer übertragen werden. Daher versuchen die Entwickler um das Maximum zu machen. Zur Vereinfachung der Bedienung können die Daten protokolliert werden, um eine Chronologie von Problemen und deren Lösungen zu schaffen. Unter dem Beta-Test, um die Lieferung von Software auf eine begrenzte Anzahl von Benutzern zu verstehen, so dass sie das Programm ausnutzen können und identifizieren die Fehler, die Sie verpasst haben. Eine Besonderheit in diesem Fall ist die Tatsache, dass oft die Software nicht für den vorgesehenen Zweck verwendet wird. Da wird dieser Fehler identifiziert wird, in denen es nichts gesehen. Das ist ganz normal und Sorgen um es nicht notwendig ist.

Test Completion

Wenn die vorherigen Schritte erfolgreich abgeschlossen wurden, bleibt es Abnahmen durchzuführen. Er wird in diesem Fall eine reine Formsache. Bei dieser Prüfung kommt die Bestätigung, dass keine zusätzlichen Probleme gefunden wurden, und die Software kann auf dem Markt gebracht werden. Das wichtigste wird das Endergebnis sein, desto enger wird es überprüft werden. Dabei ist darauf zu achten, dass alle Schritte erfolgreich abgeschlossen wurden. Hier ist der Testprozess als Ganzes. Nun wollen wir in die technischen Details vertiefen und über ein solches nützliches Werkzeug, wie die Testprogramme sprechen. Was sie sind, und wenn sie verwendet werden?

computergestützte Tests

Früher dachte man, dass die dynamische Analyse der entwickelten Software – es ist zu schwer Ansatz ist, die effektiv verwendet, um Defekte zu erkennen. Aber aufgrund der zunehmenden Komplexität und das Volumen der Programme erschienen gegenteilige Ansicht. Automatisiertes Testen verwendet wird, wo die wichtigsten Prioritäten Effizienz und Sicherheit sind. Und sie sollten unter allen eingegeben werden. Als Beispiel sie die Programme, für die eine solche Prüfung geeignet ist, gehören die folgenden: Netzwerkprotokolle, Webserver, Sandbox. Weiter geht es auf ein paar Proben suchen, die für solche Aktivitäten genutzt werden kann. Wenn Sie Interesse an kostenlosen Testprogramme sind, die Qualität ist schwierig, unter ihnen zu finden. Aber es gibt geknackt „Raub“ Versionen der etablierten Projekte, so können Sie ihre Dienste beziehen.

Lawine

Dieses Tool hilft Defekte Programme in dem dynamischen Analysemodus getestet zu erkennen sind. Er sammelt Daten und analysiert die Leistung des Gleises entworfenen Objektes. Der Tester ist ein Satz von Eingängen gegeben, dass Fehler oder umgehen den vorhandenen Satz von Einschränkungen verursachen. Dank einen guten Test des Algorithmus durch eine große Anzahl von möglichen Situationen entwickelt. Das Programm erhält einen anderen Satz von Eingangsdaten, die eine große Anzahl von Situationen simulieren lassen und Bedingungen zu schaffen, in denen die meisten wahrscheinlich das Auftreten eines Fehlers ist. Ein wichtiger Vorteil des Programms ist die Verwendung von heuristischer Metrik. Wenn es ein Problem gibt, dann ist der Fehler in der Anwendung sehr wahrscheinlich. Aber dieses Programm hat seine Grenzen, wie es nur ein Häkchen markiert Eingangsbuchse oder eine Datei. Wenn eine Operation durchgeführt wie Prüfprogramme werden detaillierte Informationen über die Probleme mit der Null-Zeiger, Endlosschleifen, falsche Adressen oder Störungen enthalten aufgrund der Verwendung von Bibliotheken. Natürlich ist dies keine vollständige Liste der erkannten Fehler und deren einzige gemeinsame Beispiele. Mängel beheben, leider haben Entwickler – automatisierte Mittel für diese Zwecke nicht geeignet sind.

KLEE

Es ist ein gutes Programm für Speicher testen. Es kann etwa 50 Systemaufrufe und eine große Anzahl von virtuellen Prozessen abfangen somit parallel ausgeführt oder separat. Aber im Allgemeinen ist das Programm nicht auf der Suche für einige verdächtigen Orte und verarbeitet die maximal mögliche Menge an Code und Analysen verwendete Datenpfade. Aus diesem Grund hängt das Testprogramm auf die Größe des Objekts. Wenn die Wette Überprüfung auf symbolische Prozesse gelegt. Sie sind eine der Möglichkeiten, Aufgaben in einem Programm auszuführen, die getestet wird. Dank den Parallelbetrieb ist möglich, eine große Anzahl von Varianten der Arbeit der Testanwendung zu analysieren. Für jeden Pfad der Eingabedatensätze werden nach dem Test gespeichert, die mit der Prüfung begonnen hat. Es sollte beachtet werden, dass die Programme Tests mit KLEE eine große Anzahl von Variationen zu identifizieren hilft, was nicht sein sollte. Es kann Probleme auch bei Anwendungen finden, die seit Jahrzehnten entwickelt werden.