Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-07-2007, 23:53   #1 (permalink)
Flashinspector
 
Benutzerbild von ms_hh
 
Registriert seit: Jul 2003
Beiträge: 208
Flash Tests

Hallo,

ich muss mich gerade ein wenig ausgiebiger mit dem Thema Flash Tests auseinander setzen. Es geht darum automatisierte Regressionstests durchzuführen. Mir sind solche Tests nichts neues, ich kenne Sie aus der C Entwicklung. Ich mache mich nur gerade schwer diese Tests auf eine Flashapplikation anzuwenden.

Für die Systementwicklung (c) benutzte ich Mercury QuickTest oder SilkTest, aber lieber den Mercury.

Ich weiss, das Adobe so etwas in Verbindung mit Flex anbietet. Flex kommt mir aber nicht in die Tüte, sind verschiedene Dinge. Mir persönlich wäre es egal, ob diese Test nur in AS2 oder AS3 gehen.

Wenn jemand Möglichkeiten kennt, wäre ich sehr dankbar.

Hier mal meine Möglichkeit eines Regressionstests in Flash:
Im groben geht es darum, mit einem Mouse&Keyboard Recorder die "User" eingaben zu speichern. So habe ich die Möglichkeit immer gleiche Abläufe zu erstellen. An allen wichtigen "übergaben" (Usereingaben, Externe Daten oder Kommunikation mit dem Backend), fangen try-catch Konstrukte ab. Sobald eine Exception "geworfen" wird, wird auf dem Bildschirm (im TestModus) ein Roten Punkt (linke obere Ecke) angezeigt. Ausserdem wird der Exception-Message Text in den Clipboard gepackt.Das Tool http://macro-expert.com/index.html kann den Screen die ganze Zeit überwachen und bestimmte Farbwerte überprüfen. Mit diesem Tool überprüfe ich also, ob diesen Punkt. Wenn der Punkt irgendwann die Farbe #FF0000 hat, ruft das Tool per "run" ein Phyton-Logger auf, dem ich die Error-Message mit übergebe. So kann ich diesen Test protokollieren.

Die zweite Möglichkeit ist es Bildbereiche zu vergleichen. Das Tool kann, es muss natürlich vorher der Bildausschnitt definiert werden, den Screen analysieren und auf Veränderungen reagieren. In meinem Fall, würde ich für einen Testfall per Recorder z.B. einen Einlog Prozess aufnehmen. Am Ende des Prozesses soll auf dem Biuldschirm eine TextBox mit Text erscheinen. In dem Tool definiere ich nur diesen Bereich als mein Master und speichere den Bildausschnitt Lokal auf dem Rechner. Nun kann ich dem Tool die Anweisung geben, das gespeicherte Bild mit dem Ausschnitt auf dem Screen zu vergleichen (muss nicht 100% stimmen).

Die beiden Versionen haben natülich eine große Schwachstelle. Wenn die try-catch Konstrukte natürlich an den falschen Stellen sind, bringt das ganze Testen nichts.

Ich persönlich finde die zweite Möglichkeit am elegantesten, aber wenn jemand natürlich andere/bessere Möglichkeiten kennt, immer her damit.


Ach.. was mir da noch einfällt, UnitTest habe ich schon. Dort habe ich mir ein nettes TestFramework erstellt. So im Groben... Es werden halt TestKlassen erstellt, wo diverse Funktionen getestet werden. Da dies in der IDE aber nicht wirklich geht, sondern diese erst veröffentlichen muss, habe ich mit den MTASC zur hilfe genommen. Per Ant kann ich nun UnitTest automatisieren. Die Ausgabe der Test gebe ich an meinen Python-Socket-Server weiter, der die Test-Protokolle auch gleich als "myArrayCollectorTest.as.log" speichert. Besteht da evtl. noch mehr interesse?

Viele Grüße
Markus
__________________
WEFWEF
ms_hh ist offline   Mit Zitat antworten
Alt 25-07-2007, 11:41   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
In Flex funktioniert es auf der Ebene der UI-Componenten. Jede Komponente bekommt zur Laufzeit einen Delegate zugeteilt, der die ausgehenden Events der Komponente an die Testschnittstelle weiterleitet.
Die Doku zum Automation-Framework ist vielleicht interessant, um noch mehr darüber zu erfahren. Hier ist der direkte Link:
http://www.adobe.com/go/flex_automation_api

Noch ein paar Beispiele gibt es hier:
http://www.adobe.com/devnet/flex/?tab:samples=1

Ich weiss, du willst kein Flex benutzen, aber vielleicht hilft es ja trotzdem, sich die Beispiele mal anzuschauen.

Cheers,
Ralf.
bokel ist offline   Mit Zitat antworten
Alt 25-07-2007, 12:57   #3 (permalink)
Flashinspector
 
Benutzerbild von ms_hh
 
Registriert seit: Jul 2003
Beiträge: 208
Hi Bokel,

danke - ich werde mit die Links mal anschauen.

Gruß
Markus
__________________
WEFWEF
ms_hh ist offline   Mit Zitat antworten
Alt 25-07-2007, 14:21   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg
Beiträge: 4.385
Mir fällt nur das hier ein: http://osflash.org/autotestflash
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2014 Marc Thiele