CatDevil Geschrieben 1. Januar 2022 Teilen Geschrieben 1. Januar 2022 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: 4 Präsentation 4.1 Zielgruppe Zielgruppe der Präsentation sind QAs und Game-Designer. 4.2 Hilfsmittel Laptop, Microsoft PowerPoint, Beamer, Präsentationsunterlagen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CatDevil Geschrieben 10. Januar 2022 Autor Teilen Geschrieben 10. Januar 2022 Keine Verbesserungsvorschläge? Oder kann ich davon ausgehen, dass das so passen könnte? 😊 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
charmanta Geschrieben 19. Januar 2022 Teilen Geschrieben 19. Januar 2022 ich rufe höflichst mal @stefan.mackeund @alleswegauf, vlt können die was sagen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
allesweg Geschrieben 19. Januar 2022 Teilen Geschrieben 19. Januar 2022 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CatDevil Geschrieben 19. Januar 2022 Autor Teilen Geschrieben 19. Januar 2022 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.