Neue Ansätze der Qualitätssicherung: Diagnose von Performance-Problemen

Größe: px
Ab Seite anzeigen:

Download "Neue Ansätze der Qualitätssicherung: Diagnose von Performance-Problemen"

Transkript

1 Neue Ansätze der Qualitätssicherung: Diagnose von Performance-Problemen André Kemena Tribenstraße 10, Herford, Nordrhein-Westfalen, Deutschland Universität Paderborn, Paderborn, Nordrhein-Westfalen, Deutschland Zusammenfassung Sommersemester 2009 Performance von Software wird in DIN ISO 9126 durch das Qualitätsmerkmal Effizienz und dessen Charakteristiken Zeitverhalten und Verbrauchsverhalten repräsentiert, wird aber dennoch oft im Bereich der Qualitätssicherung nicht oder erst in späten Entwicklungsphasen berücksichtig. Analog zur Vernachlässigung anderer Qualitätsmerkmale birgt dies das Risiko erhöhter Kosten bei spätem Auffinden und Beheben von Problemen. In dieser Seminararbeit soll eine Einführung und erste Übersicht über die Thematik der Software-Performance-Tests und -Diagnose gegeben und anhand eines Beispiels der aktuelle Stand von Test-Tools mit dessen Chancen und Risiken bzgl. der Diagnose gegeben werden. Keywords: Software Performace Test, Software Performance Diagnose, Leistung, Leistungsbewertung, Leistungstest, Testtool 1 Einleitung Performance (engl. für Durchführung, Leistung) wird im Allgemeinen als Leistungsfähigkeit verstanden. In der Datenverarbeitung und Kommunikationstechnik wird Performance häufig auch etwas spezieller mit Übertragungsgeschwindigkeit, Echtzeitverhalten, Gütemerkmal, Verfügbarkeit, Durchsatz oder ähnlichen Leistungsparametern gleichgesetzt. Bezogen auf Software im Sinne von Benutzeranwendungen trifft der Ausdruck Echtzeitverhalten wohl am ehesten zu. Ein gutes Echtzeitverhalten entspricht dabei einer subjektiven Wahrnehmung des Benutzers bzgl. einer gefühlt angemessenen Bearbeitungsdauer durch die Software. Der Benutzer darf sich also in Arbeitsabläufen nicht durch übermäßig lange, wahrgenommene Unterbrechungen gestört oder aufgehalten fühlen. Das bedeutet z.b., dass Benutzer keine Wartepausen ohne eine Anzeige der aktuell durch die Software durchgeführten Operationen abwarten muss, oder auch, dass er zeitnahe (Fehler-) Rückmeldungen zu durchgeführten Aktionen erhält. Warum Performance-Tests Die Entwicklungen der letzten Jahre zeigt eindrucksvoll, dass Software in nahezu allen Bereichen, insbesondere auch Geschäftsprozessen, eine immer wichtigere und umfassendere Rolle einnimmt. So werden häufig ganze Geschäftsprozesse

2 2 bzw. Geschäftsprozessketten automatisiert und, weitestgehend automatisch, über Software abgewickelt. Als Beispiele können Onlineshops mit angebundenen Warenwirtschaftssystemen, Flugreservierungen, Online-Routenplaner, Banking-Portale, Bilderservices, Callcenter-Software und viele mehr angeführt werden. Gerade bei Online-Systemen stellt Überlastung von Diensten ein Risiko dar: so wird ein eventueller Kunde eines Online-Shops zu Alternativen und damit zu Angeboten der Konkurrenz wechseln, wenn inakzeptable Ladezeiten Kaufvorgänge behindert. Als Extrema stellen hier zeitweise Ausfälle von Diensten durch Überlastung einen sofortigen Einbruch von Geschäftsprozessen und damit Umsätzen dar. Zudem ist der PC aus heutigen Firmen-Büros kaum noch wegzudenken. Software wird dort genutzt, um Mitarbeiter durch z.b. Office-Software, Dokumentenmanagementsysteme und spezielle Softwareentwicklungen zu unterstützen, indem wiederkehrende Prozesse vereinfacht, optimiert, und Informationen bzw. Inhalte für spätere Aufgaben bereitgestelt werden. Auch hier stellen durch Überlastung verursachte Funktionseinschränkungen von Diensten geschäftsgefährdende Risiken dar. Die Qualität von eingesetzter Software ist somit oft ein kritischer Faktor für einen ordnungsgemäßen und optimalen Geschäftsbetrieb. Die Beanspruchung von Zeit- und Systemressourcen der eingesetzten Software wird jedoch oft recht stiefmütterlich im Kontext von Qualität betrachtet. Ist im Bereich eingebetteter Systeme dieser Faktor seit jeher durch z.b. feste Angaben von Zeitschranken für Komponenten ein essentieller Bestandteil von Qualitätsprüfungen, so wird er außerhalb dieses Bereichs oft vernachlässigt. Die Qualität von Software wird allgemein meist weniger an zeit- und ressourcensparender Umsetzung, sondern vielmehr an Gestaltungsrichtlinien, aufgeführt z.b. in der Norm DIN , festgemacht: Aufgabenangemessenheit Selbstbeschreibungsfähigkeit Steuerbarkeit Erwartungskonformität Fehlerrobustheit Es fällt auf, dass Gestaltungsrichtlinien mit direktem Bezug auf Performance nahezu fehlen. So lässt sich zwar in die Richtlinien Aufgabenangemessenheit, Selbstbeschreibungsfähigkeit, Steuerbarkeit und Erwartungskonformität eine zeitnahe Umsetzung, Reaktion bzw. Rückmeldung von Software hineininterpretieren, konkrete Vorgaben sucht man jedoch vergebens. Weiter wird in der Norm DIN ISO 9126 das Qualitätsmerkmal Effizienz durch die Eigenschaften Zeitverhalten und Verbrauchsverhalten charakterisiert, direkte Vorgaben für die Praxis fehlen aber auch hier. Dies begründet sich vermutlich vor allem durch die Schwierigkeit, Performanz von Software allgemein zu definieren bzw. zu beurteilen. Sucht man heute nach allgemeinen, durch die Industrie entwickelte und anerkannten Richtlinien bzw. Performance-Standards, welche Ausgangspunkte zur Bewertung von guter bzw. schlechter Performance liefern, so ist dies vergebens: es gibt derzeit keine solchen Standards! Ausnahme stellen derzeit erste, informelle Ansätze im Kontext von Browser-Applikationen dar, z.b. für die maximale bzw. minimale Zeit, die eine Seite zum Laden und für die Darstellung braucht.

3 3 2 Grundlagen für Messungen Um im Folgenden über Performance von Software diskutieren zu können, benötigen wir ein gewisses Vokabular, wie zum Beispiel Metriken und Kennzahlen. Es stellt sich in diesem Zusammenhang auch die Frage: Wie lässt sich Performance von Software beschreiben, messen und bewerten? 2.1 Indikatoren Um Messungen von Performance durchführen zu können, ist es zunächst wichtig festzulegen, was und wie gemessen werden soll. Weiter muss entschieden werden, welche Werte zur Messung herangezogen, und wie diese in späteren Bewertungen genutzt werden (wofür). Diese Werte werden in der Literatur, ähnlich zu den Fachbegriffen aus der Betriebswirtschaftslehre, oft als sogenannte Maßzahlen, Kennzahlen, oder auch Indikatoren, englisch Indicators oder Key Performance Indicators (KPI) bezeichnet. Bezüglich der Fokussierung der Performance- Betrachtung auf Dienstverfügbarkeit bzw. effizienter Ausführung lassen sich diese Indikatoren nach Ian Molyneaux [7] wie folgt gruppieren und charakterisieren: effizienz-orientierte Indikatoren Datendurchsatz Ressourcennutzung service-orientierte Indikatoren Verfügbarkeit Antwort- bzw. Reaktionszeit (System-bezogen) Effizienz-orientierte Indikatoren charakterisieren die Art und Weise der Nutzung und des Bedarfs von Ressourcen durch die Anwendung. Service-orientierte Indikatoren hingegen fokussieren die Problematik der effektiven Verfügbarkeit von Anwendungen oder Diensten für den Endbenutzer. Sie bewerten Performance also anhand von Maßzahlen bezüglich der Zeit, die der Benutzer warten muss und keine weiteren Aktionen in der Anwendung durchführen kann. Idealerweise sollten all diese Indikatoren zusammen genutzt werden, um Performance- Eigenschaften zu analysieren. In der Praxis wird jedoch oft gerade der Indikator Antwortzeit vernachlässig. Dies kann Ergebnisse von Performance-Test erheblich verfälschen. Um nun eine möglichst genaue Bewertung und ggf. Optimierung der Benutzer-Produktivität vornehmen zu können ist zunächst zu klären, wann systembezogenene Antwort- bzw. Reaktionszeiten als gut oder schlecht zu bewerten sind, also wie gewonnene Maßzahlen zu interpretieren sind. Hierzu lassen sich die Ergebnisse der Untersuchungen von Martin [19] anhand von textbasierten Anwendungen als Faustregeln zur Bewertung von Antwortzeiten t heranziehen:

