erste App testen

  • Hallo zusammen,


    ich habe mich in die Android-Entwicklung gestürzt und habe bereits eine kleine App mit mehreren Activities geschrieben.
    Sie funktioniert soweit. Nun möchte ich meine App in einem ADV automatisiert mit Testdaten ablaufen lassen.


    Frage:
    Ist es sinnvoll in einer TestKlasse, die jetzt mit "MainActivity" verknüpft ist, daraus andere Activities zu starten und zu beenden, sie zu testen?
    Oder ist es besser für jede Acitivity eine eigene Testklasse zu haben und so die Funktionen der jeweiligen Activity zu testen?


    Danke für den Tipp.





  • Jeder Test sollte nur einen speziellen kleinen Teil Deiner App testen.


    Idealerweise testest Du jedes Objekt einzeln (gebenenfalls mocken, falls Abhängigkeiten bestehen)
    Dann jedes UI einzeln (Activity, Fragment…)
    Anschließend solltest Du dann noch die Integrität der App testen, also das auch ja das UI mit allen Objekten vernünftig arbeitet.


    Viele sind aber der Meinung, lieber schlechte und ungünstig geschriebene Tests als gar keine. ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Vielen Dank, also damit ich es richtig verstehe.
    Ich habe 7 Activities.
    Jede von ihnen hat eigene Methoden, die irgendwas machen.
    Das bedeutet ich schreibe jeweils eine Testklasse für die jeweilige Activity.
    Das bedeutet, dass die jeweilige Activity NICHT eine andere Activity aufruft?


    Beispiel:
    ActivityA hat zwei Buttons. Button1 ruft ActivityB auf. Button2 ruft ActivityC auf.
    Beide Activities durchlaufen bei der Initialisierung komplexere Methoden, die auch fehlschlagen können.
    Habe ich hier dann drei Testklassen?


    Oder habe ich hier eine Testklasse, die zuerst auf den Button1 drückt, ActivityB initialisieren lässt und schaut, ob das erfolgreich war. Das selbe noch mit ActivityC ?

  • Im Prinzip hast Du TestActivity1, TestActivity2 und TestActivity3, die ausschließlich die jeweilige Activity testen.


    Grundidee dahinter: Wenn jede Activity für sich perfekt läuft, ändert sich das auch nicht, wenn sie von irgendwo aufgerufen wird.


    Anschließend musst Du natürlich selbst mal schauen, ob die Verbindungen der Activities laufen.
    Entweder per Hand oder automatisiert, beispielsweise mit Appium.


    Auf jeden Fall musst Du die Abläufe auch von Hand durchgehen, damit Du auch siehst, wie das Ganze auf dem Gerät aussieht.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • also muss ich doch eine TestKlasse schreiben, die jetzt nicht die einzelnen Activities durchtestet, sondern einfach die Activities unter bestimmten Bedienungen aufruft und wieder schließt, ohne jetzt jede Methode der jeweiligen Activity zu testen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!