Zum Inhalt springen

Projektantrag: Entwicklung einer IDE für ein betriebsinternes Testframework für End-to-End-Tests


Empfohlene Beiträge

Geschrieben

Hallo zusammen, ich bin zur Externenprüfung zum FIAE jetzt im Frühling und Sommer angemeldet (neue AO). Da dazu auch ein Projektantrag erforderlich ist, würde ich mich freuen, wenn ihr ihn euch durchlesen könntet und evtl. Verbesserungsvorschläge für mich habt 🙂 Vielen Dank!

 

1 Projektbezeichnung

Entwicklung einer IDE (integrierte Entwicklungsumgebung) für ein betriebsinternes Testframework für End-to-End-Tests

1.1 Problemstellung

Das betriebsinterne Testframework soll um eine IDE erweitert werden, die es Benutzern erlaubt, mit möglichst geringem Aufwand neue Testfälle zu automatisieren.

1.2 Ist-Analyse

Die X ist ein Unternehmen, welches Spiele für Webbrowser und mobile Endgeräte entwickelt. Die Spiele werden in regelmäßigen Abständen um Funktionen und Inhalte erweitert. Um dabei die Qualität der Spiele zu gewährleisten wird verstärkt auf automatisierte End-to-End-Tests gesetzt.

Zum Erstellen der End-to-End-Tests für mobile Endgeräte wird ein betriebsinternes Testframework verwendet. Das Testframework besteht aus verschiedenen Komponenten mit denen die Tests ausgeführt werden können.