4 4 Antwortzeit t > 15 Sekunden: Nicht zumutbar bei oft wiederkehrenden, kleinen und insbesondere konversationsartigen Arbeitsvorgängen. Antwortzeit 4 < t 15 Sekunden: Bei konversationsartigen Arbeitsvorgängen wird durch Beanspruchung des Kurzzeitgedächtnisses der Benutzer im Arbeitsfluss gestört, bei Anwendungen mit weniger zeitabhängigen und weniger Konzentration erfordernden Arbeitsschritten ggf. noch vertretbar. Antwortzeit 2 < t < 4 Sekunden: Benutzer wird bei Arbeitsvorgängen, die hohe Konzentration erfordern, im Arbeitsfluss gestört. Abhängig von der Art des Vorgangs ggf. noch tolerierbar. Antwortzeit t < 2 Sekunden: Allgemein als obere Zeitschranke zur Förderung mentaler Rückkopplung anzustreben. Keil [21] führt in seinen Ausführungen zwar hierzu keine Zeitschranken an, betont aber die Relevanz der Kopplung von Wahrnehmungs- und Handlungsraum mit Handlungsabschluß und Systemzuständen. Antwortzeit t < 1 Sekunde: Anzustreben für Gedanken-intensive Arbeitsabläufe wie Text- oder Bildverarbeitung. Antwortzeit t < 1 10 Sekunde: Besonders im Bereich Simulation und Steuerung, aber auch für essentielle Interaktionen wie Eingabe über Tastatur- und Maus sind Reaktionszeiten dieser Größenordnung anzustreben. Mit Hilfe dieser Richtlinien und der Summe der oben angeführten Indikatoren ist es nun möglich, Performance-kritische Faktoren zu erkennen und für gemessene bzw. gegebene Maßzahlen Bewertungen durchzuführen. Ist Software zu testen, so ist nun das Kernproblem, festzustellen, welche Faktoren entscheidenden Einfluss auf das jeweilige Leistungsverhalten ausüben. Hierzu sind Kriterien bzw. Ziele zu benennen, die als Test- und Entscheidungsgrundlage für Code-Änderungen dienen sollen. Diese Ziele werden auch als Key Performace Targets bezeichnet. Eine Gruppierung dieser KPI kann nach Molyneaux[7] beispielsweise wie folgt vorgenommen werden: Leistung im Sinne von Schnelligkeit Verfügbarkeit (availability / uptime) Verhalten bei Nebenläufigkeit (concurrency) Anwortzeit (response time) Leistung im Sinne von Kapazität- / Ressourcen-Nutzung Netzwerk-Nutzung Server-Nutzung Doch wie erhebt man nun in der Praxis die notwendigen Messdaten? Die Erstellung und Auswertung einzig anhand von anwendungspezifischen Log-Dateien kann ein erster Schritt zur Analyse sein. In der Praxis wird dies jedoch im Allgemeinen in Softwareentwicklungsplänen nicht oder nur am Rande berücksichtigt, und damit in Hinblick auf aussagekräftige Daten oft nicht konsequent genug

5 5 betrieben. Weiter stellt die Auswertung der Log-Dateien ohne weitere Hilfsmittel einen nicht zu unterschätzenden Arbeitsaufwand dar. Es gibt jedoch eine Vielzahl an, mitunter frei verfügbaren, Testtools, die sich bzgl. der verwendeten Test-Architekturen und ihrer Zielsetzung unterscheiden 1. Da die Eigenschaften der zu testenden Software ausschlaggebend für die Wahl eines oder mehrerer Testtools sind, fällt oft bereits anhand der, in den Tools verfügbaren, Testarten die Entscheidung. Die am meisten verbeiteten Testarten werden nun kurz beschrieben. 2.2 Testarten In der Praxis haben sich, abhängig von der jeweils zu testenden Software, verschiedene Arten von Tests profiliert, von denen die bekanntesten und am häufigsten angewandten an dieser Stelle kurz beschrieben werden. Baseseline Test Der Baseline Test ist als erster Einstiegspunkt und als Grundlage für Vergleiche mit weiteren Testarten anzusehen. So wird je Durchlauf in einem gewissen Zeitrahmen mit jeweils nur einem (virtuellen) Anwender ein festgelegter Arbeitsablauf bearbeitet und gemessen. Dieser Ablauf setzt sich aus einer oder mehreren Transaktionen (engl. transactions) zusammen. Transaktionen sind in diesem Zusammenhang bei sogenannten fat clients Prozesse oder Abläufe, die eine Speicherung oder Änderung der Daten ausführen. Bei thin clients liegt der Fokus hierbei eher auf der Übertragung und Speicherung auf Server-Seite. In späteren Vergleichen mit Messdaten, beispielsweise aus Load-Tests, können dann Aussagen über das Leistungsverhalten der Software mit steigender (paralleler) Anwenderzahl und Transaktionszahl getroffen werden. Load Test Der sogenannte Load Test ist der klassische Performance-Test. Bei diesem Test wird die zu testende Software sukzessive bis zu einem festgelegten Ziel, meist eine gewisse Zahl gleichzeitiger Anwender, getestet. Der Unterschied zu Tests wie dem Soak Test ist, dass beim erreichen des vorgegebenen Ziels nicht darüber hinaus getestet wird. Dieser Test bedingt daher eine gute Schätzung der später im realen Anwendungsfall vorhandenen Anwenderzahlen. In diesem Test werden auch besonders die Antwortzeiten der Benutzer und des bzw. der Anwendungssysteme (z.b. Server) betrachtet. Die Lastwird bei diesem Test entweder durch ein oder mehrere virtuelle Maschinen, Server oder Arbeitsplatzrechner erzeugt, indem z.b. Anwender mit typischen Arbeitsschritten simuliert werden. Bei der späteren Analyse ist in diesem Zusammenhang insbesondere bei höherer erzeugter Last darauf zu achten, dass Stress Test Der Unterschied des Stress Test zum Load Test ist die Zielsetzung, Software und Infrastruktur derart zu belasten, dass es zu fehlerhaftem Verhalten, Nicht-Verfügbarkeit von Diensten oder Absturz von Komponenten 1 Eine beispielhafte Liste von Testtools ist im Anhang zu finden

6 6 bzw. Diensten kommt. Dieser Test wird u.a. besonders in Zusammenhang mit Netzwerk-abhängiger Software angewand, um maximale Anwenderzahlen, maximale Netzwerklast und ähnliches zu ermitteln. Diese Art von Test zeichnet sich dadurch aus, dass durch sie sowohl die Leistung im Sinne von Geschwindigkeit gemessen als auch die Kapazitätsgrenzen der Testumgebung ermittelt werden. Gerade für Software, die in grossen Netzwerken (insbesondere dem Internet) Verwendung findet, ist dieses Wissen um Kapazitätslimits unverzichtbar, da eine realitätsnahe Einschätzung der Anwenderzahlen hier oft misslingt. Weiter können in der Startphase des Softwareeinsatzes durch Beobachtung von Nutzungszahlen und der durch Stress Tests vorliegenden Kapazitätslimits ggf. rechzeitig Vorkehrungen getroffen und Ausfallzeiten verringert bzw. vermieden werden. Soak / stability test Das Ziel von Soak Tests (soak: engl. für aufweichen) ist, Problemfälle zu erkennen, die durch Kummulation einzelner Effekte und erst nach einer gewissen Laufzeit auftreten. Mit ihrer Hilfe ist es beispielsweise möglich, Speicherlecks (engl.: memory leak) zu entdecken, also eine Reservierung von Speicher durch Prozesse, die aber weder rückgangig gemacht noch genutzt werden kann. Diese Art von Fehlern wird häufig nur durch Kummulation entdeckt, also wenn eine Summe von Prozessen eben diese fehlerhaften Software-Stati erzeugt. Symptome während bzw. am Ende der Tests sind auch hier eine Verlangsamung der Reaktionszeit bzw. ein Ausfall der Software. Bei Client-Server-Architekturen sind Diagnosen sowohl von Seiten des bzw. der Clients als auch auf Seite des oder der Server notwendig. Smoke test Smoke Tests werden typischerweise nach Code-Änderungen durchgeführt, also auch im Anschluss an vorrausgegangene Performance-Tests. Diese Art von Test bezieht sich nur auf die geänderten Fragmente bzw. Komponenten des Codes, die durch die Code-Änderungen direkt oder indirekt betroffen sind. Isolation test Isolation Tests werden zur tieferen bzw. wiederholten Analyse von Code-Fragmenten genutzt, die bekanntermaßen Performance-Probleme hervorrufen. Aufbauend auf diese Tests kann es sinnvoll sein, in der Testphase je nach Software-Anforderungen bzw. Art die Tests einerseits mehrmals für gleichartige Testprofile (engl.: injection profiles) und Daten durchzuführen. Der Vorteil hierbei liegt ganz klar bei der direkten Vergleichbarkeit des Leistungsverhaltens nach Korrekturen. Andererseits kann es interessant sein, die Veränderungen von Testergebnissen anhand kontrolliert modifizierter Daten- bzw. Testprofile zu ermitteln. Die wichtigsten Injection profiles sind: Big Bang / Constant In diesem Test starten alle (ggf. virtuellen) Benutzer zur gleichen Zeit und arbeiten simultan, aber nicht zwingenderweise synchron, Transaktionen ab. Hierdurch wird eine realitätsnähere Situation erreicht.

