<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Software-Engineering on Marc Herschel</title><link>https://herschel.io/publications/topic/software-engineering/</link><description>Recent content in Software-Engineering on Marc Herschel</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>Marc Herschel</copyright><lastBuildDate>Mon, 18 Oct 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://herschel.io/publications/topic/software-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Usage of Sample Solutions for Automatic Regression Testing of Auto-Evaluators for Programming Tasks</title><link>https://herschel.io/publications/usage-of-sample-solutions-for-automatic-regression-testing-of-auto-evaluators-for-programming-tasks/</link><pubDate>Mon, 18 Oct 2021 00:00:00 +0000</pubDate><guid>https://herschel.io/publications/usage-of-sample-solutions-for-automatic-regression-testing-of-auto-evaluators-for-programming-tasks/</guid><description>&lt;p&gt;&lt;strong&gt;Original Title:&lt;/strong&gt; Einsatz von Musterlösungen für automatische Regressionstests von Autobewertern für Programmieraufgaben&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Report&lt;br&gt;
&lt;strong&gt;Language:&lt;/strong&gt; German&lt;br&gt;
&lt;strong&gt;Authors:&lt;/strong&gt; Robert Garmann, Marc Herschel&lt;br&gt;
&lt;strong&gt;Keywords:&lt;/strong&gt; regression testing, software engineering, computer assisted learning&lt;/p&gt;
&lt;p&gt;&lt;a href="https://doi.org/10.25968/opus-2098"&gt;Download Report&lt;/a&gt; — &lt;a href="https://herschel.io/assets/pub/garmann-herschel2021-regressionstests.pdf"&gt;Local Mirror&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;

&lt;div class="justify"&gt;
&lt;p&gt;Automatic evaluation systems for programming tasks (graders) are complex software systems. Automatically performed regression tests can uncover potential defects in the grader at low cost. In this paper, we will describe how sample solutions can act as input data for automatic regression tests. Thus, we are concerned with presenting a solution to a software engineering problem for e-learning systems.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original Title:</strong> Einsatz von Musterlösungen für automatische Regressionstests von Autobewertern für Programmieraufgaben<br>
<strong>Type:</strong> Report<br>
<strong>Language:</strong> German<br>
<strong>Authors:</strong> Robert Garmann, Marc Herschel<br>
<strong>Keywords:</strong> regression testing, software engineering, computer assisted learning</p>
<p><a href="https://doi.org/10.25968/opus-2098">Download Report</a> — <a href="/assets/pub/garmann-herschel2021-regressionstests.pdf">Local Mirror</a></p>
<hr>

<div class="justify">
<p>Automatic evaluation systems for programming tasks (graders) are complex software systems. Automatically performed regression tests can uncover potential defects in the grader at low cost. In this paper, we will describe how sample solutions can act as input data for automatic regression tests. Thus, we are concerned with presenting a solution to a software engineering problem for e-learning systems.</p>
<p>We consider which features of the ProFormA task format can be used for automatic regression testing and propose extensions to the format. The paper describes the exemplary implementation of an automatic black box system test for the Graja auto-evaluator and addresses, among other things, the design of a record-playback procedure, a fuzzy target-actual comparison, and the issue of localizability of detected regressions.</p>

</div>

]]></content:encoded></item><item><title>An Introduction to Regression Testing</title><link>https://herschel.io/publications/an-introduction-to-regression-testing/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0000</pubDate><guid>https://herschel.io/publications/an-introduction-to-regression-testing/</guid><description>&lt;p&gt;&lt;strong&gt;Original Title:&lt;/strong&gt; Eine Einführung in die Regressionstests&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Seminar Paper&lt;br&gt;
&lt;strong&gt;Language:&lt;/strong&gt; German&lt;br&gt;
&lt;strong&gt;Author:&lt;/strong&gt; Marc Herschel&lt;br&gt;
&lt;strong&gt;Keywords:&lt;/strong&gt; regression testing, software testing, software engineering&lt;/p&gt;
&lt;p&gt;&lt;a href="https://herschel.io/assets/pub/Regressionstests_Paper.pdf"&gt;Download Paper&lt;/a&gt; — &lt;a href="https://herschel.io/assets/pub/Regressionstests_PPTX.pdf"&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;

&lt;div class="justify"&gt;
&lt;p&gt;Software development is a lengthy and complex process in which the quality of the product to be developed plays a decisive role. Because the software development process involves various stakeholders and is an iterative process, quality assurance measures must be taken in order to deliver a product that meets the requirements of the customer. One of these quality assurance measures is software testing, which is used to validate the software in relation to its intended use.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original Title:</strong> Eine Einführung in die Regressionstests<br>
<strong>Type:</strong> Seminar Paper<br>
<strong>Language:</strong> German<br>
<strong>Author:</strong> Marc Herschel<br>
<strong>Keywords:</strong> regression testing, software testing, software engineering</p>
<p><a href="/assets/pub/Regressionstests_Paper.pdf">Download Paper</a> — <a href="/assets/pub/Regressionstests_PPTX.pdf">Download Slides</a></p>
<hr>

