IT -Teststrategien, -umsetzung, -technologien

IT -Teststrategien, -umsetzung, -technologien

Posts 1-10 of 17
  • User photo
    ---
    (not a XING member)
    Funktionales Testen und dann ... was ist mit Performance?
    Hallo @ll,

    immer wieder lese ich im Zusammenhang mit Softwaretests von "Funktionalen Tests". Diese sind jedoch nur die halbe Miete! Vor diesen funktionalen Tests sollte die Software einem Performance Test unterzogen werden, der die Eignung der Software für die später zu Grunde liegende Infrastruktur (LAN / WAN) sicher stellt!

    Fragestellungen sind hier:

    - Wie wird sich die Software in einer echten produktionsumgebung Verhalten (End-User Antwortzeiten)?
    - Welche Netzwerklast wird die Software zusätzlich generieren?
    - Kann am Kommunikationsverhalten noch etwas verbessert werden?
    - Wie kann man Performance Engpässe in einer verteilten Applikation im produktiven Umfeld finden?

    Alle diese Fragen können über das funktionale Testen nicht beantwortet werden. Für derartige Tests stellt zum Beispiel die Firma OPNETein Produkte namens ITGuru/ACE zur Verfügung. Weitere Informationen zu derartigen Test erhalten Sie z.B. bei der dakoServ GmbH (http://www.dakoserv.de). dakoServ ist speziallisiert auf Consulting und Vertrieb dieser Produkte!
  • Christoph Heller
    Christoph Heller    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re: Funktionales Testen und dann ... was ist mit Performance?
    - Wie wird sich die Software in einer echten produktionsumgebung Verhalten (End-User Antwortzeiten)?
    - Welche Netzwerklast wird die Software zusätzlich generieren?
    - Kann am Kommunikationsverhalten noch etwas verbessert werden?
    - Wie kann man Performance Engpässe in einer verteilten Applikation im produktiven Umfeld finden?


    Der Meinung bin ich auch.
    Es wird in vielen Projekten nicht bedacht wie wichtig das "normale" Verhalten einer Software in Produktion ist.
    Es gibt zwar autarke Performancetests (z.B mit Loadrunner), aber diese sind natürlich auch autark und meist fernab eines Tests in einer gespiegelten Produktivumgebung.

    Das ist genau das was ich immer zu predigen versuche. Es genügt nicht sicherzustellen das eine Software funktionsfähig ist und korrekt arbeitet (wie auch immer das zu definieren ist). Wichtig ist das alle Bereiche rings um eine Software getestet werden.
    Da das aber meist das letzte Glieder in einer Projektkette ist und die Projektzeit und das Budget am Schluß meist immer sehr knapp sind, ist es leider logisch das genau hier Abstriche gemacht werden.
    Ein in diese Richtung sensibilisiertes Projektmanagement gibt es noch viel zu selten...
  • User photo
    ---
    (not a XING member)
    Re^2: Funktionales Testen und dann ... was ist mit Performance?
    Wichtig ist das alle Bereiche rings um eine Software getestet werden.
    Da das aber meist das letzte Glieder in einer Projektkette ist und die Projektzeit und das Budget am Schluß meist immer sehr knapp sind, ist es leider logisch das genau hier Abstriche gemacht werden.
    Ein in diese Richtung sensibilisiertes Projektmanagement gibt es noch viel zu selten...

    Hallo Herr Heller,

    ich gebe Ihnen Recht, dass Performance Tests vor Produktionsstart erfolgen müssen, aber die Tools die wir einsetzen sollten eigentlich schon viel früher, nämlich während der Entwicklung zu Rate gezogen werden.

    Wenn die ersten Funktionen die zwischen einzelnen Knoten kommunizieren (z.B. Client - Server) fertiggestellt sind, kann man bereits erste Performance Test durchführen. In diesem frühen Stadium ist es sehr einfach "gegenzulenken" und auch noch nicht kostenintensiv.

    Die Projekte bei denen wir die Tests schon während der Entwicklung mit Performancemessungen und Antwortzeithochrechnungen begleitet hatten waren bisher alle erfolgreich. Bei keinem dieser Projekte musste im nachhinein die Applikationslogik geändert werden. Wenn Performance Test kurz vor Produktionsbeginn eklatante Probleme im Kommunikationsverhalten einer Applikation zeigen, wurde Qualitätssicherung falsch verstanden! Im nachhinein eine Applikation im Kommunikationsverhalten zu ändern ist teilweise unmöglich bzw. unbezahlbar. Resultierend daraus müssen dann z.B. WAN-Leitungen aufgestockt werden oder zusätzliche Hardware angeschafft werden muss was zu stark erhöhten Kosten im produktiven Betrieb einer Anwendung führt!

    MfG
    Thomas Rode
  • Nils Heuer
    Nils Heuer    Premium Member
    The company name is only visible to registered members.
    Re^2: Funktionales Testen und dann ... was ist mit Performance?
    Christoph Heller schrieb am 18.03.2005, 10:39:
    - Wie wird sich die Software in einer echten produktionsumgebung Verhalten (End-User Antwortzeiten)?
    - Welche Netzwerklast wird die Software zusätzlich generieren?
    - Kann am Kommunikationsverhalten noch etwas verbessert werden?
    - Wie kann man Performance Engpässe in einer verteilten Applikation im produktiven Umfeld finden?
     
     
    Der Meinung bin ich auch.
    Es wird in vielen Projekten nicht bedacht wie wichtig das "normale" Verhalten einer Software in Produktion ist.
    Es gibt zwar autarke Performancetests (z.B mit Loadrunner), aber diese sind natürlich auch autark und meist fernab eines Tests in einer gespiegelten Produktivumgebung.

    Hallo,

    als Mitarbeiter des LoadRunner Herstellers muss ich da natürlich auch meine private Meinung dazu geben.
    Natürlich kann in einer Testumgebung nur annäherung eine Produktion wiedergespiegelt werden. Aber LoadRunner ist ja auch nur ein Produkt, und zum Testen gehört, wie im Eingangsposting dieses Threads ja bereits angemerkt, auch einiges an Prozessen die eben solche Themen reflektieren sollten. Hier sehen wir einige Interessante Trends, z.B. das einige Anwender Applikationen in der Produktion testen, bzw. teilweise soweit gehen, dass die IT-Produktion nur SLAs für eine Applikation abschliesst wenn sie sie selber in Produktion lastgestet hat. Sofern ist das Performance-Testen natürlich keine Tätigkeit die nur in der Präprooduktion und damit abgeschottet vom livebetrieb vorgenommen wird bzw. werden sollte.
    Was die Toolunterstützung angeht gibt es von uns (und natürlich auch von anderen Herstellern) Module für das Capacity Planning um Ergebnisse aus der Testumgebung ggf. "hochzurechnen" (da gehört natürlich mehr zu als blosses Multiplizieren der Bandbreite ;-) und das Real User Monitoring um das tatsächliche Verhalten der Anwender in Produktion ohne Overhead zu messen und als Grundlage für Lasttests zu verwenden.
    Aber jenseits der Toolunterstützung sollte der Bereich des Lasttestens generell enger in den Projektablauf mit eingebunden werden, und vor allem mit der Fachseite besser diskutiert werden.
  • Christoph Heller
    Christoph Heller    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re^3: Funktionales Testen und dann ... was ist mit Performance?
    Aber jenseits der Toolunterstützung sollte der Bereich des Lasttestens generell enger in den Projektablauf mit eingebunden werden, und vor allem mit der Fachseite besser diskutiert werden.
    Da sehe ich auch so. Es ist immer eine Frage des Testdesigns, das natürlich von den Anforderungen abhängt und da scheitert es leider meistens schon...
  • Post visible to registered members
  • Post visible to registered members
  • Swen Hartmut Tromm
    Swen Hartmut Tromm
    (not a XING member)
    Re^3: Funktionales Testen und dann ... was ist mit Performance?
    Wolfram Karl Arno Bierkant schrieb:
    Es heißt immer Kompatibel oder gar Zertifiziert für Hardware und Betriebssystem. Was aber ist mit Programmen,die auf gleiche Adressräume zugreifen?
    Das ist ein altes Problem. Das kommt aber, wenn Programmierer meinen clever zu sein als das Betriebssystem. In den alten Zeiten, da das Wuenschen noch geholfen und Prinzessinnen und Drachen kaempften, war auf Grund von Schwaechen in der Allocierung von Arbeitsspeicher ein Workaround den Address-Space fix fuer ein Programm zu allocieren (Stchword: Heap-Fragmentierung) . Dies machte es fuer den Pragrammierer auch einfacher direkt auf Heap zurueckzugreifen. Heute sind die Allocierungs-Mechanismen der Prozessoren so ausgereift, dass dieses Problem nicht existiert. Dennoch gibt es immer wieder Programme die dem Betriebssystem und dem Prozessor ins Handwerk pfuschen.

    Es gibt dabei auch ein Sicherheitsproblem. Wenn eine Application unter dem Root/Administrator-Account laeuft, dann ist der entsprechende fixe Address-Space fuer diesen reserviert, d.h. Befehle, die hiervon ausgefuehrt werden. Es ist aber kaum verhindern, dass eine niederig-priviligierte Application, die unter einem einfachen User-Account laeuft dort zugreift und so Adminstrator/Root-Privilegien sich zueignet.
  • Swen Hartmut Tromm
    Swen Hartmut Tromm
    (not a XING member)
    Re^4: Funktionales Testen und dann ... was ist mit Performance?
    Fuer Load-Tests gibt es unter Solaris ein sehr gutes Tool: pstack

    Diese erzeugt einen Core-File ohne die Application selber zu crashen. Wenn man also sehen will, was z. B. innerhalb eines Datenbank-Servers wirklich passiert, oder wissen moechte warum ein Client so lange fuer eine bestimmte Aufgabe braucht, muss man nur alle z. B. 1/10 Sekunde einen entsprechenden Core-File erzeugen lassen.
  • Post visible to registered members