Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-10440
Autor(en): Hidiroglu, Alper
Titel: Context-aware load testing in continuous software engineering
Erscheinungsdatum: 2019
Dokumentart: Abschlussarbeit (Master)
Seiten: xvii, 120
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-104572
http://elib.uni-stuttgart.de/handle/11682/10457
http://dx.doi.org/10.18419/opus-10440
Zusammenfassung: To ensure adequate performance of a system, performance regressions have to be detected early in the software development process. Before a new software version is released, load tests should be applied on the system. In the context of continuous software engineering, it is crucial to keep delivery pipelines as short-running as possible in order to release software changes frequently. Since load tests typically take longer than functional tests, it is not possible to test for every possible workload scenario every time before a change is committed. It would be better to focus only on those load scenarios that are relevant for a given context, that consists, for example, of marketing campaigns, sports events, weather, etc. The goal of this work is to automatically generate load tests that test for the relevant load scenarios in the future. Thereby, we aim at reducing the resource usage and the test execution time. We develop a context description language to express contexts that can occur in the future. Our approach takes as input a context description and recorded request logs from the production system. It then uses the WESSBAS approach to calculate historical workload data from the recorded request logs. Based on the historical workload data and the passed context description, our approach then forecasts the future workload. The forecasted workload is processed and relevant load scenarios are identified that will occur in the future. Our approach then uses the WESSBAS approach again to automatically generate load tests that test for the identified load scenarios. We evaluated our approach with a real-world data set, that contains recorded requests from the Student Information System (SIS) of the Charles University in Prague. The evaluation shows that contexts help to reduce the testing effort and to focus only on the relevant workload scenarios. However, the evaluation also shows that our approach has limitations regarding the accuracy of the forecasted workload. Load tests, that are generated from inaccurately forecasted workload, do not test for the relevant load scenarios.
ur Sicherstellung geforderter Performance eines session-basierten Systems müssen Performanz-Regressionen im Softwareentwicklungsprozess frühzeitig erkannt werden. Vor der Veröffentlichung einer Softwareversion sollten Lasttests auf das System angewendet werden. Im Rahmen von Continuous Software Engineering ist es wichtig, sicherzustellen, dass die Delivery Pipelines möglichst kurzlaufend gehalten werden, um Softwareänderungen häufig veröffentlichen zu können. Da Lasttests typischerweise mehr Zeit in Anspruch nehmen als funktionale Tests, ist es nicht möglich vor jedem bevorstehenden Commit einer Änderung jedes mögliche Lastszenario zu testen. Es wäre besser sich nur auf die Lastszenarien zu fokussieren, die relevant für einen gegebenen Kontext sind. Kontexte sind beispielsweise Marketing-Kampagnen, Sportereignisse, Wetter etc. Das Ziel dieser Arbeit ist das automatische Generieren von Lasttests, die für relevante Lastszenarien in der Zukunft testen. Dabei ist es unser Ziel, die Testausführungszeit und die Ressourcennutzung zu reduzieren. Wir entwickeln eine Kontextbeschreibungssprache, um Kontexte, die in der Zukunft auftreten könnten, zu beschreiben. Unser Ansatz nimmt als Eingaben eine Kontextbeschreibung und Request Logs entgegen. Request Logs enthalten aufgezeichnete Anfragen an das Produktionssystem. Unser Ansatz benutzt daraufhin den WESSBAS-Ansatz, um aus den Request Logs die historische Last zu berechnen. Basierend auf der historischen Last und einer Kontextbeschreibung wird dann die zukünftliche Last vorhergesagt. Die vorhergesagte Last wird verarbeitet und es werden relevante Lastszenarien erkannt, die in der Zukunft auftreten werden. Unser Ansatz benutzt daraufhin den WESSBAS-Ansatz erneut, um automatisch Lasttests zu generien, welche für die erkannten Lastszenarien testen. Wir haben unseren Ansatz mit einem Datensatz aus der echten Welt evaluiert. Dieser enthält aufgezeichnete Anfragen an das Student Information System (SIS) der Karls-Universität in Prag. Die Evaluation zeigt, dass Kontexte dabei helfen den Testaufwand zu reduzieren. Weiterhin helfen Kontexte dabei, sich nur auf die relevanten Lastszenarien zu fokussieren. Die Evaluation zeigt aber auch, dass unser Ansatz in seinem jetzigen Zustand keine genauen Lastvorhersagen tätigen kann. Lasttests, die aus ungenau vorhergesagter Last generiert werden, testen nicht für die relevanten Lastszenarien.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Masterthesis_Alper_Hidiroglu.pdf771,66 kBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.