Titelaufnahme

Titel
Performance test language for web services / von Hermann Czedik-Eysenberg
VerfasserCzedik-Eysenberg, Hermann
Begutachter / BegutachterinZdun, Uwe
Erschienen2011
Umfangii, 87 S. : Ill., graph. Darst.
HochschulschriftWien, Techn. Univ., Dipl.-Arb., 2011
Anmerkung
Zsfassung in dt. Sprache
SpracheEnglisch
DokumenttypDiplomarbeit
Schlagwörter (DE)Web / service-orientierte Architektur / Web Services / Performance Test / Domänenspezifische Sprache / Load Test / Stress Test
Schlagwörter (EN)web / service-oriented architecture / web services / performance testing / domain-specific language / load testing / stress testing
URNurn:nbn:at:at-ubtuw:1-45548 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
Performance test language for web services [1.59 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Während der Entwicklung von Web Services und deren Bereitstellung auf einem bestimmten Zielsystem sollte laufend überprüft werden, ob Web Service-Implementierung und Hardware die Qualitätsattribute, die in einem Service Level Agreement spezifiziert wurden, erfüllen können. Ein wichtiger Aspekt sind Performance-bezogene Attribute, wie Antwortzeiten, Durchsatz und die Skalierbarkeit eines Web Service. Typischerweise werden Tests verwendet, die ein bestimmtes Clientverhalten simulieren, um diese Attribute zu evaluieren.

In dieser Diplomarbeit wird die domänen-spezifische Sprache QoSTIL (Quality of Service Test Instrumentation Language) vorgestellt. Sie ermöglicht die Definition von Tests und deren Komposition zur Erstellung von komplexen Testplänen. Diese Tests können verwendet werden um Web Service-Clientverhalten zu simulieren und Performance-bezogene Qualitätsattribute zu überprüfen. Sprachinstanzen werden automatisch zu ausführbarem Java-Code und Testreport-Ansichten transformiert. Diese können dafür eingesetzt werden um die definierten Tests auszuführen und die Testresultate graphisch anzuzeigen.

Die Implementierung dieser domänen-spezifischen Sprache folgt dem Ansatz der modellgetriebenen Softwareentwicklung. Sowohl das Sprachmodell (die abstrakte Syntax), das auf dem vom Frag Modeling Framework definierten Metamodell basiert, als auch eine konkrete Syntax, sowie die Transformation zu ausführbarem Code werden im Detail erläutert. Außerdem beinhaltet die Arbeit einen Überblick der Technologien und Entwicklungswerkzeuge, die zur Implementierung der domänen-spezifischen Sprache und zur Generierung und Ausführung des Laufzeit-Systems eingesetzt wurden.

Um den Nutzen und die Bedienbarkeit der entwickelten Sprache zu evaluieren, wurde eine Anzahl von Tests, die auf realistischen Business-Anwendungsfällen basieren, für die Messung von bestimmten Performance-bezogenen Qualitätsattributen definiert und implementiert.

Nach der automatischen Transformation zu ausführbarem Code, wurden die Tests auf ein bestimmtes Web Service angewendet und die Ergebnisse werden in der Arbeit präsentiert und diskutiert. Weiters enthält die Diplomarbeit einen Vergleich mit ähnlichen Arbeiten innerhalb des Forschungsgebiets.

Zusammenfassung (Englisch)

During the development of Web services and their deployment to a specific target system, organizations need to evaluate if the Web service implementation and the hardware can meet the Quality of Service attributes specified in a Service Level Agreement. One important aspect are performance-related attributes, such as response time, throughput or scalability of the Web service. Typically tests which simulate client behavior are used to evaluate these attributes. In this thesis the domain-specific language QoSTIL (Quality of Service Test Instrumentation Language) is introduced. It allows for the definition of tests and the composition of these tests to create complex test plans which can be used to simulate Web service client behavior and evaluate performance-related quality of service attributes of Web services.

Language instances are automatically transformed to executable Java code and result presentation views. These can be used to run the defined tests and visually display the test results. The implementation of the domain-specific language follows the Model-Driven Development approach.

Both the language model (abstract syntax), which is based on the meta-model defined by the Frag modeling framework, the concrete syntax, as well as the transformation to executable code are explained in detail in the thesis. To evaluate the utility and usability of the language a number of tests which are based on realistic business use cases for assessing certain performance-related quality of service attributes are defined and implemented. After the automatic transformation to executable code, the tests are run for specific Web services and the results are presented and discussed.