[Back]


Diploma and Master Theses (authored and supervised):

P. Wieser:
"An approach of software quality estimation using automated generation of test cases";
Supervisor: T. Grechenig, C. Schanes; E183/1, 2012.



English abstract:
Software is commonly tested before release in order to be able to meet certain quality standards of the final product. Test automation promises to lower the number of repetitious tasks for testers and reduce expenses for testing. However, the introduction of automated testing is not always beneficial. Some dangers are increased one-time costs to implement the automation framework at the beginning, and that test automation is thought to be able to replace all manual tasks.
Test case generation is one of the possibilities to use automation in a software project in order to potentially reduce costs and improve quality. A solution that generates test cases and gives stakeholders an estimation of software quality could be used to improve the testing process as well as existing test cases.
Within the scope of a case study, a proof-of-concept prototype software to generate test data was developed. The generated test cases were used for testing multiple parts of a software that were written in various programming languages. The comparison of both sets of test cases showed that some existing test cases could not be replaced by their automated counterparts, but also that the generated test cases tested new parts of the software and can be executed much more often. It has been found that the generated test cases can be used to estimate many software quality factors like accuracy, stability and fault tolerance.
From the results it has been deducted that software quality is composed of numerous factors, some of which are hard to test for only by generating test cases. The main strengths of auto-mated test case generation lie in testing for correctness and robustness. For quality factors like installability, additional research may be conducted in order to extend the approach and to be able to assess even more quality factors. In general, the solution of generating test cases seems to be most beneficial for complex interfaces with a large number of methods and parameters.

German abstract:
Software wird heutzutage vor der Auslieferung getestet, um einen möglichst hohen Qualitätsstandard des Endprodukts sicherzustellen.
Testautomatisierung verspricht, die Anzahl der immer wiederkehrenden Testaktivitäten sowie die Kosten für das Testen zu reduzieren.
Automatisiertes Testen ist allerdings nicht immer nur mit Vorteilen verbunden. Einige der Gefahren sind die höheren Fixkosten, um ein Framework für die Testautomatisierung in Betrieb zu nehmen, sowie die verbreitete Einstellung, dass Testautomatisierung alle manuellen Aufgaben ersetzen kann.
Das Generieren von Testfällen ist eine der Möglichkeiten, Automatisierung in einem Softwareprojekt einzusetzen, um potentiell Kosten zu sparen und die Qualität zu erhöhen. Eine Lösung, die Testfälle generiert und Stakeholdern eine Schätzung der Softwarequalität ermöglicht, könnte dazu verwendet werden, den Testprozess sowie die existierenden Testfälle zu verbessern.
Im Rahmen einer Fallstudie wurde ein Proof-of-Concept-Prototyp zur Testdatengenerierung implementiert. Die generierten Testdaten wurden dazu verwendet, mehrere Teile einer Software zu testen, die in verschiedenen Programmiersprachen entwickelt wurden. Der Vergleich der beiden Mengen von Testfällen zeigte, dass einige der existierenden Testfälle nicht durch automatisiert generierte Gegenstücke ersetzt werden konnten. Die generierten Testfälle erfassten jedoch bisher ungetestete Bereiche des Codes und konnten häufiger ausgeführt werden.
Die Anwendung dieses Ansatzes hat gezeigt, dass die generierten Testfälle zur Bestimmung von vielen Softwarequalitätsfaktoren wie Genauigkeit, Stabilität und Fehlertoleranz verwendet werden können.
Die Resultate zeigen, dass Qualität von Software durch viele Faktoren bedingt wird, und es schwierig ist, alle Qualitätsfaktoren nur durch das Generieren von Testfällen zu erheben. Die Stärken von Testdatengenerierung liegen vielmehr im Testen auf Korrektheit und Robustheit der Software. Um eine allumfassende Automatisierung und Auswertung umzusetzen, besteht weiterer Forschungsbedarf bei Qualitätsfaktoren wie der Installierbarkeit der Software. Besonders ergiebig und aussagekräftig für den Projektverlauf sind die automatisiert erstellten Testfälle, je komplexer sich die Schnittstellen gestalten. So eignen sich besonders Schnittstellen, die viele Methoden und Parameter beinhalten, für diese Vorgehensweise.

Created from the Publication Database of the Vienna University of Technology.