7 7 Ramp-up (with step)/ Ramp-down (with step) Diese Variante startet mit einem (virtuellen) Benutzer und fügt nach und nach weitere hinzu (Ramp up). Sollen Leistungsdaten für gewisse Zahlen aktiver Benutzer genauer getestet werden, so wird bei festgelegten Benutzerzahlen das Hinzufügen weiterer Nutzer pausiert(ramp up with step) und mit der jeweils aktuellen Benutzerzahl eine vorgegebene Zeit gemessen und protokolliert. Dies ist zum Beispiel sinnvoll, wenn sich später alle Mitarbeiter einer Firma zu Beginn eines Arbeitstages einloggen und eingeloggt bleiben. Anschließend wird entweder die Richtlinie Rampup weiter verfolgt und somit weitere Benutzer hinzugefügt, oder es wird eine Kombination aus Ramp-up(with step) und Ramp-down (with step) fortgeführt. Ramp-down verringert analog die Benutzerzahlen und simuliert Benutzer, die sich beliebig am System an und abmelden. Peaks Dieser Test ist eine leichte Abwandlung des ConstantTest, bei dem periodisch entweder mit einer maximalen virtuellen Nutzerzahl gleichzeitig oder einer vorgegebenen Minimalzahl getestet wird. Delayed start Delayed start wird mit einer der vorherigen Varianten von Injection profiles kombiniert. Der Unterschied besteht einzig in der Verzögerung des Starts von Test-Scripten oder Teilen dieser. Hierdurch wird die dynamik der Simulation weiter verbessert. 2.3 Testtool-Architekturen Automatische Testtools, sogenannte Profiler, besitzen meist eine Vielzahl Komponenten, die auf einzelne Test-Zielsetzungen zugeschnitten sind. Üblicherweise werden Profiler genutzt, um durch Zählen bzw. Messen mit Hilfe der zuvor beschriebenen Test-Arten Zahlen bzw. Maße bezüglich der Aufrufe oder Durchläufe von Codebereichen wie Funktionen oder Klassen zu erheben. Zu den bekanntesten zählen hierbei: Scripting Modul Test Management Modul Load Injector(s) Analysis Modul Scripting Module werden typischerweise zur Erzeugung von zu simulierendem Nutzerverhalten genutzt. Dies kann einerseits durch manuelle Erzeugung des Testers oder auch unter Verwendung von Makro-ähnlichen Aufzeichnungsassistenten erfolgen 2. Mit ihrer Hilfe werden hauptsächlich verschiedenste Granularitätsstufen von Reaktions- bzw. Antwortzeittest durchgeführt. Test Management Module dienen der Erzeugung und Simulation von Load-Test-Session unter Verwendung von Scipts und/oder ein oder mehr Load Injector(s). Load Injectors erzeugen, wie der Name suggeriert, eine bestimmte Last, unter der das Verhalten der zu testenden Software dann analysiert wird. Analysis Module schliesslich 2 Beispiel: NeoLoad [8]

8 8 bieten Möglichkeiten zur Analyse der in Test erzeugten Informationen. Diese verwenden Module generieren meist Reports, die dann zusätzlich tabellarische oder graphische Reports visualisiert werden. 3 Diagnose Mit den zuvor genannten Indikatoren, Test-Arten und Testtool-Architekturen stehen nun die wichtigsten Grundlagen und Tool-Arten zur Messung von Performance zur Verfügung. Im Folgenden wird von dem Fall ausgegangen, dass eine Software bzgl. ihrer Performance-Eigenschaften getestet werden soll. Ein Analyse-Tool wurde bereits gewählt bzw. ist fest vorgegeben (z.b. durch vorhandene Lizenzen der ausführenden Firma). Diverse Tests werden bzw. wurden durchgeführt und protokolliert bzw. werden live zur Laufzeit analysiert. Hierzu bieten eine Vielzahl der Tools Visualisierung, z.b. Tabellen oder Graphen, an. Zunächst soll die herkömmliche Vorgehensweise des Diagnose-Vorgangs dargestellt werden. 3.1 Klassische Vorgehensweise Es gilt nun, anhand der gewonnenen Daten Performance-Probleme zu identifizieren und zu lokalisieren. Die Schwierigkeit bei der Diagnose von Performanceproblemen stellt sich an dieser Stelle durch die Lokalisierung der Problemstellen(engl.: bottlenecks) im Code dar (engl.: root-cause analysis). So erleichtern die Visualisierungen der Test-Tools zwar das Auffinden eventueller Problemstellen, die Abhängigkeit der Messdaten von den Eigenschaften und der Struktur der Test-Daten (und damit der vorrausgehenden Bestimmgung der KPI) und der Test-Art sowie der durch den Tester vorgegebenen Checkpoints und damit der Betrachtungsausschnitte erschwert jedoch eine vollautomatisierte Identifizierung. 3.2 Klassische Interpretation von Testergebnissen Abbildung 1 zeigt in einer typischen Visualisierung die Ergebnisse eines Performancetests. Getestet wurden hier die System-Antwortzeiten bei Ausführung eines Load-Test mit Ramp-Up. Die x-achse bezeichnet die verstrichene Zeit in Sekunden mit Zeitpunkt 0 als Test-Start, während die y-achse in Korrelation mit der Zahl der virtuellen Benutzer (rechts) die Zeit darstellt, die das System zum Antworten benötigt. Wie erwartet erhöht sich mit steigender Benutzerzahl die Anwortzeit des Systems. Bei etwas genauerer Betrachtung fällt der Zeitpunkt nahe 1500 Sekunden auf, bei dem eine deutliche Spitze der transaction response time zu erkennen ist, die auf einen Performance-Einbruch hindeutet. Ohne weitere Informationen wäre davon auszugehen, dass das System bei einer Nutzerzahl von ca. 400 gleichzeitigen Benutzern das maximale Potential erreicht hat. Es müssten also entweder Optimierungen in der Software vorgenommen werden,

9 9 Abbildung 1. Quelle: Molyneaux - Testvisualisierung mit Korrelation von (Checkpoint-) Transaktionen-Anwortzeit und Anzahl gleichzeitiger Benutzer z.b. durch genauer Analyse einzelner Transaktionen der Benutzer und Identifizierung kleinerer Last-Extrema, oder nach Möglichkeit Infrastruktur- bzw. Hardwareaufrüstung vorgenommen werden. Generell würde man jedoch erwarten, dass mit gleichmäßig steigender Benutzerzahl die transaction response time ebenfalls relativ gleichmäßig ansteigt. Wird zusätzlich zu den bisherigen Informationen eine Maßzahl bzgl. der Antwortzeiten einzelner, durchlaufener Checkpoints hinzugezogen (in der Graphik Checkpoint response times), so deutet dies entgegen der vorherigen Folgerungen nicht auf eine Ursache seitens der Anzahl virtueller Nutzer, sondern vielmehr auf eine erhöhte Anzahl durchlaufener Checkpoints und damit erhöhten Aufwand durch Änderung der Art der Testdaten hin. In diesem Fall war die Ursache laut Molyneaux eine Reihe ungültiger virtueller Benutzer-Logins in den injection profiles, die erhöhte Serverlast erzeugt haben. Dieses Beispiel verdeutlicht die Relevanz der in Tests genutzten Konfigurationen, der Qualität und Art der Test-Daten, der Plazierung von Checkpoints und im Allgemein die Problematik der Interpretation von Ergebnissen. Eine konkretere Beschreibung einer möglichen Vorgehensweise zur Identifizierung von Bottlenecks wird nun in einem analogen Testfall mit dem Test-Tool NeoLoad der Firma Neosys 3 beschrieben. Beispiel: Load-Test mit NeoLoad Getestet wird wie bei Molyneaux ein thin-client -Softwareprodukt, in diesem Fall eine Webshop-Applikation, die auf der Client-Seite nur einen üblichen Browser vorraussetzt. Auf Server-Seite wird ein Linux-System mit einem Apache-Serverdienst in Kombination mit Tomcat und einer MySQL-Datenbank genutzt. Zu diesem Zweck werden als Profile für 3 Tutorial-Videos zur Erstellung, Durchführung und Auswertung von Tests:[8]

10 10 die virtuellen Benutzer zum einen ein Profil, dass als Transaktionen den Login- Vorgang, das Ablegen von Artikeln im Warenkorb sowie den Bestellvorgang mit anschließendem Logout beinhaltet erzeugt. Als ein weiteres Profil wird ein Standard-Besucher des Shops erstellt. Beides wird in dem integrierten Scriptingbzw. load injector Modul konfiguriert. Die Transaktionen für dieses Profil beinhalten lediglich den Besuch diverser Shop-Seiten. Diese Profile werden insofern dynamisiert, als für Erzeugung von Profil-Instanzen die Login-Profile, die zu besuchenden Seiten sowie die zu kaufenden Produkte durch Variablen ersetzt werden. Dies ist wie bereits erwähnt ein entscheidender Faktor für eine möglichst realitätsnahe Simulation. Um in der Auswertungsphase später eine einfache Möglichkeit zur Lokalisierung von Performance-kritischem Code zu ermöglichen, bietet NeoLoad hier zusätzlich die Möglichkeit, in dem Scripting Modul Code-Bereiche mit sogenannten Container zu gruppieren. Diese Container werden dann später angezeigt, wenn Seiten bzw. Code in ihnen durch Monitore beobachtete Schwellwerte überschreiten bzw. wenn in ihnen Fehler auftreten. Für diesen Test werden die Ressourcen, welche für den Login zuständig sind, bei dem Profil des sich einloggenden und kaufenden virtuellen Benutzers in einen Container Login gelegt. NeoLoad bietet wie die meisten Test-Tools die Verwendung eines Test-Managers an, der die Möglichkeit zur einfachen Erzeugung von Test-Szenarios ermöglicht. In diesem Szenario wird als Test-Art ein Load-Test mit Ramp-up definiert. Weiter können hier diverse Monitor-Komponenten aktiviert werden, beispielsweise ein Tomcat memory usage monitor. Dieser erlaubt das Überwachen des von der Java Virtual Machine maximal, durchschnittlich und aktuell genutzten Speichers. Diese Überwachung wird aktiviert, um später Aussagen über die Kapazitätsauslastung treffen und Speicherlecks ggf. lokalisieren zu können. Während der Ausführung des Load-Test ist es bereits möglich, die Entwicklung der beobachteten Daten zu verfolgen. An dieser Stelle betrachten wir jedoch das Endergebnis des kompletten Testlaufs. Schon in der ersten Test- Zusammenfassung fällt in der unteren grafischen Übersicht (s.h. Abbildung 2) auf, dass ca. 1 Stunde und 5 Minuten nach Testbeginn die Hits per second (Seitenaufrufe pro Sekunde) drastisch abfielen und zeitgleich die response time stark anstieg. In der oberen grafischen Darstellung ist kurz nach diesem Zeipunkt ein erstes Auftreten und Ansteigen von Fehlern zu erkennen. Hieraus lässt sich bereits auf ein Performance-Problem schließen. NeoLoad unterstützt den Tester an dieser Stelle durch eine Auflistung der fünf am häufigsten aufgetretenen Fehler (Hot Spots), average response times und top response times inklusive der verursachenden Seiten. Darüber hinaus wird eine komplette Liste der aufgetretenen Fehler zur Verfügung gestellt. In diesem Beispiel tritt ein sogenannter interner Server-Fehler (Fehlercode 500) auf, der häufig aus dem Erreichen von Speicherlimits resultiert (Hintergrundwissen Statuscodes 4 ). In NeoLoad lässt sich die Ursache von Fehlern und Problemen durch die zuvor angelegten Container (ähnlich den sonst so genannten Checkpoints) näher 4 HTTP-Statuscodes sind definiert durch RFC 2616[11] (sowie RFC 2518, RFC 2817, RFC 2295, RFC 2774, RFC 4918) [10]

