Alexander Poth

SE
3papers
13citations
Novelty20%
AI Score34

3 Papers

51.2SEApr 2Code
Fuzzing REST APIs in Industry: Necessary Features and Open Problems

Andrea Arcuri, Alexander Poth, Olsi Rrjolli et al.

REST APIs are widely used in industry, in all different kinds of domains. An example is Volkswagen AG, a German automobile manufacturer. Established testing approaches for REST APIs are time consuming, and require expertise from professional test engineers. Due to its cost and importance, in the scientific literature several approaches have been proposed to automatically test REST APIs. The open-source, search-based fuzzer EvoMaster is one of such tools proposed in the academic literature. However, how academic prototypes can be integrated in industry and have real impact to software engineering practice requires more investigation. In this paper, we report on our experience in using EvoMaster at Volkswagen AG, as an EvoMaster user from 2023 to 2026. We share our learnt lessons, and discuss several features needed to be implemented in EvoMaster to make its use in an industrial context successful. Feedback about value in industrial setups of EvoMaster was given from Volkswagen AG about 4 APIs. Additionally, a user study was conducted involving 11 testing specialists from 4 different companies. We further identify several real-world research challenges that still need to be solved.

SESep 4, 2019
Scaling agile on large enterprise level -- systematic bundling and application of state of the art approaches for lasting agile transitions

Alexander Poth, Mario Kottke, Andreas Riel

Organizations are looking for ways of establishing agile and lean process for delivery. Many approaches exist in the form of frameworks, methods and tools to setup an individual composition for a best fit. The challenge is that large organizations are heterogeneous and diverse, and hence there is no "one size fits all" approach. To facilitate a systematic implementation of agile and lean, this article proposes a transition kit based on abstraction. This kit scouts and bundles state of the art methods and tools from the agile and lean community to align them with governance and compliance aspects of the specific enterprise. Coaching of the application of the transition kit ensures an adequate instantiation. The instantiation handles business domain specific aspects and standards. A coaching governance ensures continuous improvement. An example of the systematic application of the transition approach as well as its scaling is demonstrated through its application in the Volkswagen Group IT.

SEJun 7, 2019
Artificial Intelligence helps making Quality Assurance processes leaner

Alexander Poth, Quirin Beck, Andreas Riel

Lean processes focus on doing only necessery things in an efficient way. Artificial intelligence and Machine Learning offer new opportunities to optimizing processes. The presented approach demonstrates an improvement of the test process by using Machine Learning as a support tool for test management. The scope is the semi-automation of the selection of regression tests. The proposed lean testing process uses Machine Learning as a supporting machine, while keeping the human test manager in charge of the adequate test case selection. 1 Introduction Many established long running projects and programs are execute regression tests during the release tests. The regression tests are the part of the release test to ensure that functionality from past releases still works fine in the new release. In many projects, a significant part of these regression tests are not automated and therefore executed manually. Manual tests are expensive and time intensive [1], which is why often only a relevant subset of all possible regression tests are executed in order to safe time and money. Depending on the software process, different approaches can be used to identify the right set of regression tests. The source code file level is a frequent entry point for this identification [2]. Advanced approaches combine different file level methods [3]. To handle black-box tests, methods like [4] or [5] can be used for test case prioritiza-tion. To decide which tests can be skipped, a relevance ranking of the tests in a regression test suite is needed. Based on the relevance a test is in or out of the regression test set for a specific release. This decision is a task of the test manager supported by experts. The task can be time-consuming in case of big (often a 4-to 5-digit number) regression test suites because the selection is specific to each release. Trends are going to continuous prioritization [6], which this work wants to support with the presented ML based approach for black box regression test case prioritization. Any regression test selection is made upon release specific changes. Changes can be new or deleted code based on refactoring or implementation of new features. But also changes on externals systems which are connected by interfaces have to be considered