0% fanden dieses Dokument nützlich (0 Abstimmungen)
3 Ansichten12 Seiten

Client Server Softwaretests

Das Dokument bietet eine umfassende Einführung in die Client/Server-Architektur und deren Testmethoden, einschließlich der verschiedenen Architekturen wie 2-Schichten, modifizierte 2-Schichten und 3-Schichten. Es behandelt die Herausforderungen des Testens von Client/Server-Software, einschließlich der Notwendigkeit eines detaillierten Testplans, der die spezifischen Anforderungen und Probleme dieser Systeme berücksichtigt. Zudem werden Sicherheitsaspekte und kritische Managementprobleme im Zusammenhang mit Client/Server-Systemen erörtert.

Übersetzt von

ScribdTranslations
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
3 Ansichten12 Seiten

Client Server Softwaretests

Das Dokument bietet eine umfassende Einführung in die Client/Server-Architektur und deren Testmethoden, einschließlich der verschiedenen Architekturen wie 2-Schichten, modifizierte 2-Schichten und 3-Schichten. Es behandelt die Herausforderungen des Testens von Client/Server-Software, einschließlich der Notwendigkeit eines detaillierten Testplans, der die spezifischen Anforderungen und Probleme dieser Systeme berücksichtigt. Zudem werden Sicherheitsaspekte und kritische Managementprobleme im Zusammenhang mit Client/Server-Systemen erörtert.

Übersetzt von

ScribdTranslations
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Client/Server-Softwaretest

Inhalt
Einführung

I: Einführung in die Client/Server-Architektur


1. Was ist Client/Server-Computing?
2. Architekturen für Client/Server-Systeme.
2.1. Client/Server 2-Schichtenarchitektur
2.2. Modifizierte 2-schichtige Architektur
2.3. 3-Schichten-Architektur
3. Kritische Probleme im Zusammenhang mit dem Management von Client/Server-Systemen

II Client/Server Software Testen


1. Einführung in das Testen von Client-Server-Software
2. Testing Plan for Client/Server Computing
3. Client/Server-Tests in verschiedenen Schichten
3.1. Tests auf der Client-Seite – Testen der grafischen Benutzeroberfläche
3.1.1. Komplexität bei der Prüfung grafischer Benutzeroberflächen
3.1.2. GUI-Testtechniken
3.2. Tests auf der Serverseite---Anwendungstest
3.2.1. Client/Server Lasttests
3.2.2. Lasttest
3.2.3. Stresstest
3.2.4. Leistungstest
3.2.5. Andere serverseitige Tests im Zusammenhang mit der Datenspeicherung
3.2.6. Beispiele für automatisierte Server-Testwerkzeuge
3.3. Testen von vernetzten Anwendungen
4. Besondere Anliegen für Internet-Computing —Sicherheitstest

Client/Server-Softwaretests

Einführung

Der erste Teil dieses Essays ist die Einführung in die Client/Server-Architektur, die drei umfasst
sections: What is the Client/Server Computing, Architectures for Client/Server System, and
Kritische Probleme bei der Verwaltung von Client/Server-Systemen.