11 11 Abbildung 2. Quelle: NeoLoad Demo: NeoLoad - Test-Zusammenfassung über Response Times in Korrelation zu Benutzerzahlen im zeitlichen Verlauf eingrenzen, hier also durch den Login-Container. NeoLoad zeigt für diese ebenfalls in der Zusammenfassung eine Übersicht über minimal, average und maximal response times, Fehler usw. Wir betrachten nun unter dem Tab values die Protokollierten Werte (s.h. Abbildung 3). Hier fällt wieder die in der Test- Zusammenfassung bereits erkannte Problemstelle nach Ablauf von ca. 1 Stunde und 5 Minuten auf. Ab diesem Zeitpunkt treten erste Fehler für den Container Login auf. Um der Ursache weiter auf den Grund zu gehen, wird auf die Schaltfläche Graphs gewechselt. Aktiviert man die Anzeige für die aufgetretenen Fehler, so bestätigt dies die Vermutung eines Speicherlecks. Der Java Virtual Machine Garbage Collector benötigt in diesem Fall zuviel Zeit, um alte Speichereinträge durch neue, durch Anfragen benötigte Einträge zu ersetzen. In diesem Fall wäre als Maßnahme eine Vergrößerung des auf dem Server durch Tomcat maximal reservierbaren Speichers ein sinnvoller Lösungsansatz. Dieses Beispiel zeigt wie jenes von Molyneaux, wie gravierend sich ein gutes Test-Design auf Testergebnisse auswirkt. Hier führte eine feingranulare Auswahl von Containern (Checkpoints) in Kombination mit einer realitätsnahen Simulation von Benutzern (mit und ohne Berücksichtigung von Login und verschiedenen Benutzerinteressen) zum Ziel. Weiter zeigt dieses Beispiel, wie wichtig im eigentlichen Diagnose-Schritt immernoch der Faktor Mensch als Tester ist. Nur durch genaue Analyse der durch das Test-Tool gemessenen und protokollierten Daten konnte Anhand der Visualisierung ein Performance-Problem durch den Tester selbst identifiziert werden.

12 12 Abbildung 3. Quelle: NeoLoad Demo: NeoLoad - Fehler-Anzeige für Container Login 3.3 Neuer Ansatz: Paradyn Der zuvor vorgestellte klassische Ansatz zur Identifizierung von Performance- Bottlenecks erfordert neben guten und möglichst realitätsnah gewählten Basisdaten und virtuellen Nutzern ein geschicktes Test-Design. Weiter wird nur eine begrenzte Lokalisierung von Problemstellen geboten, die je nach Test-Design und abhängig von der Wahl von Checkpoints/Containtern unterschiedlich gut ausfällt. Die Suche nach der eigentlichen Problemursache ist also weiterhin ein zeitaufwändiges Unterfangen, das nur teilweise durch Erfahrungen der Tester kompensiert werden kann. Wünschenswert ist daher ein automatisierter Ansatz, der eine wesentlich genauere und effizientere Problemstellen-Identifikation bietet. Dieses Ziel verfolgen Miller et al. mit dem Tool Paradyn [1]. Paradyn ist ein Server-Client-System zur Messung und Diagnose von Performance, ausgelegt für sequentielle und insbesondere massiv parallele Umgebungen. Der Client 5 besteht aus einem Daten-Manager, einem User-Interface, einem Visualisierungsmanager und einem Performance Consultant. Der Server 6 sind ein oder mehrere Prozesse, welche Messungen durchführen. Der erste Server wird immer durch den Client gestartet, weitere Server werden ggf. durch diesen ersten Server erzeugt. Paradyn liegt das Konzept der dynamischen Instrumentierung[3] zugrunde. Instrumentation is a sequence of instructions, such as a code fragment inserted at the beginning of a function to increment a count of the number of times the function is invoked. The instructions are compiled from a source language, called the Metric Description Language (MDL). 7 5 Auch Client genannt 6 Auch Backend oder Daemon genannt 7 Zitat: Paradyn MDL Programmers s Guide

13 13 Ziel der dynamischen Instrumentierung ist es, das Einfügen von Code für Messungen 8 zur Laufzeit und an beliebiger Stelle zu ermöglichen. Die Anwendung bleibt hierbei unverändert. Hierdurch können schnell und ohne Modifikation des Quellcodes der Anwendung Performance-Analysen durchgeführt werden. Zu diesem Zweck wird ein sogenannter Performance Consultant eingesetzt, der eine automatisierte strategische Suche nach Bottlenecks im Programmablauf durchführt, indem wiederholt Instrumentierungen zur Laufzeit an verschiedenen Stellen eingefügt, ausgewertet und wieder entfernt werden. Neben der eigentlichen Messung bietet Paradyn wie die klassischen Test-Tools auch die Auswertung und Visualisierung der gewonnenen Messdaten zur Laufzeit im sogenannten Profiling an. Um, insbesondere im Optimierungsversuch, Messungen in speziellen Teilen der Anwendungen durchführen zu können, sind Beschreibungen eben dieser notwendig. Paradyn nutzt hierzu das Konzept der Metrik-Fokus-Paare. Ein Fokus ist hierbei ein zu betrachtender Teil der Anwendung, beispielsweise eine Komponente, Funktion, Schleife oder auch eine Festplatte. Eine Metrik ist eine Eigenschaft, die zu gegebenem Fokus beobachtet werden soll, z.b. die Anzahl der Aufrufe des Fokus, die Dauer der Bearbeitungszeit (Prozessorlast), Transferraten usw. Die Zuordnung mehrerer Metriken zu einem Fokus bzw. die Zuordnung mehrerer Fokusse zu einer Metrik wird durch Paradyn unterstützt. Es werden hierzu jeweils einzelne Metrik-Fokus-Paare gebildet. Die Definition der Metriken geschieht in Form der Metrik Definition Language(MDL) und besitzt folgende Form[2]: metric Ident { name string; units Ident; unitstype (normalized unnormalized sampled) aggregateoperator (avg sum min max) style (EventCounter SampledFunction) { Constraints } base is (counter processtimer walltimer) {MetricStatement} } Ident ist hierbei Identifikator und gleich dem internen Namen und der Variable, welche die entsprechenden Metrikdaten hält. name bestimmt den externen Namen der Metrik, unter dem sie zum Beispiel bei der Visualisierung angezeigt wird. Units beschreibt die Einheit der Metrik, zum Beispiel Sekunden, in der sie präsentiert wird. UnitsType entscheidet, ob die Metrikdaten je nach Darstellung in Bezug zur Zeit gestellt werden. 9 Ggf. notwendige Anpassungen der Metriken an verschiedene Fokusse werden durch optionale Constraints 10 realisiert. So kann ein Auslösen der Messung anhand verschiedener Typen verursacht werden. Ein solcher Constraint wird wie folgt definiert[2]: 8 Eingefügter Code für Messung = Instrumentierung 9 Eine detailliertere Beschreibung ist im MDL Programmer s Guide[4] zu finden. 10 Constraint: Bedingung

