Testerstellung vereinfachen

Testen von Access-Anwendungen

Testerstellung vereinfachen

Beitragvon Josef Pötzl » Mi 3. Nov 2010, 21:21

Hallo!

Ich überlege, wie man die Erstellung von Testklassen vereinfachen könnte.

Grundidee: in einem beliebigen Code-Modul kann man per Kontext-Menü die Erstellung einer neue Testklasse bzw. einen Test-Methode zur aktiven Prozedur auslösen.

Ich stelle mir vor, dass vor der Erstellung der Testklasse eine Maske zur Eingabe der Texte kommt.
z. B.:
- Klassenname (Vorgabe = Name des Codemoduls + "Tests" am Ende)
- Name der Testmethode (3-teiliger Name wie von Paul im AEK-Vortrag vorgestellt)

Falls eine bestimmte Prozedur den Fokus hatte, könnte man auch gleich noch die Option für Row-Tests zur Verfügung stellen und automatisiert die Parameter mit der Row-Test-Konfiguration erzeugen.
Falls der Cursor nur im Header des Code-Moduls steht, könnte (optional) statt einer bestimmten Testmethode alle Public-Prozeduren (bzw. eine Auswahl davon) aus dem Codemodul als Test-Methoden in der Testklasse eingefügt werden.

Da mir noch die "Super-Idee" fehlt, wie ich das Formular gestalten könnte, freue ich mich über Vorschläge zum Layout bzw. um Hinweise, was man in so einem Formular sonst noch einstellen könnte. :)

mfg
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Re: Testerstellung vereinfachen

Beitragvon Paul Rohorzka » Mi 3. Nov 2010, 23:22

Hallo Josef!

Hier das Ergebnis meiner ersten Überlegungen zu dem Thema:
  • Name des Testmoduls (Textfeld, vorbelegt mit <MyModule>Tests
  • Auswahlmöglichkeit der Public/Friend Members
    • Tree mit Checkboxes gruppiert nach Methoden und Properties
    • Vorauswahl:
      • Alle Members bei Kontext Code-Modul (Deklarationsbereich)
      • Aktueller Member bei Kontext eines Members
  • Wenn genau ein Member ausgewählt die Eingabe der anderen beiden Bestandteile des Namens der Testmethode ermöglichen, sonst sind die Textboxen ausgegraut.
    • 2 Textboxes
      • StateUnderTest
      • ExpectedBehaviour

Der Dialog könnte in etwa so aussehen:
Bild

Fälle bezüglich Existenz des Testmoduls:
Testmodul
  • existiert
    • ist Standardmodul -> Option Klassenmodul daraus zu machen (Inhalt kopieren, Modul löschen, Klassenmodul gleichen Namens einfügen, Inhalt einfügen):
      Bild
    • ist Klassenmodul
      • ist AccUnit:TestClass -> nichts zu tun
      • ist nicht AccUnit:TestClass -> Option Testklasse daraus zu machen (AccUnit:TestClass-Attribut einfügen)
        Bild
  • existiert nicht
    • erstellen

Wenn in der Testklasse bereits ein Member mit Name der Testmethode existiert:
  • Bestehenden Member belassen
  • Neuen Member mit dem gewünschten Namen und angehängter Ziffer einfügen
    Code: Alles auswählen
    Public Sub MyMethod_WithNothing_ReturnsFalse1()
       ' ...
    End Sub
     

Zum Einfügen von RowTests würde ich eher einen eigenen Dialog nehmen.

LG,
P
Paul Rohorzka
Entwickler
 
Beiträge: 28
Registriert: Mo 7. Dez 2009, 12:38
Wohnort: Wien
Accessversion: Access 2003, 2010
Access-Erfahrung: Experte

Re: Testerstellung vereinfachen

Beitragvon Josef Pötzl » Do 4. Nov 2010, 09:28

Hallo Paul!

Zum Einfügen von RowTests würde ich eher einen eigenen Dialog nehmen.

Ich dachte nur, dass man zum Zeitpunkt der Test-Erstellung die zu testende Prozedur noch kennt und dann die Parameter für die Testmethode aus den Parametern der Prozedur auswählen könnte.
ProzedurParameter.gif
ProzedurParameter.gif (10.59 KiB) 17120-mal betrachtet

Wird es unübersichtlich, wenn man die Parameter auch im Baum auswählen kann?

Zum Erstellen der Row-Test-Zeilen würde ich auch zu einem extra Dialog tendieren, damit die Masken nicht zu voll werden.

mfg
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Re: Testerstellung vereinfachen

Beitragvon FireWalkerHH » Mi 24. Nov 2010, 11:05

Moin Moin,

das liest sich doch gar nicht so schlecht.

Bin gespannt was Ihr daraus macht!

Gruß aus Hamburg,
Thomas
Thomas Franzek

Diese Signatur wurde mit 100% chlorfrei gebleichten, glücklichen Elektronen erzeugt.
Diese entstammen keiner Lagerelektronenhaltung und werden nicht zu ihrer Arbeit gezwungen
FireWalkerHH
Entwickler
 
Beiträge: 57
Registriert: Mo 18. Okt 2010, 12:13

Re: Testerstellung vereinfachen

Beitragvon Josef Pötzl » Di 14. Dez 2010, 23:22

Hallo!

Der Dialog kann nun mit Version 0.9.4 getestet werden.
Wer noch Tipps zur Verbesserung der Bedienung hat - nur her damit, denn das Dingens ist noch nicht fertig. :)

mfg
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Re: Testerstellung vereinfachen

Beitragvon FireWalkerHH » Do 16. Dez 2010, 15:32

Mhh, magst Du mir verraten wie man an den Dialog ran kommt? Ich bin anscheinend gerade blind ...

Tante Edith sagt: Habs gefunden :shock:
Thomas Franzek

Diese Signatur wurde mit 100% chlorfrei gebleichten, glücklichen Elektronen erzeugt.
Diese entstammen keiner Lagerelektronenhaltung und werden nicht zu ihrer Arbeit gezwungen
FireWalkerHH
Entwickler
 
Beiträge: 57
Registriert: Mo 18. Okt 2010, 12:13

Re: Testerstellung vereinfachen

Beitragvon Josef Pötzl » Do 16. Dez 2010, 21:11

magst Du mir verraten wie man an den Dialog ran kommt?

Falls noch jemand danach sucht ;): über das Kontextmenü im VBA-Editor, wenn ein Code-Modul aktiv ist, das keine Testklasse ist.
Anm.: Ich werde das aber auch noch ins Hauptmenü einbauen.

Ein Video mit dem Einfügedialog: http://access-codelib.net/videos/AccUni ... egeDialog/

mfg
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016


Zurück zu AccUnit

cron