Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-10439
Autor(en): Palenga, Manuel
Titel: Declarative user experience regression analysis in continuous performance engineering
Erscheinungsdatum: 2018
Dokumentart: Abschlussarbeit (Master)
Seiten: xv, 96
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-104566
http://elib.uni-stuttgart.de/handle/11682/10456
http://dx.doi.org/10.18419/opus-10439
Zusammenfassung: Software performance has a major impact on the user satisfaction. When users have to wait longer as they did in a previous software versions, profit could be creased as users could leave the system. Ensuring user satisfaction deals with regression analysis on the system level. A regression analysis can compare the performance of several system versions. For the comparison, measurements from the system level are needed. The measurements can be collected by load tests with representative user behaviors in order to represent the real system load as accurate as possible. For the definition of a regression test that consists of a regression analysis, a language is needed that supports the definition of the user concerns and not the execution flow itself. This language simplifies the creation of regression tests. The declarative DSL is such a language that can be used for this purpose. However, no approach exists which allows a declarative language to define a regression test consisting of a regression analysis for representative load test measurements. The aim of this thesis is to provide such an approach. The thesis envisions an approach consisting of the tools BenchFlow and ContinuITy, which support subsets of the required functionalities. The declarative DSL from BenchFlow is used to define the regression tests including the user concerns, and ContinuITy provides the corresponding representative user behaviors. The thesis introduces a workflow for the automated execution of the regression tests. This includes the deployment of the systems to be tested, the execution of the load tests, and the regression analysis to compare several system versions. An evaluation of the regression analysis with a representative application shows that regressions can be detected correctly. A further evaluation of the BenchFlow DSL shows that the BenchFlow DSL extensions, which are outcomes of this thesis, have advantages and disadvantages compared to related models. With this approach, performance experts and software engineers can write and execute regression tests with low effort to ensure software performance.
Die Software-Performance hat einen großen Einfluss auf die Zufriedenheit von Nutzern. Sobald Nutzer länger warten müssen als bei einer vorherigen Software Version, kann das dazu führen, dass die Nutzer das System verlassen, wodurch weniger Proft gemacht wird. Die Zufriedenheit der Nutzer kann durch eine Regressionsanalyse auf der Systemebene sichergestellt werden. Die Regressionsanalyse kann die Performance von verschiedenen Systemversionen miteinander vergleichen. Für den Vergleich werden Messwerte von der Systemebene benötigt. Die Messwerte können durch Lasttests erhoben werden, wobei die Lasttests ein repräsentatives Nutzerverhalten enthalten. Dieses Nutzerverhalten wird benötigt um eine möglichst präzise Systemlast zu generieren. Eine Regressionsanalyse kann Bestandteil von einem Regressionstest sein. Für die Definition eines Regressionstests wird eine Sprache benötigt, welche es ermöglicht die Benutzerinteressen anstatt des Kontrollflusses des Regressionstests zu defnieren. Mit so einer Sprache wird die Erstellung von Regressionstests vereinfacht. Für diesen Zweck kann eine deklarative DSL verwendet werden. Zum aktuellen Zeitpunkt ist kein Ansatz bekannt, welcher es ermöglicht mit einer deklarativen Sprache einen Regressionstest zu defnieren, wobei der Regressionstest aus einer Regressionsanalyse für die Messwerte von Lasttests besteht. Das Ziel dieser Arbeit ist es, einen solchen Ansatz zu entwickeln. Diese Arbeit stellt einen Ansatz vor, welcher aus den Anwendungen BenchFlow und ContinuITy besteht. Diese Anwendungen werden benötigt um Teilfunktionalitäten für diesen Ansatz bereitzustellen. Die deklarative DSL von BenchFlow wird verwendet um den Regressionstest und die Benutzerinteressen zu defnieren. ContinuITy wird verwendet um ein repräsentatives Nutzerverhalten zu erhalten. Des Weiteren wird in dieser Arbeit ein Ablauf zur automatisierten Ausführung eines Regressionstests erklärt. Dieser Ablauf enthält die Bereitstellung des zu testenden Systems, die Ausführung der Lasttests und die anschließende Regressionsanalyse um verschiedene Systemversionen miteinander zu vergleichen. Eine Evaluation mit einer repräsentativen Anwendung ergab, dass die Regressionsanalyse unterschiedliche Regressionen korrekt erkennen kann. Für die zweite Evaluation wurden die BenchFlow DSL Erweiterungen, welche im Rahmen dieser Arbeit gemacht wurden, mit verwandten Modellen verglichen. Dabei konnten die Vorteile und Nachteile der Erweiterungen abgeleitet werden. Mit dem entwickelten Ansatz ist es möglich, dass Performance Experten und Softwareentwickler mit wenig Aufwand einen Regressionstest schreiben und ausführen können, sodass die Software-Performance sichergestellt werden kann.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Masterarbeit_Palenga.pdf626,68 kBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.