14 14 constraint Ident; constraint Ident is replace (counter processtimer walltimer) {MetricStatement}; Das enthaltene MetricStatement wird auf alle Identifikatoren Indent der Liste anggewandt und resultiert entweder in einem neuen MetricStatement oder einem InformationRequest: foreach Ident in MetricExpression MetricStatement if MetricExpression MetricStatement InstrumentationRequest { {MetricStatement} }; Die InstrumentationRequest sind nun wie folgt definiert: InstrumentationRequest ::= position ort punkt [constrained] (*{Instrumentationcode}*) position ::= append prepend ort ::= preinsn postinsn punkt ::= MetricExpression Via Position wird bestimmt, ob eine Instrumentierungsanfrage an den Anfang der Liste von Anfragen oder an das Ende gehängt werden soll. ort bestimmt, ob der Instrumentationcode vor oder nach dem Befehl am Instrumentierungspunkt ausgeführt werden soll (Pre- oder Postinstrumentierung). Via constrained wird gesteuert, ob Constraints auf diese Instrumentierungsanfrage angewandt werden. Der Instrumentationscode ist schließlich definiert als: Instrumentationcode ::= if (MetricExpression) MetricStatement InstrumentationStatement Die Anwendung dieser Metrikdefninition geschieht nun durch Definition der Metriken in sogenannten PCL-Dateien 11 für die einzelnen Anwendungen. Metriken, die dort gespeichert sind, werden durch Paradyn beim Starten der Anwendung berücksichtigt. Bei der Analyse werden sowohl die Standard-Definitionen als auch die in übergebenen PCL-Dateien angegebenen Definitionen berücksichtigt. Im Verlauf liefert ein Parser die Beschreibung aller möglichen Instrumentierungscodes und Entscheidungen für Pre- oder Post-Instrumentierungen. Mit den entsprechenden Nutzereingaben und den Metrik-Fokus-Paaren generiert Paradyn den einzufügenden Maschinencode und besitzt nun alle Informationen, die für das Instrumentieren benötigt werden. Der Testverlauf kann für das Performance Consultant Modul schließlich wie folgt skizziert werden: Zunächst werden Paare aus Fokussen und Hypothesen erzeugt, indem Metriken mit Schwellwertangaben genutzt werden. Hypothesen verknüpfen hierbei eine gemessene Eigenschaft(durch Metriken) für einen Fokus mit einer vermuteten Ursache(das Warum). So kann z.b. die Beobachtung einer stark ansteigenden Übertragungsrate einer Festplatte für einen Fokus mit einer Hypothese Hauptspeicherlimit erreicht, swapping 12 findet statt angegeben sein. Diese Paare werden durch wei- 11 PCL: Paradyn Configuration Language 12 swapping: Auslagerung auf Festplatte

15 15 tere Fokus-Hypothesen-Paare immer weiter verfeinert. Während der Analyse werden diese Paare jeweils auf Wahrheit getestet. Falls ein positives Ergebnis resultiert, so werden Instrumentierungen in die Anwendung für entsprechende Fokusse eingefügt und die Verfeinerungen analog auf Wahrheit getestet. Dies geschieht, bis keine weiteren Regeln verfügbar sind. An dieser Stelle ist eine weitestmögliche Lokalisierung und Ursachensuche durchgeführt worden. Die Ergebnisse werden schließlich visualisiert (Metrik, Hypothese, Code-Bereich). 4 Bewertung und Zusammenfassung Das Ziel dieser Arbeit war es, einen ersten Einblick in das Problemfeld der Diagnose von Software-Performance zu geben. Nach einer grundlegenden Einführung wurde die Sensibilität von Performance-Tests und deren Diagnosen bezüglich des Testdesigns, der Testarchitektur, der Auswahl des Testtools und insbesondere auch der Testdaten und -durchführung herausgearbeitet. Hierzu wurde beispielhaft für Server-orientierte Anwendungen praxisnah anhand des repräsentativ für klassische Tools ausgewählten NeoLoad ein Lasttest mit anschließender Diagnose der Protokolle und Meßdaten durchgeführt und beschrieben. Dabei wurde gezeigt, dass aktuelle Werkzeuge eine Vielzahl hilfreicher Funktionen und Möglichkeiten zur Messung von Performance, der Aufbereitung von Messdaten sowie das Auffinden von Performance-Problemen bieten. Im zweiten Teil des Abschnitts Diagnose wurde als neuer Ansatz das Werkzeug Paradyn betrachtet. Der hier genutze Ansatz der dynamischen Instrumentierung ermöglicht, Bottlenecks bzw. Performance-Probleme zur Laufzeit weitestgehend automatisiert zu erkennen. Weiter wird die Lokalisierung der Probleme entscheidend verbessert, da verursachende Code-Bereiche direkt angezeigt werden, sofern Hypothesen und Metriken ausreichend für Fokusse definiert wurden. Die Möglichkeit, mit Hilfe der Metric Description Language vorhandene Messungen um eigene zu erweitern, bietet hierbei ein hohes Maß an Flexibilität und Spezialisierbarkeit - sehr gute Kenntnisse über diese Sprache vorausgesetzt. Positiv ist weiter die ressourcensparende Eigenschaft der dynamischen Instrumentierung: es wird ein Minimum an zusätzlichem Code eingefügt. Weiter ist die Software Open-Source. Allerdings sind auch hier, wie bei den klassischen Tools, die Testergebnisse ganz maßgeblich abhängig von der Art der Testdaten und des Testdesigns. Dies ist auch der Grund für die ausführliche Beschreibung des Testdesigns im vorderen Teil der Arbeit. Durch unterschiedliche Definitionsmöglichkeiten von Performance und die Abhängigkeit der Performance-Tests von Durchführungszeitpunkt im Entwicklungsprozess, Eigenschaften der zu testenden Software und eingesetzten Hardware können diese Werkzeuge nur unterstützen. Zu groß ist noch der Faktor Mensch in Form des durchführenden Testers, der seine gesammelten Erfahrungen durch gute Testdaten-Wahl, ein gutes Testdesigns, konsequente Test-Wiederholungen und ein solides Hintergrundwissen in die Diagnose einbringen muss. Es ist jedoch zu erwarten, dass Testwerkzeuge in Zukunft weitere Fortschritte gerade in der Auswertung und Diagnose von Performance-Problemen machen werden.

16 16 Literatur 1. B.P. Miller, M.D. Callaghan, J.M. Cargille, J.K. Hollingsworth, R.B. Irvin, K.L. Karavanic, K. Kunchithapadam, and T. Newhall, The Paradyn parallel performance measurement tool, Computer, vol. 28, Nov. 1995, pp Michael Arndt, Studienarbeit Analyse und Erweiterung des Paradyn Performance Tools, 2005, TU Chemnitz, URL chemnitz.de/pub/2006/0083/data/dokument/studienarbeit.pdf 3. Barton Miller et al., Dyninst, University of Maryland, URL 4. Barton Miller et al., Paradyn Manulas, URL 5. A.V. Mirgorodskiy and B.P. Miller, Diagnosing distributed systems with selfpropelled instrumentation, Proceedings of the 9th ACM/IFIP/USENIX Interna- tional Conference on Middleware, Leuven, Belgium: Springer-Verlag New York, Inc., 2008, pp T. Sheehan, A. Malony, and S. Shende, A Runtime Monitoring Framework for the TAU Profiling System, Computing in Object-Oriented Parallel Environments, 1999, pp Ian Molyneaux, The Art of Performace Testing, O Reilly, ISBN , Januar 2009, Edition 1 8. NeoLoad Load-Testing-Tool, Tool-Demo und Advanced Demo Video, URL 9. SoftwareQATest.com, Allgemeine Tool-Übersicht URL Web Test Tools URL: 10. Definition HTTP-Statuscodes URL Statuscode 11. Hypertext Transfer Protocol HTTP/1.1 URL 12. Andreas Spillner, Thomas Roßner, Mario Winter, Tilo Linz, Praxiswissen Softwaretest - Testmanagement, dpunkt.verlag, ISBN , Christof Ebert, Best practices in software measurement, Martin Shepperd, Foundations of software measurement, Jirk Stolze, Diplomarbeit Performancetests und Bottleneck-Analyse in Multischichtarchitekturen, URL: 16. Connie U. Smith, Introduction to Software Performance Engineering: Origins and Outstanding Problems, 7th International School on Formal Methods for the Design of Computer, Communication and Software Systems, SFM 2007, Bertinoro, Italy, May 28-June 2, 2007,LNCS Marcel Alper, Professionelle Softwaretests, Boris Beizer, Software system testing and quality assurance 19. Martin,1988, Angeführt in Molyneaux 20. Forrester Research, Keil, Vorlesung Softwareergonomie, hyperskript 1999, Universität Paderborn

Neue Ansätze der Qualitätssicherung: Diagnose von Performance-Problemen

Neue Ansätze der Qualitätssicherung: Diagnose von Performance-Problemen Neue Ansätze der Qualitätssicherung: Diagnose von Performance-Problemen André Kemena Tribenstraße 10, 32052 Herford, Nordrhein-Westfalen, Deutschland Universität Paderborn, 33100 Paderborn, Nordrhein-Westfalen,

Mehr

Do 1.1b. KPI-Monitoring und Performanceengineerings - Widerspruch oder Ergänzung? Klaus-Dieter Jäger

Do 1.1b. KPI-Monitoring und Performanceengineerings - Widerspruch oder Ergänzung? Klaus-Dieter Jäger Do 1.1b January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich KPI-Monitoring und Performanceengineerings - Widerspruch oder Ergänzung? Klaus-Dieter Jäger KPI-Monitoring und Performanceengineerings

Mehr

Last- und Stresstest. Überblick. Einleitung / Motivation Stresstest Lasttest Tools The Grinder Zusammenfassung

Last- und Stresstest. Überblick. Einleitung / Motivation Stresstest Lasttest Tools The Grinder Zusammenfassung Methoden und Werkzeuge zur Softwareproduktion WS 2003/04 Karsten Beyer Dennis Dietrich Überblick Einleitung / Motivation Stresstest Lasttest Tools The Grinder Zusammenfassung 2 Motivation Funktionstest

Mehr

Echtzeitverhalten durch die Verwendung von CPU Stubs: Eine Erweiterung von Dynamic Performance Stubs. Echtzeit 2009

Echtzeitverhalten durch die Verwendung von CPU Stubs: Eine Erweiterung von Dynamic Performance Stubs. Echtzeit 2009 Echtzeitverhalten durch die Verwendung von CPU Stubs: Eine Erweiterung von Dynamic Performance Stubs Echtzeit 2009 Peter Trapp, 20.11.2009 Übersicht 1 Einleitung 2 (Übersicht) 3 (Framework) 4 Methodik