Die aktuellen Komponenten des Testframeworks sind wie folgt:

  • Server (Java)
    • Interaktion vom dem mobilen Endgerät, z.B. die App installieren, löschen und starten
    • Kommunikation zwischen dem Plugin und den Tests
  • Plugin (C# in Unity, C++ in Cocos2dx)
    • Ausführung der einzelnen Testschritte
    • Ergebnis und Protokollierung der Testschritte
  • Tests (Java)
    • Herstellen der Verbindung zum Server
    • Starten der Tests
    • Darstellung der Ergebnisse
  • Inspektor (Java)
    • Ermittlung von einzelnen Objekten

Für das Erstellen der automatisierten Testfälle wird jeder Testfall in einzelne Testschritte unterteilt, die für weitere Tests wiederverwendet werden können. Ein Testschritt besteht dabei aus einem Protokolleintrag und einer Interaktion mit einem Objekt (z.B. ein Button). Die Identifizierung der Objektpfade für alle benötigten Testschritte ist sehr zeitaufwendig und kann je nach verwendeter Engine mit verschiedenen Tools erfolgen.

Die Tools sind wie folgt definiert:

  • Inspektor
    • Kann für alle Spiele verwendet werden, wird aber überwiegend für Cocos2dx-Spiele verwendet
    • Ein alleinstehendes Tool, welches separat installiert werden muss
  • Unity Editor
    • Kann für alle Unity-Spiele verwendet werden
    • Es wird der selbe Editor verwendet wie auch für die Spielentwicklung

Durch die Komplexität und den Zeitaufwand werden Testfälle aktuell fast ausschließlich von QAs und wenigen Entwicklern automatisiert.

2 Zielsetzung

2.1 Ziel des Projektes

Ziel des Projektes ist die Erstellung von automatisierten Testfällen zu vereinfachen. Insbesondere Game-Design soll die Möglichkeit haben, einfach und unkompliziert temporäre automatisierte Testfälle anzulegen, zu speichern und mit anderen Game-Designern und QA zu teilen. Durch beide Punkte die Arbeitszeit von QAs eingespart werden.

2.2 Zu erfüllende Anforderungen

Ein einzelner Testfall soll aufgenommen und wieder abgespielt werden können

Einfache und intuitive Bedienung

Mehrere Testfälle sollen temporär gespeichert werden können

Es soll möglich sein Testfälle mit Anderen zu teilen

Die verwendeten Elemente sollen für Regressionstests wiederverwendbar sein

3 Projektstrukturplan

3.1 Arbeitsweise

Das Projekt wird mithilfe des Wasserfallmodells umgesetzt. Die zu erledigenden Teilaufgaben werden dabei durch entsprechende Tickets im intern verwendeten System JIRA strukturiert.

3.2 Arbeitsschritte

Folgend die einzelnen Arbeitsschritte in den einzelnen Projektphasen inkl. Zeitplanung:

Projektantrag-Zeitplanung.thumb.png.225ec4438fb94c1064b5cb1727daf3e5.png

 

4 Präsentation

4.1 Zielgruppe

Zielgruppe der Präsentation sind QAs und Game-Designer.

4.2 Hilfsmittel

Laptop, Microsoft PowerPoint, Beamer, Präsentationsunterlagen

  • 2 Wochen später...
  • 2 Wochen später...
Geschrieben

Danke für die Blumen, aber: Ich nur AE auf alten Kisten, nix Prüfungsguru.

Ich probier mich mal:

 

Ihr habt eine eigenentwickelte Testsuite, aber die Erfassung von Tests ist zu kompliziert?

 

Am 1.1.2022 um 20:56 schrieb CatDevil:

Ein einzelner Testfall soll aufgenommen und wieder abgespielt werden können

das sollte JEDE Testsuite out of the box können.

Am 1.1.2022 um 20:56 schrieb CatDevil:

Die verwendeten Elemente sollen für Regressionstests wiederverwendbar sein

Was unterscheidet Regressionstests technisch innerhalb der Testsuite von anderen wiederholt ausführbaren Tests?

 

Erst wird die UI erstellt und dann das Projekt eingerichtet?

Geschrieben
vor 1 Stunde schrieb allesweg:

Ihr habt eine eigenentwickelte Testsuite, aber die Erfassung von Tests ist zu kompliziert?

Als wir vor 7 Jahren mit Test Automation für unsere Spiele angefangen haben, gab es keine Lösung, die mit unseren verwendeten Technologien funktioniert hat. Daher haben wir ein eigenes Framework entwickelt, was bisher auch sehr gut funktioniert.

Es ist nicht unmöglich Tests zu schreiben und mit guter Übung kann man auch ziemlich effizient sein. Aber für neue Leute, die Tests schreiben wollen oder das nicht tagtäglich machen, ist die Lernkurve relativ hoch. Daher wollen wir das vereinfachen.

 

vor 1 Stunde schrieb allesweg:

das sollte JEDE Testsuite out of the box können.

Ja, das wäre schön und darum liegt die Idee bei uns auch schon seit ein paar Jahren im Backlog.

 

vor 1 Stunde schrieb allesweg:

Was unterscheidet Regressionstests technisch innerhalb der Testsuite von anderen wiederholt ausführbaren Tests?

Die Regressionstests, die hinterher in die Testsuite eingefügt werden, müssen einen höheren Standard an Wiederverwendetbarkeit, Robustheit, etc. erfüllen, da hier der Spielstand fest vorgegeben sein muss. Für die Tests, die aufgenommen und gespeichert werden können, liegt der Fokus auf Schnelligkeit, so dass man Tests während der Entwicklung nutzen kann, um Änderungen fix zu testen, aber nicht immer ist es praktikabel diese Tests als Regressionstests zu übernehmen. Wenn z.B. Game-Design viele Änderungen am Balancing macht, können sie sich einen oder mehrere Tests anlegen, um zu prüfen, das ein bestimmter Bereich immer noch spielbar ist oder eben nicht. Aber es ist nicht immer notwendig, das als Regressionstests zu haben am Ende.

 

vor 1 Stunde schrieb allesweg:

Erst wird die UI erstellt und dann das Projekt eingerichtet?

Nur der Entwurf der UI findet vorher statt, wie das Design sein soll, wo sich welche Buttons befinden sollen, etc. Die tatsächliche Implementierung ist der erste Punkt nach der Einrichtung des Projektes.

 

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...