OrgaMon-FS: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:
  type
  type
   tTestProc = procedure (Path: string) of object;
   tTestProc = procedure (Path: string) of object;
   tSelfTestProc = function : TStringList of object;
   tSelfTestProc = function : TStringList of object; // noch nicht implementiert
   
   
  // Registration beim CareTaker
  // Registration beim CareTaker
  //
  //
   procedure addTest(NameSpace:string; test: tTestProc); overload;
   procedure addTest(NameSpace:string; test: tTestProc); overload; // noch ohne Funktion
   procedure addTest(NameSpace:string; test: tSelfTestProc); overload;
   procedure addTest(NameSpace:string; test: tSelfTestProc); overload; // noch ohne Funktion


  // Hilfs-Funktionen, Damit können sich fsTest-Implementierungen  
  // Hilfs-Funktionen, Damit können sich fsTest-Implementierungen  
  // unabhängig von Datei-Operationen machen
  // unabhängig von Datei-Operationen machen
  function getQuestion(Path:string):TStringList;
  function getQuestion(Path:string):TStringList; // noch keine Idee zur Anwendung
  procedure setAnswer(sAnswer:TStringList);
  procedure setAnswer(sAnswer:TStringList); // noch keine Idee zur Anwendung


== Vorbereitungen ==
== Vorbereitungen ==

Version vom 3. November 2009, 18:18 Uhr

Die OrgaMon-FS (FS= Funktions Sicherstellung) hat die Aufgabe sicherzustellen dass eine neue OrgaMon-Version allen Anforderungen genügt, die an sie gestellt werden. Durch den release-Fortschritt müssen Regressionen verhindert werden. Dies gelingt durch automatisierte Tests. Dazu sollten sich OrgaMon-Bereiche beim CareTaker registrieren, beim OrgaMon-Selbsttest werden Tests dieser Bereiche initiert. Die Registrierfunktion und der Registirieprotoyp lauten

// Prototypen, Test-Bereiche können "fsTest" oder "fsSelfTest" implementieren
type
 tTestProc = procedure (Path: string) of object;
 tSelfTestProc = function : TStringList of object; // noch nicht implementiert

// Registration beim CareTaker
//
  procedure addTest(NameSpace:string; test: tTestProc); overload; // noch ohne Funktion
  procedure addTest(NameSpace:string; test: tSelfTestProc); overload; // noch ohne Funktion
// Hilfs-Funktionen, Damit können sich fsTest-Implementierungen 
// unabhängig von Datei-Operationen machen
function getQuestion(Path:string):TStringList; // noch keine Idee zur Anwendung
procedure setAnswer(sAnswer:TStringList); // noch keine Idee zur Anwendung

Vorbereitungen

  1. svn-Checkout des svns "svn://orgamon.de/fs"
  2. starte einen beliebigen OrgaMon-Mandanten und setze System->FunktionsSicherstellungsPfad auf deinen ausgecheckten Pfadnamen (Slash am Ende nicht vergessen!)
  3. gehe nach Ticket->Funktions Sicherstellung->Tests starten

-> wenn keine Fehler kommen ist alles in Butter!

Verzeichnis-Struktur der Tests

-~NameSpace~-
 {
 -~AussagekräftigerTestname~
   -Soll-Ergebnis
 }


  • Namespace: Jede Unit oder Teilfunktionalität inerhlab des OrgaMon registriert seine Test-Fähigkeit beim Test-Agenten unter einem Namespace. "Oc" (Orientation-Convert) war der erste Namespace der in die Testsuite aufgenommen wurde. Inerhalb eines Name-Space werden so auch thematisch die gleichen Tests durchgeführt - z.B. Finanz-Mathematik oder OLAP.
  • AussagekräftigerTestname: Name eine Unterverzeichnisses des NameSpace. Ein Test benötigt 1 Unterverzeichnis. In diesem Verzeichnis liegen alle Rohstoffe, die zum Ablauf des Testes notwendig sind. Wie diese Verarbeitet werden ist Sache des Tests. Auch werden die Testergebnisse in dieses Verzeichnis gespeichert.
  • Soll-Ergebnis Hier liegt eine oder mehrere Dateien, die nach einer erfolgreichen Durchführung eines Testes (in der regel im Rahmen der Einfühtrung eines neuen TEstes) gesichert wurde. Das "Soll-Ergebnis" legt offen wie genau die Ergebnis-Datei aussehen muss, so dass der Test als Erfolg gilt. "Soll-Ergebnis" spiegelt die Erwartungshaltung des Testsausganges wider.