Mehr

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R Vector Software W H I T E P A P E R Test Automation mit VectorCAST während der gesamten Softwareentwicklung VectorCAST Produktfamilie Die VectorCAST Produktfamilie automatisiert Testaktivitäten über den

Mehr

Sizing von WebForms-Umgebungen

Sizing von WebForms-Umgebungen Sizing von WebForms-Umgebungen Torsten Schlautmann OPITZ CONSULTING Gummersbach GmbH Seite 1 Agenda Probemdarstellung Grundlegendes Sizing Lasttests zur Validierung Fazit Seite 2 Agenda Probemdarstellung

Mehr

Test nichtfunktionaler Anforderungen in der Praxis am Beispiel einer netzzentrierten Anwendung. Test nichtfunktionaler Anforderungen Agenda

Test nichtfunktionaler Anforderungen in der Praxis am Beispiel einer netzzentrierten Anwendung. Test nichtfunktionaler Anforderungen Agenda Test nichtfunktionaler in der Praxis am Beispiel einer netzzentrierten Anwendung Februar 2011 Test nichtfunktionaler Agenda 1. 2. 3. 4. 5. 6. TAV Tagung Februar 2011 Julia Remmert Public Wincor Nixdorf

Mehr

Performance Monitoring Warum macht es Sinn?

Performance Monitoring Warum macht es Sinn? Performance Monitoring Warum macht es Sinn? achermann consulting ag Nicola Lardieri Network Engineer Luzern, 25.5.2011 Inhalt Definition Monitoring Warum Performance Monitoring? Performance Monitoring

Mehr

Contao (Teil 37): Suchmaschinenoptimierung (1)

Contao (Teil 37): Suchmaschinenoptimierung (1) Web >> Contao Contao (Teil 37): Suchmaschinenoptimierung (1) Autor: daniel_koch Inhalt: Webseiten können eigentlich nur erfolgreich sein, wenn sie auch vernünftig über Suchmaschinen gefunden werden. Grund

Mehr

... über OGVIT GmbH & Co. KG

... über OGVIT GmbH & Co. KG Einführung OpenSTA Agenda - über OGVIT - Warum Lasttests - Was ist OpenSTA - Wie arbeitet OpenSTA - Skripte für OpenSTA - OpenSTA Collectors - Tests planen - Testen - Ergebnisse analysieren - Beispiel

Mehr

Einführung: Lasttests mit JMeter. Sitestress.eu Jesuitenmauer 24 33098 Paderborn www.sitestress.eu - karl@sitestress.eu - 05251 / 687060

Einführung: Lasttests mit JMeter. Sitestress.eu Jesuitenmauer 24 33098 Paderborn www.sitestress.eu - karl@sitestress.eu - 05251 / 687060 Einführung: Lasttests mit JMeter Agenda Über SITESTRESS.EU Tests planen Warum Lasttests? Testen Was ist JMeter? Ergebnisse analysieren Wie arbeitet JMeter? Beispiel JMeter-GUI Skripte für JMeter über SITESTRESS.EU

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

WCET-Analyseverfahren in der automobilen Softwareentwicklung

WCET-Analyseverfahren in der automobilen Softwareentwicklung WCET-Analyseverfahren in der automobilen Softwareentwicklung Martin Däumler 1 Robert Baumgartl 2 Matthias Werner 1 1 Technische Universität Chemnitz 2 HTW Dresden 28. November 2008 M. Däumler et al (TUC,

Mehr

Quality Point München

Quality Point München Quality Point München Test webbasierter Applikationen - Vorgehen, Instrumente, Probleme Gestern habe ich mich wieder über eine fehlerhafte Webanwendung geärgert. Muss das sein? Test ist halt auch hier

Mehr

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2 Inhaltsverzeichnis 1 Einführung 2 1.1 Warum Softwaretests?.................................... 2 2 Durchgeführte Tests 2 2.1 Test: allgemeine Funktionalität............................... 2 2.1.1 Beschreibung.....................................

Mehr

Performance Analyse in einem komplexen Softwaresystem. 18.09.2013 Gebhard Ebeling

Performance Analyse in einem komplexen Softwaresystem. 18.09.2013 Gebhard Ebeling Performance Analyse in einem komplexen Softwaresystem 18.09.2013 Gebhard Ebeling Problemstellung Systemkomplexität Bei der Performance Analyse komplexer Softwaresystemen gibt es viele Einflussfaktoren,

Mehr

Was versteht man unter Softwarequalität?

Was versteht man unter Softwarequalität? Was versteht man unter? ist die Gesamtheit der Merkmale und Merkmalswerte eines Softwareproduktes, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen. Was ist

Mehr

Data Mining-Projekte

Data Mining-Projekte Data Mining-Projekte Data Mining-Projekte Data Mining stellt normalerweise kein ei nmaliges Projekt dar, welches Erkenntnisse liefert, die dann nur einmal verwendet werden, sondern es soll gewöhnlich ein

Mehr

Teststrategie festlegen und Teststufen aufeinander abstimmen

Teststrategie festlegen und Teststufen aufeinander abstimmen Testen Teststrategie festlegen und Teststufen aufeinander abstimmen Bereich Projektplanung und -steuerung Aktivität Projekt planen Ziele Effiziente Testausführung Vermeidung von doppelter Arbeit schnell

Mehr

Testmanagement in IT-Projekten

Testmanagement in IT-Projekten Teil 1: Projektmagazin 05/20009 Teil 2: Projektmagazin 06/2009 1 Test: Prozess, bei dem ein Programm oder ein Software-System ausgeführt wird, um Fehler zu finden Teil 1: Projektmagazin 05/20009 Teil 2:

Mehr

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) im Masterstudiengang Wirtschaftswissenschaft

Mehr

Datenvisualisierung mit JMP

Datenvisualisierung mit JMP Datenvisualisierung mit JMP Patrick René Warnat HMS Analytical Software GmbH Rohrbacherstr. 26 Heidelberg patrick.warnat@analytical-software.de Zusammenfassung Das JMP Paket ist ein Softwareprodukt der

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

ISA Server 2004 - Best Practice Analyzer

ISA Server 2004 - Best Practice Analyzer ISA Server 2004 - Best Practice Analyzer Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Seit dem 08.12.2005 steht der Microsoft ISA Server 2004 Best Practice Analyzer

Mehr

TELEMETRIE EINER ANWENDUNG

TELEMETRIE EINER ANWENDUNG TELEMETRIE EINER ANWENDUNG VISUAL STUDIO APPLICATION INSIGHTS BORIS WEHRLE TELEMETRIE 2 TELEMETRIE WELCHE ZIELE WERDEN VERFOLGT? Erkennen von Zusammenhängen Vorausschauendes Erkennen von Problemen um rechtzeitig

Mehr

IBM Software Demos Rational Performance Tester Extension for Citrix

IBM Software Demos Rational Performance Tester Extension for Citrix Willkommen zur Online-Vorführung der IBM Rational Performance Tester- Erweiterung für Citrix Systems. Diese Demo zeigt Ihnen, wie Sie mittels der Rational Performance Testers No-Code Tests die Skalierbarkeit

Mehr

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Andreas Ditze MID GmbH Kressengartenstraße 10 90402 Nürnberg a.ditze@mid.de Abstract: Data Lineage

Mehr

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen?

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Umgebung Getestet wurde auf einem Linux-System mit voller invis-server Installation, auf dem eine virtuelle Maschine

Mehr

Zabbix Performance Tuning

Zabbix Performance Tuning Zabbix Performance Tuning Getting most out of your hardware 1/31 Zabbix Webinar Inhalte des Webinars Übersicht über Zabbix Performance Faktoren Step 1. Identifizieren und Beheben von Problemen Step 2.

Mehr

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO 9241-10

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO 9241-10 4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO 9241-10 Lernziel: Grenzen des Gestaltungsspielraums bei der Softwaregestaltung kennen und nutzen MCI-2005/1 DIA-Seminar Usability-Engineering, Mai

Mehr

WI EDI Solution. Stand 17.02.2012

WI EDI Solution. Stand 17.02.2012 WI EDI Solution Stand 17.02.2012 WIAG Überblick 2011 - SAP, SAP BW, SAP SEM/BPS, SAP BPC, SAP R/3, ABAP, Netweaver sind eingetragene Warenzeichen der SAP AG, Walldorf Folie 1 Inhalt Was ist WIEDIS? IDOC

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

Testen von webbasierten Benutzeroberflächen

Testen von webbasierten Benutzeroberflächen Studiengruppe: IB6C Email: qasmi@hm.edu Dozent: Michael Theis 1 Agenda: Das eine basierte Testumgebung 2 Wer kennt diese Situationen nicht? =>Typische Fehler bei Webanwendungen! 3 Fehler wie diese sollten

Mehr

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz ISIS Das Navigationssystem für angemessene Qualität und hohe Effizienz Inhalt Softwarequalität und Prozessqualität ISIS: das Ziel Messen der Prozessqualität Der Werkzeugzoo Die Wirkung Maßnahmen zur Prozessoptimierung

Mehr

Last- und Performancetest mit freien Werkzeugen. Stefan Siegl, 17.04.2012

Last- und Performancetest mit freien Werkzeugen. Stefan Siegl, 17.04.2012 Last- und Performancetest mit freien Werkzeugen Stefan Siegl, 17.04.2012 Über mich Consultant der NovaTec GmbH Performance Engineer Leitung CA Application Performance Management Verantwortlich für Produkte

Mehr

Realistische und aussagekräftige Lasttests mit loadit