<div class="justify">
<p>Software development is a lengthy and complex process in which the quality of the product to be developed plays a decisive role. Because the software development process involves various stakeholders and is an iterative process, quality assurance measures must be taken in order to deliver a product that meets the requirements of the customer. One of these quality assurance measures is software testing, which is used to validate the software in relation to its intended use.</p>
<p>In this paper to the already held presentation the generic term of the software tests does not stand in the foreground, instead an insight into the subset of the regression tests is given. Regression tests differ in their basic mode of operation from the widely used module and integration tests, but are nevertheless a cornerstone of software quality assurance.</p>

</div>

]]></content:encoded></item><item><title>Sample Solutions in Graja as a Mechanism for Regression Testing</title><link>https://herschel.io/publications/sample-solutions-in-graja-as-a-mechanism-for-regression-testing/</link><pubDate>Mon, 17 Aug 2020 00:00:00 +0000</pubDate><guid>https://herschel.io/publications/sample-solutions-in-graja-as-a-mechanism-for-regression-testing/</guid><description>&lt;p&gt;&lt;strong&gt;Original Title:&lt;/strong&gt; Musterlösungen in Graja als Mechanismus für Regressionstests&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Bachelor Thesis&lt;br&gt;
&lt;strong&gt;Language:&lt;/strong&gt; German&lt;br&gt;
&lt;strong&gt;Author:&lt;/strong&gt; Marc Herschel&lt;br&gt;
&lt;strong&gt;Keywords:&lt;/strong&gt; software engineering, software testing, regression testing&lt;/p&gt;
&lt;p&gt;&lt;a href="https://doi.org/10.25968/opus-1721"&gt;Download Thesis&lt;/a&gt; — &lt;a href="https://herschel.io/assets/pub/herschel-graja-musterloesungen-regressionstest.pdf"&gt;Local Mirror&lt;/a&gt; — &lt;a href="https://herschel.io/assets/pub/Musterloesungen_Graja_PPTX.pdf"&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;

&lt;div class="justify"&gt;
&lt;p&gt;The automated grader Graja, which is used in teaching to evaluate student Java programs, represents a complex software system. Due to a hardly existing test coverage by module and integration tests, the guarantee of error-free functionality with regard to further development is not guaranteed. Since Graja is based on the ProFormA task format, the question arises to what extent the sample solutions assumed in the ProFormA task format are suitable for an automated regression testing mechanism.&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>Original Title:</strong> Musterlösungen in Graja als Mechanismus für Regressionstests<br>
<strong>Type:</strong> Bachelor Thesis<br>
<strong>Language:</strong> German<br>
<strong>Author:</strong> Marc Herschel<br>
<strong>Keywords:</strong> software engineering, software testing, regression testing</p>
<p><a href="https://doi.org/10.25968/opus-1721">Download Thesis</a> — <a href="/assets/pub/herschel-graja-musterloesungen-regressionstest.pdf">Local Mirror</a> — <a href="/assets/pub/Musterloesungen_Graja_PPTX.pdf">Download Slides</a></p>
<hr>

<div class="justify">
<p>The automated grader Graja, which is used in teaching to evaluate student Java programs, represents a complex software system. Due to a hardly existing test coverage by module and integration tests, the guarantee of error-free functionality with regard to further development is not guaranteed. Since Graja is based on the ProFormA task format, the question arises to what extent the sample solutions assumed in the ProFormA task format are suitable for an automated regression testing mechanism.</p>
<p>The goal of this research is to create a concept for such a regression testing mechanism as well as putting it into practice with the help of a reference implementation as a Graja extension. The resulting testing mechanism operates by behavioral recording and behavioral comparison, thus converting the evaluation behavior of a sample solution observed in Graja into a test case. In the test phase, a comparison of the target behavior of a test case and the actual observed behavior of a sample solution takes place subsequently. The differences of this comparison are to be treated as potential regressions, since they represent a semantic change of the evaluation result.</p>
<p>In order to implement this behavioral comparison robustly and with as few false alarms as possible, the data models used in Graja were investigated for suitability with respect to a behavioral recording. In addition, a data recording with a subset of the sample solutions took place. Subsequently, an analysis of this raw data was performed with the goal of detecting potential noise within the recordings. This ultimately allowed a strategy to be developed for noise reduction within the behavioral recordings.</p>
<p>Finally, a data model was developed that allows the regressions detected through behavioral matching to be represented in an understandable and localizable manner. The automated regression testing mechanism created by this thesis thus provides a basis for ensuring proper evaluation functionality within the Graja development process. By detecting regressions using the sample solutions, changes to Graja can now be conscientiously adopted into a production environment.</p>

</div>

]]></content:encoded></item></channel></rss>