Client/Server-Computing ist eine aktuelle Realität für professionelle Systementwickler und für
sophisticated departmental computing users. The section, What is the Client/Server Computing,
zeigt die Definition und die wichtigsten Merkmale des Client/Server-Computing auf. Netcentriert (oder
Das Internet-Computing, als Weiterentwicklung des Client/Server-Modells, hat neue Technologien hervorgebracht.
Vordergrund. Daher die wichtigsten Merkmale und Unterschiede zwischen Netzentisch und traditionell
Client-/Server-Computing wird ebenfalls in diesem Abschnitt behandelt.

Sowohl traditionelle als auch netzwerkszentrierte Computings sind schichtübergreifende Architekturen. Die kurze Einführung für drei
beliebte Architekturen, nämlich 2-Schichten-Architektur, modifizierte 2-Schichten-Architektur und 3-Schichten-Architektur
Architekturen findet man im Abschnitt -- Die Architektur für Client/Server-Computing.
Der zweite Teil dieses Essays handelt von der Testung von Client-Server-Software. Es gibt vier Abschnitte in diesem.
part: Introduction to Client/Server Software Testing, Testing Plan for Client/Server Computing,
Client/Server-Tests in verschiedenen Schichten und besondere Bedenken für Internet-Computing – Sicherheit
Testen.

Im Abschnitt Einführung in das Client/Server-Softwaretest stellen wir einige Grundlagen vor


Merkmale der Client/Server-Softwaretests aus verschiedenen Blickwinkeln.

Aufgrund des Unterschieds zwischen traditionellem und Client/Server-Softwaretest ist ein praktisches Testen erforderlich.
Der Plan basierend auf der Anwendungsfunktionalität ist in Abschnitt 2 Testplan für Client/Server angehängt.
Softwaretests. Wir geben auch einige detaillierte Erklärungen zu verschiedenen Testplänen, wie zum Beispiel Systemtests.
Testplan, Betriebsplan, Abnahmetestplan und Regressionstestplan, die Teile eines
Client/Server-Testplan.

Wie in Teil I erwähnt, hat ein Client/Server-System mehrere Schichten, die betrachtet werden können.
konzeptionell und physisch. Physisch betrachtet, sind die Schichten Client, Server, Middleware und
Netzwerk. In Abschnitt 3 Client/Server-Testen in verschiedenen Schichten werden spezifische Anliegen in Bezug auf den Client behandelt.
Server- und Netzwerkprobleme, Testtechniken, Testwerkzeuge und einige Aktivitäten werden angesprochen.
getrennt in Tests auf der Client-Seite, Tests auf der Server-Seite und Netzwerktests.

For Internet-based Client/Server systems, security is one of the major concerns. Hence, this essay
umfasst auch einige Sicherheitsrisiken, die in Teil II, Abschnitt 4 Besondere Bedenken getestet werden müssen
für Internet Computing—Sicherheitstests.

2
Client/Server-Softwaretests

I: Einführung in die Client/Server-Architektur:


Die Entwicklung von Client-/Server-Systemen ist die bevorzugte Methode zur kosteneffizienten Konstruktion.
Abteilungs- und unternehmensweite strategische Unternehmensinformationssysteme. Es ermöglicht die schnelle
Einsatz von Informationssystemen in Endbenutzerumgebungen.

Was ist Client/Server-Computing?

Client/Server-Computing ist ein Rechenstil, der mehrere Prozessoren umfasst, von denen einer ...
typischerweise ein Arbeitsplatz, über den eine einzelne Geschäftstransaktion abgeschlossen wird [1].
Client/Server-Computing erkennt an, dass die Geschäftsanwender und nicht ein Hauptrechner im Mittelpunkt stehen.
Geschäft. Daher wird Client/Server auch als "client-zentriertes" Rechnen bezeichnet.

Heute wird Client/Server-Computing auf das Internet ausgeweitet - netzzentriertes Computing (Netzwerk
Im Bereich des zentralen Rechnens haben sich die Konzepte der Geschäftsanwender stark erweitert. Forrester-Bericht
beschreibt das netzwerkniveau Computing als "Fernserver und -clients, die über das Internet kooperieren, um
arbeitet" und sagt, dass Internet-Computing das Client/Server-Modell erweitert und verbessert [2].

Die Merkmale des Client/Server-Computings umfassen:


Es gibt mehrere Prozessoren.
2. Eine vollständige Geschäftstransaktion wird über mehrere Server verarbeitet

Netzwerkzentriertes Rechnen ---- als eine Weiterentwicklung des Client/Server-Modells hat neue Technologien hervorgebracht
an vorderster Front, insbesondere im Bereich der externen Präsenz und Zugänglichkeit, der Verbreitung und Medien
Fähigkeiten. Einige der neuen Technologien sind [3]:

a. Browser, der einen "universellen Client" bereitstellt. In der traditionellen Client/Server-Umgebung,


Die Verteilung einer Anwendung intern oder extern für ein Unternehmen erfordert, dass die Anwendung
muss für alle spezifischen Arbeitsplatz-Plattformen (Betriebssysteme) neu kompiliert und getestet werden. Es auch
erfordert normalerweise das Laden der Anwendung auf jedem Client-Rechner. Der browserzentrierte
Anwendungsstil bietet eine Alternative zu diesem traditionellen Problem. Der Webbrowser bietet eine
universeller Client, der den Nutzern eine einheitliche und vertraute Benutzeroberfläche bietet. Über einen Browser,
Der Benutzer kann viele Arten von Anwendungen starten und viele Arten von Dokumenten ansehen. Das kann sein
erfolgreich auf verschiedenen Betriebssystemen und unabhängig davon, wo sich die Anwendungen oder
Dokumente befinden sich.
b. Direkte Lieferanten-Kunden-Beziehungen. Die externe Präsenz und der Zugang, die ermöglicht werden durch
Die Verbindung eines Geschäftsknotens mit dem Internet hat eine Reihe von Möglichkeiten eröffnet, um zu erreichen, ein
Zielgruppe außerhalb der traditionellen internen Nutzer eines Unternehmens.
c. Reichhaltigere Dokumente. Netzzentrierte Technologien (wie HTML, Dokumente, Plug-ins und Java)
und die Standardisierung von Medieninformationsformaten ermöglicht die Unterstützung komplexer Dokumente,
Anwendungen und sogar nichtdiskrete Datentypen wie Audio und Video.
3
d. Überprüfung der Anwendungsversion und dynamisches Update. Das Konfigurationsmanagement von
traditionelle Client/Server-Anwendungen, die dazu neigen, sowohl auf dem Client als auch auf dem Server gespeichert zu werden
Seiten ist ein großes Problem für viele Unternehmen. Netzentrierte Computer können überprüfen und aktualisieren.
Anwendungsversionen dynamisch.

Architekturen für Client/Server-Systeme.

Sowohl die traditionelle Client/Server-Architektur als auch die netzwerkzentrierte Datenverarbeitung sind mehrschichtige Architekturen. In beiden
In einigen Fällen gibt es eine Verteilung von Präsentationsdiensten, Anwendungssoftware und Daten über die Clients hinweg und
Server. In beiden Fällen gibt es ein Netzwerkprotokoll, das für die Kommunikation zwischen
Clients und Server. In beiden Fällen unterstützen sie einen Rechenstil, bei dem Prozesse auf unterschiedlichen
Maschinen kommunizieren mithilfe von Nachrichten. In diesem Stil delegiert der „Client“ Geschäftsfunktionen oder
andere Aufgaben (wie Datenmanipulationslogik) an einen oder mehrere Serverprozesse. Serverprozesse
Auf Nachrichten von Kunden antworten.

Ein Client/Server-System hat mehrere Schichten, die entweder konzeptionell oder in einer anderen Form visualisiert werden können.
physische Weise. Konzeptuell betrachtet sind die Schichten Präsentation, Prozess und Datenbank. Betrachtet
Physisch bestehen die Schichten aus Server, Client, Middleware und Netzwerk.

2.1. Client/Server 2-stufige Architektur:

Die 2-Tier-Architektur ist auch als client-zentrisches Modell bekannt, das einen "dicken" Client implementiert.
Fast die gesamte Verarbeitung erfolgt auf dem Client, und der Client greift direkt auf die Datenbank zu, anstatt
than through any middleware. In this model, all of the presentation logic and the business logic are
als Prozesse auf dem Client implementiert.

Die 2-stufige Architektur ist die einfachste, die man implementieren kann. Daher ist sie die einfachste, die man testen kann. Außerdem ist sie
ist die stabilste Form der Client/Server-Implementierung, die die meisten Fehler, die Tester finden, ausmacht
unabhängig von der Implementierung. Direkter Zugriff auf die Datenbank erleichtert die Überprüfung des Tests.
Ergebnisse.

Der Nachteil dieses Modells ist die Begrenzung der Skalierbarkeit und die Schwierigkeiten bei der Wartung.
Weil es die Anwendungslogik nicht sehr gut partitioniert, erfordern Änderungen die Neuinstallation des
Software auf allen Client-Desktops.

2.2. Modifizierte 2-stufige Architektur:

Wegen des Albtraums der Wartung der 2-schichtigen Client/Server-Architektur, das Geschäft
logic is moved to the database side, implemented using triggers and procedures. This kind of
Das Modell ist als modifizierte 2-stufige Architektur bekannt.

In Bezug auf Softwaretests ist die modifizierte 2-Tier-Architektur komplexer als die 2-Tier-Architektur.
Architektur aus folgenden Gründen:
a. Es ist schwierig, einen direkten Test der Geschäftslogik zu erstellen. Spezielle Werkzeuge sind erforderlich, um dies umzusetzen.
und die Tests überprüfen.
b. Es ist möglich, die Geschäftslogik von der GUI aus zu testen, aber es gibt keinen Weg, um zu bestimmen, die
Anzahl der Verfahren und/oder Trigger, die ausgelöst werden und Zwischenresultate vor dem Ende erstellen
Produkt wird erreicht.
c. Eine weitere Komplikation sind dynamische Datenbankabfragen. Sie werden von der Anwendung erstellt und
existieren nur, wenn das Programm sie benötigt. Es ist sehr schwierig, sicherzustellen, dass der Test ein

4
Abfrage „korrekt“, oder wie erwartet. Spezielle Dienstprogramme, die anzeigen, was im Speicher läuft, müssen
während der Tests verwendet werden.

2.3. Dreischichtige Architektur:

For 3-tiered architecture, the application is divided into a presentation tier, a middle tier, and a data
Die mittlere Schicht besteht aus einem oder mehreren Anwendungsservern, die über einen oder mehrere verteilt sind.
physische Maschinen. Diese Architektur wird auch als der "Thin Client—Fat Server"-Ansatz bezeichnet.
Dieses Modell ist sehr kompliziert zu testen, da die Geschäfts- und/oder Datenobjekte aufgerufen werden können.
von vielen Kunden, und die Objekte können auf viele Server verteilt werden. Die Eigenschaften
Machen Sie die 3-stufige Architektur wünschenswert als Entwicklungs- und Implementierungsrahmen.
Zur gleichen Zeit macht es das Testen komplizierter und kniffliger.

3: Kritische Probleme bei der Verwaltung von Client/Server-Systemen:

Die Hurwitz Consulting Group, Inc. hat einen Rahmen zur Verwaltung von Client/Server-Systemen bereitgestellt.
die acht Hauptmanagementprobleme identifiziert [4]:

a. Leistung
b. Problem
c. Software distribution
d. Konfiguration und Verwaltung
e. Daten und Speicherung
f. Operationen
g. Sicherheit
h. Lizenz

II Client/Server Software-Test
Softwaretests für Client/Server-Systeme (Desktop oder Webtop) präsentieren eine neue Reihe von Tests
Probleme, aber es umfasst auch die traditionelleren Probleme, mit denen Tester immer konfrontiert waren in der
Mainframe-Welt. Atre beschreibt die speziellen Anforderungen an das Client/Server-Testing [5]:
a. Die Benutzeroberfläche des Kunden
b. Die Schnittstelle des Clients mit dem Server
c. The server’s functionality
d. Das Netzwerk (die Zuverlässigkeit und Leistung des Netzwerks)

1. Einführung in das Client/Server-Softwaretesten:

Wir können die Client/Server-Softwaretests aus verschiedenen Perspektiven betrachten:

a. Aus einer Perspektive der "verteilten Verarbeitung": Da Client/Server eine Form von verteilter
Bei der Verarbeitung ist es notwendig, seine Testimplikationen aus dieser Perspektive zu betrachten. Der Begriff
„verteilt“ impliziert, dass Daten und Prozesse über verschiedene und verschiedene Orte verteilt sind
Plattformen. Binder nennt mehrere Aspekte, die im Client/Server berücksichtigt werden müssen.
Umgebungen [6].
• Überlegungen zur Client-GUI
• Überlegungen zur Vielfalt der Zielumgebung und -plattform
• Überlegungen zu verteilten Datenbanken (einschließlich replizierter Daten)
• Überlegungen zur verteilten Verarbeitung (einschließlich replizierter Prozesse)
5
• Nicht robuste Zielumgebung
• Nichtlineare Leistungsbeziehungen
[Link] einer plattformübergreifenden Perspektive: Die vernetzte plattformübergreifende Natur von Client/Server
Systeme erfordern, dass wir viel mehr Aufmerksamkeit auf Konfigurationstests und Kompatibilität richten.
Testen. Der Zweck des Konfigurationstests besteht darin, die Schwächen des betriebenen Systems aufzudecken.
in den verschiedenen bekannten Hardware- und Softwareumgebungen. Der Zweck der Vergleichbarkeit
Tests dienen dazu, funktionale Inkonsistenzen der Schnittstelle zwischen Hardware und Software zu finden.
c. From a cross-window perspective: The current proliferation of Microsoft Windows
Umgebungen haben eine Reihe von Problemen für Client/Server-Entwickler geschaffen. Für
Beispiel: Windows 3.1 ist eine 16-Bit-Umgebung, und Windows 95 sowie Windows NT sind 32-Bit.
Umgebung. Mischen und Anpassen von 16-Bit- und 32-Bit-Code/16-Bit- oder 32-Bit-Systemen und
Produkte verursachen erhebliche Probleme. Jetzt gibt es einige automatisierte Tools, die generieren können
sowohl 16-Bit- als auch 32-Bit-Testskripte.

2. Testplan für Client/Server-Computing:

In vielen Fällen kann das Testen von Client/Server-Software nicht aus der Perspektive von
traditionelle integrierte Testaktivitäten, da diese Sichtweise entweder überhaupt nicht anwendbar ist oder zu
eng, und andere Dimensionen müssen berücksichtigt werden. Folgendes sind einige spezifische Überlegungen
muss in einem Client/Server-Testplan behandelt werden.
•Muss die Berücksichtigung der verschiedenen Hardware- und Softwareplattformen einschließen, auf denen die
Das System wird verwendet.
•Muss Leistungsprobleme von Netzwerk und Datenbankserver berücksichtigen, mit denen das Hauptrechnersystem konfrontiert ist.
Systeme mussten sich nicht damit auseinandersetzen.
Muss die Replikation von Daten und Prozessen über netzwerkgebundene Server hinweg berücksichtigen

Siehe angehängten "Client/Server-Testplan basierend auf der Anwendungsfunktionalität" [7].

In the test plan, we may address or construct several different kinds of testing:
a. Der System-Testplan: System-Test-Szenarien sind eine Reihe von Testskripten, die das Benutzerverhalten widerspiegeln.
In einer typischen Geschäftssituation ist es sehr wichtig, die Geschäftsszenarien zu identifizieren, bevor
Erstellung des System-Testplans.

Siehe Anhang FALLSTUDIE: Die Geschäftsszenarien für das MFS-Bildgebungssystem

b. Der Benutzerakzeptanztestplan: Der Benutzerakzeptanztestplan ist dem Systemtest sehr ähnlich.


Der Hauptunterschied ist die Richtung. Der Benutzertest ist darauf ausgelegt, zu demonstrieren, dass
wichtige Systemfunktionen für den Nutzer anstatt neue Fehler zu finden.

Siehe angehängte FALLSTUDIE: Abnahmetestspezifikation für das MFS-Bildgebungssystem

c. Der Betriebstestplan: Er leitet die Einzelbenutzertests der grafischen Benutzeroberfläche und von
die Systemfunktion. Dieser Plan sollte gemäß den Abschnitten A und B von
Abschnitt II im Testplan-Template -- Client/Server-Testplan basierend auf der Anwendung
functionality. (See attachedAppendix I)

d. Der Regressionstestplan: Der Regressionstestplan erfolgt auf zwei Ebenen. In Client/Server


Entwicklung, Regressionstest erfolgt zwischen den Builds. Zwischen den Systemveröffentlichungen erfolgt die Regression.
Tests finden auch nach der Produktion statt. Jedes neue Build/Release muss auf drei Aspekte getestet werden:
• Um Fehler aufzudecken, die durch die Korrektur in zuvor korrekte Funktionen eingeführt wurden.

6
• Um zuvor gemeldete Fehler aufzudecken, die noch bestehen.
• To uncover errors in the new functionality.

[Link]-Leistungstestplan: Es ist notwendig, um eventuelle


unexpected system performance problem under load. This test plan should be constructed form
Abschnitt V des Testplanvorlagen - Client/Server-Testplan basierend auf der Anwendung
Funktionalität. (Siehe angehängtes Anhang I)

3. Client/Server-Test in verschiedenen Schichten:

3.1. Tests auf der Client-Seite – Grafikbenutzerschnittstellentests:

3.1.1 Die Komplexität der Tests der grafischen Benutzeroberfläche resultiert aus:
a. Plattformübergreifende Natur: Die gleichen GUI-Objekte können erforderlich sein, um transparent zu laufen.
(eine konsistente Schnittstelle über Plattformen hinweg bereitstellen, mit der plattformübergreifenden Natur
unbekannt für den Benutzer) auf verschiedenen Hardware- und Softwareplattformen
b. Ereignisgesteuerte Natur: GUI-basierte Anwendungen haben erhöhte Testanforderungen
weil sie sich in einer ereignisgesteuerten Umgebung befinden, in der Benutzeraktionen Ereignisse sind, die
Bestimmen Sie das Verhalten der Anwendung. Weil die Anzahl der verfügbaren Benutzeraktionen
sehr hoch, die Anzahl der logischen Pfade im unterstützenden Programmcode ist ebenfalls sehr hoch.
c. Die Maus, als alternative Eingabemethode, wirft auch einige Probleme auf. Es ist notwendig
um sicherzustellen, dass die Anwendung sowohl Maus- als auch Tastatureingaben korrekt verarbeitet.
d. Die GUI-Testung erfordert auch das Testen auf die Existenz einer Datei, die unterstützende Informationen bereitstellt.
Daten/Informationen für Textobjekte. Die Anwendung muss empfindlich auf die Existenz oder
Nichtexistenz.
In vielen Fällen umfasst das GUI-Testing auch das Testen der Funktion, die es dem Endbenutzer ermöglicht, ...
Benutzern, GUI-Objekte anzupassen. Viele GUI-Entwicklungstools geben den Benutzern die Möglichkeit
ihre eigenen GUI-Objekte zu definieren. Die Fähigkeit dazu erfordert die zugrunde liegende
Anwendung, um Ereignisse im Zusammenhang mit diesen benutzerdefinierten Objekten zu erkennen und zu verarbeiten.

3.1.2 GUI-Testtechniken: Viele traditionelle Softwaretesttechniken können bei GUI verwendet werden.
Testen.

a.Überprüfungstechniken wie Durchläufe und Inspektionen [8]. Diese menschlichen Tests


procedures have been found to be very effective in the prevention and early correction
von Fehlern. Es wurde dokumentiert, dass zwei Drittel aller Fehler in der Fertigung
Informationssysteme sind das Ergebnis von logischen Fehlern und nicht von schlechter Programmierung [9].
Präventive Testansätze, wie Durchgänge und Inspektionen, können das eliminieren
Die Mehrheit dieser Analyse- und Entwurfsfehler, bevor sie in die Produktion gehen.
System.

[Link]: Einige der schwerwiegendsten Fehler in Softwaresystemen haben


das Ergebnis unzureichender oder fehlender Eingabeverfahren zur Validierung. Softwaretests
hat leistungsstarke Datenvalidierungsverfahren in Form der Black-Box-Techniken von
Equivalence Partitioning, Boundary Analysis, and Error Guessing. These techniques
sind auch sehr nützlich bei der GUI-Testung.

c. Szenariotests: Es handelt sich um einen systemweiten Black-Box-Ansatz, der auch eine gute White-Box-Analyse gewährleistet.
Box-Logik-Level-Abdeckung für Client-/Server-Systeme.
7
d. Die Entscheidungsschlusstabelle (DLT): DLT stellt eine externe Sicht auf die funktionale
Spezifikation, die zur Ergänzung von Szenarientests aus einer Logikabdeckung verwendet werden kann
perspective. In DLTs, each logical condition in the specification becomes a control path
in the finished system. Each rule in the table describes a specific instance of a pathway
das muss umgesetzt werden. Daher bieten Testfälle, die auf den Regeln in einem DLT basieren
angemessene Abdeckung der Logik des Moduls unabhängig von seiner kodierten Implementierung.

In addition to these traditional testing techniques, a number of companies have begun


strukturierte Werkzeuge zur Aufnahme/Wiedergabe-Testung zu produzieren, die die einzigartigen Eigenschaften von
GUIs. Der Unterschied zwischen traditionellem Erfassen/Wiedergabe und strukturiertem Erfassen/Wiedergabe
Das Paradigma ist, dass die Erfassung/Wiedergabe auf einer externen Ebene erfolgt. Es zeichnet Eingaben als Tastenanschläge auf.
oder Mausaktionen und Ausgabe als Bildschirmfotos, die gespeichert und mit Eingaben verglichen werden
und Bilder von nachfolgenden Aufgaben ausgeben.

Die strukturierte Erfassung/Wiedergabe basiert auf einer internen Sicht auf externe Aktivitäten. Die
Die Interaktionen des Anwendungsprogramms mit der Benutzeroberfläche werden als interne 'Ereignisse' aufgezeichnet, die ...
be saved as “scripts” written in some certain language.

3.2 Testen auf der Serverseite---Anwendungstest:

Es gibt mehrere Situationen, die Skripte entwerfen können, um während mehrerer Tests zu beschleunigen: Lade
Tests, Volumentests, Stresstests, Leistungstests und Datenwiederherstellungstests.

3.2.1 Client/Server Belastungstests:

Client/Server-Systeme müssen zwei Arten von Tests unterzogen werden: Single-User-Funktionalitätstest


Testen und Lasttests mit mehreren Benutzern.
Die Multiuser-Belastungstest ist die beste Methode, um die Leistung von Client/Server zu messen. Es ist
notwendig, um die Eignung von Anwendungsserver, Datenbankserver und
Webserver-Leistung. Da ein Mehrbenutzerlasttest erfordert, eine Situation zu emulieren in
which multiple clients access a single server application, it is almost impossible to be done
ohne Automatisierung.

Für die Client/Server-Belastungstests gehören einige gängige Ziele dazu:


Die Zeitdauer zur vollständigen Erledigung einer Aufgabe messen
•Entdecken, welche Hardware-/Software-Konfiguration optimale Leistung bietet
•Optimierung von Datenbankabfragen für optimale Antwort
•Erfassung der mittleren Zeit bis zum Ausfall als Maß für die Zuverlässigkeit
•Messung der Systemkapazität zur Bewältigung von Belastungen ohne Leistungsabbau
Identifizierung von Leistungsengpässen

Basierend auf den Testzielen sollte ein Satz von Leistungsmesuren beschrieben werden.
Typische Messungen umfassen:
End-to-End-Antwortzeit
Netzwerkantwortzeit
•Reaktionszeit der Benutzeroberfläche

Serverantwortzeit
Middleware-Antwortzeit

8
3.2.2 Volumenprüfung:
Der Zweck von Volume-Tests besteht darin, Schwächen im System in Bezug auf seine
Umgang mit großen Datenmengen über längere Zeiträume

3.2.3 Stresstest:
Der Zweck von Stresstests besteht darin, Mängel der Systemkapazität im Umgang mit großen Belastungen zu finden.
Anzahl der Transaktionen während der Spitzenzeiten. Zum Beispiel könnte ein Skript von den Benutzern verlangen, dass sie
login and proceed with their daily activities while, at the same time, requiring that a series
von Arbeitsplätzen, die eine große Anzahl anderer Systeme emulieren, werden aufgezeichnete Skripte ausgeführt, die
hinzufügen, aktualisieren oder aus der Datenbank löschen.

3.2.4 Leistungstest:
Die Systemleistung wird im Allgemeinen in Bezug auf Reaktionszeit und Durchsatzraten bewertet.
unter unterschiedlichen Verarbeitungs- und Konfigurationsbedingungen. Um die Leistung anzugreifen
Probleme, es gibt mehrere Fragen, die zuerst gestellt werden sollten:
Wie viel Anwendung Logik sollte remote ausgeführt werden?
• Wie viel Aktualisierung sollte über das Netzwerk auf den Datenbankserver vorgenommen werden von
die Client-Arbeitsstation?
Wie viele Daten sollten in jeder Transaktion an jeden gesendet werden?

Laut Hamilton [10] sind die Leistungsprobleme häufig das Ergebnis der
Client oder Server wird unangemessen konfiguriert.

Die beste Strategie zur Verbesserung der Client-Server-Leistung ist ein dreistufiger Prozess [11]. Zuerst,
führen Sie kontrollierte Leistungstests durch, die Daten über Volumen, Stress und Belastung sammeln
Tests. Zweitens, analysieren Sie die gesammelten Daten. Drittens, prüfen und optimieren Sie die Datenbankabfragen und,
Falls erforderlich, stellen Sie temporären Datenspeicher auf dem Client zur Verfügung, während die Anwendung läuft.
ausführen.

3.2.5 Weitere serverseitige Tests im Zusammenhang mit der Datenspeicherung:


Datenwiederherstellungstest
•Data backup and restoring testing
Datensicherheitstests
•Replizierte Datenintegritätstests.

3.2.6 Beispiele für automatisierte Server-Testwerkzeuge:


LoadRunning/XL, angeboten von Mercury Interactive, ist ein automatisierter Server auf Unix-Basis
Testwerkzeug, das die Serverseite von Multi-User-Client/Server-Anwendungen testet.
LoadRunning/PC ist ähnlich wie Produkte, die auf Windows-Umgebungen basieren.

SQL Inspector und ODBC Inspector sind Werkzeuge zum Testen der Verbindung zwischen dem Client und dem
Server. Diese Produkte überwachen die Datenbank-Schnittstellenpipeline und sammeln Informationen.
Über alle Datenbankaufrufe oder eine ausgewählte Teilmenge davon.

SQL Profiler wird verwendet, um Datenbankaufrufe zu optimieren. Er speichert und zeigt Statistiken über SQL an.
Befehle, die in Client/Server-Anwendungen eingebettet sind.

SQLEYE ist ein NT-basiertes Tool, das von Microsoft angeboten wird. Es kann die übermittelten Informationen verfolgen.
über den SQL Server und seinen Client. Die Client-Anwendung verbindet sich indirekt mit dem SQL Server
9
durch SQLEYE, das es Benutzern ermöglicht, die an SQL Server gesendeten Abfragen einzusehen, die zurückgegeben wurden
results, row counts, message, and errors

3.3 Testen von netzwerkbasierten Anwendungen

Das Testen des Netzwerks liegt außerhalb des Rahmens eines einzelnen Client-/Server-Projekts, da es dienen kann
mehr als ein einzelnes Client/Server-Projekt. Somit fällt das Netzwerk-Testing in den Bereich des
Netzwerkmanagementgruppe. Wie Robert Buchanan [12] sagte: "Wenn Sie ein Netzwerk nicht getestet haben
Lösung, es ist schwer zu sagen, ob es funktioniert. Es könnte 'funktionieren'. Es könnte alle Befehle ausführen, aber es könnte
sei zu langsam für deine Bedürfnisse.

Nemzom macht die Mehrheit der Probleme mit der Netzwerkleistung für unzureichendes Netzwerk verantwortlich.
Kapazität [13]. Er betrachtet Bandbreite und Latenz als die entscheidenden Faktoren für die Netzwerkgeschwindigkeit.
und Kapazität. Er sieht auch Interaktionen zwischen zwischenliegenden Netzwerknoten (Switches,
Brücken, Router und Gateways) als zusätzliches Problem.

Elemente des Netzwerktests umfassen:


•Anwendungsantwortzeit misst
•Application functionality
Durchsatz- und Leistungsmessung
•Konfiguration und Dimensionierung
Stress- und Leistungstests
Zuverlässigkeit

Es ist notwendig, die Reaktionszeit der Anwendung zu messen, während die Anwendung einen ...
Reihe von Aufgaben. Diese Art von Maßnahme spiegelt die Wahrnehmung des Benutzers des Netzwerks wider, und ist
anwendbar durch den gesamten Lebenszyklus des Netzwerks. Testen der Anwendungsfunktionen
betrifft das Testen von gemeinsam genutzten Funktionen über Arbeitsstationen, gemeinsam genutzte Daten und gemeinsam genutzte

Prozesse. Diese Art von Tests ist während der Entwicklung und Evolution anwendbar.
Konfiguration und Größenbestimmung messen die Reaktion spezifischer Systemkonfigurationen. Dies ist
bis die gewünschte Leistungsstufe erreicht ist, wurden verschiedene Netzwerk-Konfigurationen durchgeführt.
Der Zweck von Stresstests besteht darin, Netzwerkressourcen wie Router oder Hubs zu überlasten.
Leistungstests können verwendet werden, um festzustellen, wie viele Netzwerkgeräte benötigt werden.
um die Leistungsanforderungen des Netzwerks zu erfüllen. Die Zuverlässigkeitsprüfung umfasst das Durchführen von
Netzwerk für 24-72 Stunden unter einer mittel- bis schweren Last. Aus der Perspektive der Zuverlässigkeit ist es
wichtig, dass das Netzwerk im Falle eines Knotenfehlers funktionsfähig bleibt.

4 Besondere Anliegen für Internet-Computing --- Sicherheitstest:

Bei internetbasierten Client/Server-Systemen ist die Sicherheitstests für den Webserver wichtig.
Der Webserver ist das Fenster Ihres LANs zur Welt und umgekehrt ist er das Fenster der Welt zu
Ihr LAN.

Der folgende Auszug stammt aus den WWW-Sicherheits-FAQ [14]:


Es ist eine Maxime in den Kreisen der Systemsicherheit, dass fehlerhafte Software Sicherheitslücken öffnet. Es ist eine Maxime in der Software
Entwicklungsbereiche, dass große, komplexe Programme Fehler enthalten. Leider sind Webserver groß und komplex.
Programme, die Sicherheitslücken enthalten können. Darüber hinaus ermöglicht die offene Architektur des Webservers willkürliche CGI.
Skripte, die auf der Serverseite der Verbindung als Antwort auf entfernte Anfragen ausgeführt werden. Jedes CGI-Skript
Auf Ihrer Seite installierte Software kann Bugs enthalten, und jeder dieser Bugs ist ein potenzielles Sicherheitsloch.

10
Drei Arten von Sicherheitsrisiken wurden identifiziert [15]:

Das primäre Risiko sind Fehler in der Fehlkonfiguration des Webservers, die es erlauben würden
remote Benutzer zu:
Vertrauliche Informationen stehlen
•Führen Sie Befehle auf dem Server-Host aus, wodurch die Benutzer das System ändern können.
• Informationen über den Server-Host sammeln, die ihnen ermöglichen würden, einzubrechen.
System
•Starten Sie Angriffe, die das System zum Absturz bringen.
2. Das sekundäre Risiko tritt auf der Browser-Seite auf
•Aktiver Inhalt, der den Browser zum Absturz bringt, Ihr System beschädigt, Sicherheitsverletzungen verursacht
Die Privatsphäre des Unternehmens oder erzeugt eine Belästigung.
•Der Missbrauch von persönlichen Informationen, die vom Endbenutzer bereitgestellt werden.
3. Das tertiäre Risiko ist die Datenabfangen während der Datenübertragung.

Die oben genannten Risiken sind auch der Schwerpunkt der Sicherheitsprüfung von Webservern. Als Tester ist es Ihre
Verantwortung zu testen, ob die vom Server bereitgestellten Sicherheitsmaßnahmen den Erwartungen des Benutzers entsprechen.
für die Netzwerksicherheit.

Summary:

Die Client-/Server-Systementwicklung ist die bevorzugte Methode zur kosteneffizienten Konstruktion.


Abteilungs- und unternehmensweite strategische Unternehmensinformationssysteme. Es ermöglicht die schnelle
Bereitstellung von Informationssystemen in Endanwenderumgebungen

Sowohl traditionelle Client/Server- als auch netzzentrierte Computer sind gestufte Architekturen.
Derzeit umfassen die dominierenden drei Arten von Client/Server-Architekturen 2-stufige
Architektur, modifizierte 2-stufige Architektur und 3-stufige Architektur. 2-stufige Architektur
ist die einfachste zu implementieren und die einfachste zu testen. Die Eigenschaften der 3-
tiered architecture that make desirable as development and implementation framework at the
zur gleichen Zeit das Testen komplizierter machen

Das Testen von Client-/Server-Software kann nicht aus der Perspektive der traditionellen Planungsmethoden erfolgen.
integrierte Testaktivitäten. In einem Client/Server-Testplan gibt es einige spezifische Überlegungen,
wie verschiedene Hardware- und Softwareplattformen, Netzwerk- und Datenbankserverleistung
Probleme, die Replikation von Daten und Prozessen über vernetzte Server usw. müssen sein
adressiert.

Die Komplexität von GUI-Tests (Grafische Benutzeroberfläche) nimmt aufgrund von einigen zu.
Eigenschaften von GUIs, zum Beispiel ihre plattformübergreifende Natur, ereignisgesteuerte Natur und ein
zusätzliche Eingabemethode—Maus. Viele traditionelle Software-Testmethoden können in
GUI testing. Currently, a number of companies have begun producing structured
Erfassungs-/Wiedergabetools, die die einzigartigen Eigenschaften von GUIs berücksichtigen.

Es gibt mehrere Situationen, in denen Skripte während Servertests erstellt werden können: Last
Testen, Volumentests, Stresstests, Leistungstests und Datensicherheitstests. Diese Arten von
testing are nearly impossible without automation. Some sophisticated testing tools used in

11
Server-seitiges Testen ist bereits auf dem Markt entstanden, wie LoadRunning/Xl, SQL Inspector,
SQL-Protokollanalysator und SQLEYE.

Ein Netzwerktest ist eine notwendige, aber schwierige Reihe von Aufgaben. Seine Schwierigkeit wird durch die erschwert.
Die Tatsache, dass die Client/Server-Entwicklung auf ein bestehendes Netzwerk oder auf eines, das...
noch zu installieren. Proaktive Netzwerkverwaltung und eine angemessene Kapazitätsplanung werden sehr
Hilfreich. Darüber hinaus kann die Leistungs- und Stresstestung die Belastung bei der Netzwerktests verringern.

Für internetbasierte Client/Server-Systeme ist die Sicherheitstestung des Webservers wichtig.


Ein Webserver ist das Fenster Ihres LANs zur Welt und umgekehrt ist er das Fenster der Welt zu
Ihr LAN. Als Tester liegt es in Ihrer Verantwortung, Schwächen in der Systemsicherheit zu finden.

das Dokument in seinen ursprünglichen Batch zurück)

12

Das könnte Ihnen auch gefallen