Realistische und aussagekräftige Lasttests mit loadit Realistische und aussagekräftige Lasttests mit loadit 5. Juli 2012 Jens Müller NovaTec Ingenieure für neue Informationstechnologien GmbH Leinfelden-Echterdingen, München, Frankfurt am Main, Jeddah / Saudi-Arabien

Mehr

Der Blindflug in der IT - IT-Prozesse messen und steuern -

Der Blindflug in der IT - IT-Prozesse messen und steuern - Der Blindflug in der IT - IT-Prozesse messen und steuern - Ralf Buchsein KESS DV-Beratung GmbH Seite 1 Agenda Definition der IT Prozesse Ziel der Prozessmessung Definition von Prozesskennzahlen KPI und

Mehr

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12 Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

Mehr

Metriken - ein unverzichtbarer Begleiter für Software-Prozess-Verbesserungen

Metriken - ein unverzichtbarer Begleiter für Software-Prozess-Verbesserungen Metriken - ein unverzichtbarer Begleiter für Software-Prozess-Verbesserungen Dipl.-Math. Hermann Will QADVICE Software+System Qualität Jamnitzerstr. 2, 81543 München hermann.will@qadvice.de Zusammenfassung.

Mehr

Internet Briefing. Developer Konferenz. Clientseitige Last- & Performancetesting. Namics.

Internet Briefing. Developer Konferenz. Clientseitige Last- & Performancetesting. Namics. Internet Briefing. Developer Konferenz. Clientseitige Last- & Performancetesting. Jürg Stuker. CEO. Partner. 8. Dezember 2011 Thema 1 Verstehen was zwischen User Agent und Server geschwatzt wird... 8.

Mehr

JOB MANAGEMENT MIT DEM SAP SOLUTION MANAGER. Whitepaper

JOB MANAGEMENT MIT DEM SAP SOLUTION MANAGER. Whitepaper JOB MANAGEMENT MIT DEM SAP SOLUTION MANAGER. Whitepaper Wussten Sie, dass lediglich der kleinere Teil der Datenverarbeitung in Ihrem System von End-Anwendern generiert wird? Der größere Teil der Informationen

Mehr

WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links. Andreas Lübcke

WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links. Andreas Lübcke WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links Andreas Lübcke Gliederung Einführung Hintergrund zum link rot problem Arbeiten zum Thema WLGauge Open Framelet Design von WLGauge

Mehr

Veranstaltungen anlegen und bearbeiten

Veranstaltungen anlegen und bearbeiten Veranstaltungen anlegen und bearbeiten Dieses Dokument beschreibt, wie Sie Veranstaltungen anlegen und bearbeiten können. Login Melden Sie sich an der jeweiligen Website an, in dem Sie hinter die Internet-

Mehr

HANDBUCH JTL-WAWI. sumonet.de

HANDBUCH JTL-WAWI. sumonet.de HANDBUCH JTL-WAWI JTL-CONNECTOR.SUMONET.DE - HAND- BUCH Inhalt Die JTL-Connector.SumoNet.de Schnittstelle bietet die Möglichkeit, mit wenigen Klicks die Artikeldaten der JTL-Wawi in das SumoNet zu übertragen

Mehr

OPNET s Application Response Expert (ARX)

OPNET s Application Response Expert (ARX) OPNET s Application Response Expert (ARX) Root Cause Analyse und End2End Monitoring für Web Anwendungen Summary Werden im IT Betrieb Probleme durch die Anwender gemeldet, müssen schnell Informationen aus

Mehr

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10 Prototypvortrag Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning Projektseminar WS 2009/10 Eugen Fot, Sebastian Kenter, Michael Surmann AG Parallele

Mehr

NetMan Desktop Manager Quick-Start-Guide

NetMan Desktop Manager Quick-Start-Guide NetMan Desktop Manager Quick-Start-Guide In diesem Dokument wird die Installation von NetMan Desktop Manager beschrieben. Beachten Sie, dass hier nur ein Standard-Installationsszenario beschrieben wird.

Mehr

Collaborative Virtual Environments

Collaborative Virtual Environments Collaborative Virtual Environments Stefan Lücking Projektgruppe Kreativität und Technik AG Domik WS 02/03 09.01.2003 1/35 Was sind CVE? Versuch einer Definition : Ein CVE ist ein Programm, das eine virtuelle

Mehr

Application Performance Management. Auch eine Frage des Netzwerkes?

Application Performance Management. Auch eine Frage des Netzwerkes? Application Performance Management Auch eine Frage des Netzwerkes? Agenda Architektur von Webanwendungen Lange Applikationsantwortzeiten Application Performance Management (APM) Netzwerkbasiertes APM Serverbasiertes

Mehr

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

Mehr

Johannes Rahn 29.07.2010. Usability und User Experience

Johannes Rahn 29.07.2010. Usability und User Experience Johannes Rahn 29.07.2010 Usability und User Experience Seite 2 Inhalt Begriffsdefinitionen: Was ist Usability und was User Experience? Was sind die Unterschiede? Warum ist Usability und User Experience

Mehr

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung 1 Einleitung 1.1 Motivation und Zielsetzung der Untersuchung Obgleich Tourenplanungsprobleme zu den am häufigsten untersuchten Problemstellungen des Operations Research zählen, konzentriert sich der Großteil

Mehr

spezial Software Defined Networking

spezial Software Defined Networking infoline spezial Software Defined Networking Alle Artikel zu unseren Fokusthemen finden Sie unter comlineag.de/infocenter Ciscos ACI-Lösung als Weg zum SDN Seit einiger Zeit sind Schlagworte wie SDN aus

Mehr

Ist Ihre Mainframe Anwendungs- Umgebung wirklich so effizient, wie Sie denken?

Ist Ihre Mainframe Anwendungs- Umgebung wirklich so effizient, wie Sie denken? Ist Ihre Mainframe Anwendungs- Umgebung wirklich so effizient, wie Sie denken? Cross-Enterprise APM und Application Performance Management 30. Oktober 2012 Agenda Cross-Enterprise APM Mainframe Application

Mehr

Jump Project. Softwarelösungen für professionelles Projektmanagement

Jump Project. Softwarelösungen für professionelles Projektmanagement Jump Project Softwarelösungen für professionelles Projektmanagement Jump Project Office Übersichtliche Dokumentenstruktur und schneller Zugriff auf alle wichtigen Funktionen. Steuern Sie Ihre Projekte

Mehr

Neue Funktionen in Innovator 11 R5

Neue Funktionen in Innovator 11 R5 Neue Funktionen in Innovator 11 R5 Innovator for Enterprise Architects, Java Harvester und Prüfassistent 12.11.2013 Agenda 1 2 3 Einführung Was ist neu in Innovator 11 R5? Szenario Enterprise Architektur

Mehr

Installationsanleitung biz Version 8.0.0.0

Installationsanleitung biz Version 8.0.0.0 bizsoft Büro Software A-1040 Wien, Waaggasse 5/1/23 D-50672 Köln, Kaiser-Wilhelm-Ring 27-29 e-mail: office@bizsoft.de internet: www.bizsoft.de Installationsanleitung biz Version 8.0.0.0 Die biz Vollversion

Mehr

Bachelor Thesis an der Fachhochschule Kiel, Fachbereich Wirtschaft. Sommersemester 2011. : Prof. Dr. Doris Weßels

Bachelor Thesis an der Fachhochschule Kiel, Fachbereich Wirtschaft. Sommersemester 2011. : Prof. Dr. Doris Weßels Handlungsempfehlungen zur Nutzung von Social Media zur Gestaltung von Wissensmarktplätzen am Beispiel des europäischen Förderprojektes Win-Vin: Wissen nutzen im Norden Bachelor Thesis an der Fachhochschule

Mehr

Basiswissen Softwaretest

Basiswissen Softwaretest Basiswissen Softwaretest Vergleich der Vorlesung Software-Engineering Wartung und Qualitätssicherung (Stand WS13/14) mit der 4. überarbeiteten und aktualisierten Auflage von Spillner&Linz: Basiswissen

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind

Mehr

CAS genesisworld.exchange connect Abgleich von Adressen und Terminen

CAS genesisworld.exchange connect Abgleich von Adressen und Terminen Abgleich von Adressen und Terminen Stand Juni 2004 Was ist CAS genesisworld.exchange connect? Inhalt 1 Was ist CAS genesisworld.exchange connect?... 3 2 Systemvoraussetzungen... 5 2.1 Software...5 2.2

Mehr

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh. www.its-owl.de

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh. www.its-owl.de Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh www.its-owl.de Agenda Abschlusspräsentation itsowl-tt-savez Einführung Zielsetzung Ergebnisse Resümee und Ausblick

Mehr

Installation und Bedienung von vappx

Installation und Bedienung von vappx Installation und Bedienung von vappx in Verbindung mit WH Selfinvest Hosting Inhalt Seite 1. Installation Client Software 2 2. Starten von Anwendungen 5 3. Verbindung zu Anwendungen trennen/unterbrechen

Mehr

Server-Eye. Stand 30.07.2013 WWW.REDDOXX.COM

Server-Eye. Stand 30.07.2013 WWW.REDDOXX.COM Server-Eye Stand 30.07.2013 Copyright 2012 by REDDOXX GmbH REDDOXX GmbH Neue Weilheimer Str. 14 D-73230 Kirchheim Fon: +49 (0)7021 92846-0 Fax: +49 (0)7021 92846-99 E-Mail: info@reddoxx.com Internet: http://www.reddoxx.com

Mehr

Manuelles Testmanagement. Einfach testen.

