You are here: Wiki>SE Web>ThesesHome>ThesisSarosTestAutomation (10 Sep 2020, lfischer96)Edit

Testautomatisierung in Saros

worked on by: Lasse Fischer

Outline

1. Einleitung

1.1 Was ist Saros?

Das Saros-Projekt(Saros), entwickelt von der Arbeitsgruppe Software Engineering (AG SE) der Freien Universität Berlin, ist ein Open Source Paarprogrammierungs-Tool für unterschiedliche integrierte Entwicklungsumgebungen (IDEs), mit dessen Hilfe bis zu 5 unterschiedliche Teilnehmer zeitgleich an einem Projekt arbeiten können und sogar zeitgleiches editieren der selben Datei ermöglicht, wobei das Plugin alle Dateien innerhalb aller Teilnehmer synchronisiert und aktuell hält.

1.2 Wozu Testautomatisierung?

In der Softwareentwicklung ist das Ziel von Softwaretests, Defekte und Fehler aufzuspüren und zu Verhindern. Hierbei ist es aufgrund der Komplexität der Software oft schwierig, alle möglichen Eingaben für ein Programm zu testen, da dies zu viel Zeit in Anspruch nähme. Der Vorteil von automatisiertem Testen liegt hierbei darin, dass vorgefertigte Tests automatisch in genau der selben Art und Weise durchlaufen werden können, was Benutzerfehler beim Testen verhindert

1.3 Aktueller Status der Testautomatisierung in Saros

Zur Zeit wird Saros für Eclipse mithilfe des Saros Test Frameworks (STF), welches sich auf SWTBot stützt, einem Java-basierten funktionalen Softwaretestwerkzeug für Eclipse und das Standard Window Toolkit (SWT), automatisch getestet. Die Erweiterung für IntelliJ IDEA kann jedoch nicht durch das STF getestet werden, da IntelliJ auf der Java Swing Technologie basiert.

1.4 Ziel des Testautomatisierungs-Verfahrens

Saros soll in Zukunft auf möglichst vielen Plattformen nutzbar sein, also muss ein Verfahren entwickelt werden, um plattform- und IDE-unabhängig Saros automatisch zu testen.

1.5 Anforderungen an die Testautomatisierung in Saros

Da Saros in unterschiedlichen IDEs und Rechnern ausgeführt wird, muss die Testumgebung sowohl in der Lage sein, auf verteilten Systemen zu funktionieren, als auch die Testdurchführung eigenständig zu synchronisieren. Dazu muss die Testsuite mindestens zwei Instanzen von IDEs bedienen können.
Die Testsuite sollte für weitere IDEs möglichst einfach erweiterbar sein. Hierbei sollte möglichst Open Source Software verwendet werden.

1.6 Schwierigkeiten des Testautomatisierung in Saros

Da Saros zukünftig in unterschiedlichen IDEs, die unterschiedliche grafische Nutzeroberflächen(GUIs) mit sich bringen, verwendbar sein soll können Änderungen an der GUI der unterstützten IDEs ein hohes Maß an Instabilität mit sich bringen, was wiederum zu einem hohen Wartungsaufwand führt. 
Viele Testwerkzeuge erfüllen zusätzlich viele der oben genannten Anforderungen nicht, was die Entwicklung einer solchen Lösung behindern kann.

2. Ziel der Arbeit

In meiner Arbeit werde ich unterschiedliche visuelle Testwerkzeuge vergleichen um eine potenzielle Lösungsmöglichkeit der oben genannten Schwierigkeiten zu finden. Hierbei werden prototypisch Testfälle entwickelt, welche die Validität des jeweiligen Ansatzes zeigen. Sollte keines der untersuchten Werkzeuge die Anforderungen erfüllen, werde ich untersuchen ob und inwiefern das STF-Test Framework für andere IDEs angepasst bzw. überarbeitet werden kann.

Thesis Requirements

formulate requirements here (together with your adviser)

Milestones and Planning

A milestone is a scheduled event signifying the completion of a major deliverable or a set of related deliverables. A milestone has zero duration and no effort -- there is no work associated with a milestone. It is a flag in the workplan to signify some other work has completed. Usually a milestone is used as a project checkpoint to validate how the project is progressing and revalidate work. (Source: http://www.mariosalexandrou.com/definition/milestone.asp)

Milestone no. Past days CW Goals target accomplished wrench
1 DONE 1 CWXX Goals accomplished

...

Weekly Status

Week 1 (CW XX)

Activities

  • been there, done that
  • ...

Results

  • achieved XYZ

Next Steps

  • planning ...

Problems

  • ...
Topic revision: r1 - 10 Sep 2020, lfischer96
 
  • Printable version of this topic (p) Printable version of this topic (p)