Manuelles Testmanagement. Einfach testen. Manuelles Testmanagement. Einfach testen. Testmanagement als Erfolgsfaktor. Ziel des Testprozesses ist die Minimierung des Restrisikos verbleibender Fehler und somit eine Bewertung der realen Qualität

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

Anforderungen: Management

Anforderungen: Management Anforderungen: Management Anforderungen: Management Der Begriff der Anforderungsanalyse ist grundsätzlich vom Begriff des Anforderungsmanagements zu trennen, obwohl beide Konzepte in vie l- fältiger Weise

Mehr

Einkaufslisten verwalten. Tipps & Tricks

Einkaufslisten verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle

Mehr

Software Echtzeitverhalten in den Griff Bekommen

Software Echtzeitverhalten in den Griff Bekommen Software Echtzeitverhalten in den Griff Bekommen B.Sc.Markus Barenhoff [www.embedded-tools.de] Dr. Nicholas Merriam [www.rapitasystems.com] Übersicht Reaktionszeit Nettolaufzeit Optimierung Worst-Case

Mehr

TBS-Netz 1. Forum 2B: Software -Ergonomie. Eva Fried, TBS ggmbh Rheinland-Pfalz. Inhaltsübersicht:

TBS-Netz 1. Forum 2B: Software -Ergonomie. Eva Fried, TBS ggmbh Rheinland-Pfalz. Inhaltsübersicht: Forum 2B: Software -Ergonomie Inhaltsübersicht: Was ist Software-Ergonomie? Wie kann schlecht gestaltete Software die Arbeit erschweren? Welche gesetzlichen Vorgaben haben wir, um softwareergonomische

Mehr

MH200N MH200N. Gebrauchsanweisungen 05/10-01 PC

MH200N MH200N. Gebrauchsanweisungen 05/10-01 PC MH200N MH200N Gebrauchsanweisungen 05/10-01 PC 2 Inhaltsverzeichnis MH200N Beschreibung des MH200N 4 1. Gebrauch des MH200N mit Webseiten über einen Personal Computer 5 2. Grundlegende Funktionen 7 2.1

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

fungen Debugging Boris Tripolskij

fungen Debugging Boris Tripolskij Werkzeuggestützte tzte Softwareprüfungen fungen Debugging Boris Tripolskij Gliederung Motivation für Debugging Aufbau des Debuggers in Eclipse Arten von Debugging Tools Fehlerarten Delta Debugging Vorführung

Mehr

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim, 10.11.2014

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim, 10.11.2014 Entwicklungsumgebungen Packer, Vagrant, Puppet Alexander Pacnik Mannheim, 10.11.2014 inovex... über inovex und den Referenten 2 Entwicklungsumgebungen... Übersicht Einführung Packer Konfiguration Packer

Mehr

Big Data Performance Management

Big Data Performance Management Big Data Performance Management Überblick Big Data Im Kontext der Performance Relevanz Big Data Big Data Big data is a buzzword and a "vague term", but at the same time an "obsession" with entrepreneurs,

Mehr

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte I N F O R M A T I O N V I R T U A L I S I E R U N G Wir schützen Ihre Unternehmenswerte Wir schützen Ihre Unternehmenswerte Ausfallsicherheit durch Virtualisierung Die heutigen Anforderungen an IT-Infrastrukturen

Mehr

Form Designer. Leitfaden

Form Designer. Leitfaden Leitfaden Copyright Die hier enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten Namen und Daten sind frei erfunden, soweit nichts anderes

Mehr

Software Engineering in

Software Engineering in Software Engineering in der Werkzeuge für optimierte LabVIEW-Entwicklung Folie 1 Best Practices Requirements Engineering Softwaretest Versionsmanagement Build- Automatisierung Folie 2 Arbeiten Sie im Team?

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

Methodische, softwaregestützte Risikobeurteilung

Methodische, softwaregestützte Risikobeurteilung Methodische, softwaregestützte Risikobeurteilung Ziel der Risikobeurteilung ist es, die von einem Produkt ausgehenden Gefährdungspotenziale möglichst vollständig zu erfassen und Schutzmaßnahmen gegen sie

Mehr

Seite: 1 Revisionssichere Firewalls mit Tufin SecureTrack. NUBIT 2006 Kiel, 17. Februar 2006. Martin Seeger NetUSE AG ms@netuse.de

Seite: 1 Revisionssichere Firewalls mit Tufin SecureTrack. NUBIT 2006 Kiel, 17. Februar 2006. Martin Seeger NetUSE AG ms@netuse.de Seite: 1 mit Tufin SecureTrack NUBIT 2006 Kiel, 17. Februar 2006 Martin Seeger NetUSE AG ms@netuse.de Seite: 2 mit Tufin SecureTrack Agenda Herausforderungen Aufbau und Funktionsweise Versionsstände Vergleiche

Mehr

IT-Symposium 2007 19. April 2007

IT-Symposium 2007 19. April 2007 Einhaltung von Service Level Agreements Jutta Adam-Fuss Server Technology Competence Center www.it-symposium2007.de 1 Einhaltung von SLAs Welche Service Level Anforderungen sind für

Mehr

OTRS::ITSM Service Management Software fü r die TU BAF

OTRS::ITSM Service Management Software fü r die TU BAF OTRS::ITSM Service Management Software fü r die TU BAF Nutzerdokumentation Ersteller: Version: 1.000 Konrad Uhlmann Universitätsrechenzentrum +49 373139 4784 Version Datum Name Details 0.001 25.03.2012

Mehr

Qualitätssicherungskonzept

Qualitätssicherungskonzept Softwaretechnikpraktikum Gruppe: swp15.aae SS 2015 Betreuer: Prof. Gräbe Datum: 15.06.2015 Tutor: Klemens Schölhorn Qualitätssicherungskonzept Projektteam: Felix Albroscheit Dorian Dahms Paul Eisenhuth

Mehr

Spamschutz bei TYPO3. von Bernd Warken bei Fa. Netcos AG

Spamschutz bei TYPO3. von Bernd Warken bei Fa. Netcos AG Spamschutz bei TYPO3 von Bernd Warken bei Fa. Netcos AG Kapitel 0: Einleitung 3 0.1 Vorwort 3 0.2 Lizenz 3 Kapitel 1: Aktivierung und Konfiguration 4 1.1 config.spamprotectemailaddresses 4 1.2 config.spamprotectemailaddresses_atsubst

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Oracle GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de

Oracle GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de Oracle GridControl Tuning Pack best Open Systems Day April 2010 Unterföhring Marco Kühn best Systeme GmbH marco.kuehn@best.de Agenda GridControl Overview Tuning Pack 4/26/10 Seite 2 Overview Grid Control

Mehr

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal Softwaretechnikpraktikum SS 2004 Qualitätsmanagement I 5. Vorlesung 1. Überblick Planungsphase Definitionsphase Entwurfsphase Implem.- phase Fragen Was ist Qualität? Wie kann man Qualität messen? Wie kann

Mehr

Wie schreibt man eine Ausarbeitung?

Wie schreibt man eine Ausarbeitung? Wie schreibt man eine Ausarbeitung? Holger Karl Holger.karl@upb.de Computer Networks Group Universität Paderborn Übersicht Ziel einer Ausarbeitung Struktur Sprache Korrektes Zitieren Weitere Informationen

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Risiken auf Prozessebene

Risiken auf Prozessebene Risiken auf Prozessebene Ein Neuer Ansatz Armin Hepe Credit Suisse AG - IT Strategy Enabeling, Practices & Tools armin.hepe@credit-suisse.com Persönliche Vorstellung, kurz 1 Angestellter bei Credit Suisse

Mehr

PRAXISBUTLER ANPASSUNG DER VORLAGEN

PRAXISBUTLER ANPASSUNG DER VORLAGEN Praxisbutler Anpassung der Vorlagen 1 PRAXISBUTLER ANPASSUNG DER VORLAGEN Die Vorlagen werden hauptsächlich in den Bereichen Klienten und Fakturierung benutzt. Die Anpassung dieser Vorlagen ist wichtig,

Mehr

Software Design Patterns. Ausarbeitung über. Security Patterns SS 2004

Software Design Patterns. Ausarbeitung über. Security Patterns SS 2004 Ausarbeitung über SS 2004 Dennis Völker [dv04@hdm-stuttgart.de] Steffen Schurian [ss59@hdm-stuttgart.de] Überblick Sicherheit sollte eine Eigenschaft moderner, verteilter Anwendungen sein, jedoch ist ein

Mehr

Oracle Scorecard & Strategy Management

Oracle Scorecard & Strategy Management Oracle Scorecard & Strategy Management Björn Ständer ORACLE Deutschland B.V. & Co. KG München Schlüsselworte: Oracle Scorecard & Strategy Management; OSSM; Scorecard; Business Intelligence; BI; Performance

Mehr

Bedienungshandbuch Software SystemDiagnostics

Bedienungshandbuch Software SystemDiagnostics Bedienungshandbuch Software SystemDiagnostics Glückwunsch, Sie haben sich für ein innovatives Produkt von Fujitsu entschieden. Aktuelle Informationen zu unseren Produkten, Tipps, Updates usw. finden Sie

Mehr

TIKOS Leitfaden. TIKOS Update

TIKOS Leitfaden. TIKOS Update TIKOS Leitfaden TIKOS Update Copyright 2015, Alle Rechte vorbehalten support@socom.de 06.05.2015 Inhalt 1. Allgemeine Hinweise... 3 2. Ausführen des Updates... 3 3. Mögliche Meldungen beim Update... 9

Mehr

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13 Dokumentation KREDITVERZEICHNIS Teil 2 Konfiguration Stand 20.02.2013 KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 2/13 Inhalt 1. KONFIGURATION...

Mehr