SE2
SE2
SE2
-
- 1 / 23
-
Lernkarten
WMC
Weighted Methodes per Class: Summe der McCabe Ergebnisse der Methoden einer Klasse.
DIT
Depth in Inheritance Tree: Tiefe der Klassen ohnen Interfaces.
NOC
Number of Children of a Class: Anzahl der direkten unterklassen
CBO
Coupling between Objects: Mit wieviel Klassen steht die klasse in Verbindung. Alle Striche die rein oder raus gehen.
LCOM
Lack of Cohesion On Methods: LOCM = max(|P|-|Q|,0)
P= Menge der Methodenpaare die auf dieselben Instanzvariablen zugreifen.
Q= Menge aller Methodenpaare, die auf mindesten eine gemeinsame Instanzvariablen zugreifen,
Heuristiken zur Gestaltung von UI
- Verdichtete Informationen
- Gesetz der Nähe
- Verwendung von Tabellen
- Strukturelle Wiederholung
- Statusanzeige
- Fortschrittsanzeige
- Rückkehr an einen sicheren Ort
- Unterstützung des Benutzers bei Fehlerfällen
Capture & Replay:
Aufzeichnung von Maus &Tastatur und Wiedergabe
Vorteil: einfach zu bedienen / Installieren, Kostengünstig
Nachteil: bei Unterschiedlichen Auflösungen problematisch, schlecht lesbare Testskripte
API-basierter Zugriff:
Navigation auf Elemente z.B.HTML
Auslesen oder Befüllung der Elemente
Vorteil: unabhängig von Auflösung und Größe
Nachteil: komplizierte Verwendung, Kenntnisse in der Struktur der Seite notwendig.
Selenium IDE
Firefox-Plugin, Capture & Replay
Definition von Assertion welche Prüfungen durchführen
Schwächen:
-Eingaben und Eingabefelder werden häufig nicht erkannt(XPath || CSS)
-Muss Häufig manuell Nachbearbeitet werden z.B. Single-Page-Applikationen
-Muss auf Client Seinte ausgeführt werden.
-Testskript wenig verständlich
-Nur für FireFox
Zugriff auf die Sessin:
Über die Methode der Klasse VaadionSession:
VaadinSession.getCurrent();
Über die Methode der Klasse UI:
UI.getCurrent().getSession();
Session Objekt holen:
VaadinSession session = UI.getCurrent().getSession();
Session Atribut setzen:
session.setAttribute( „current-User“ , user);
Ablauf laden Von Vaadin
Der erste Request Lädt die Client-Side-Engine
Client-Side Engine ist auf JavaSript basis;
In deiser Lädt die Loader Page, welche wiederum die das WidgetSet lädt.
Navigator anlegen
n der UI-Klasse
Navigator navi = new Navigator ( this, this);
//Registrierung der einzelnen Views:
navi.addViw( „main“, MainView.class);
Navigation zu einer Seite/View
UI.getCurrent().getNavigator().navigateTo( „main“);
Ablauf einer Kopie bei GIT
Working-Directory: Kopie einer Version (PC Festpallter)
mit „git add” kommt das in
Staging Area:
mit „git commit“ wird das ins
Directory (HEAD) übertragen
Mit „git push“ geht das auf das
remote Repository
mit „git Pull“ geht das auf das
Directory (HEAD) und macht ein Merge mit dem Working-Directory
git clone
Erstellung (checkaout) einer Lokalen Arbwitskopie (clone)
eines bestehenden(entfernten) Repository
git Checkout
Wechseln vom Branch. Mit -b dahinter wird eine neuer Branch erstellt
was ist Maven
Build-Tool
Default Build Phasen
- validate
- compile
- test
- package
- integration-test
- verify
- install
- deploy
POM
Konfigurationsdatei für das Projekt (basiert auf XML).
Zustandsdiagramm
Aktivitäten, die in den Zuständen ausgeführt werden
entry / Aktivität (Wird beim Eingang in den Zustand ausgeführt)
exit / Aktivität (Wird beim Verlassen des Zustands ausgeführt)
do / Aktivität (Wird ausgeführt, während das Objekt sich in Zustand befindet)
Mögliche Elemente bei einem Zustandsübergang (transition)
Ereignis(Argumente) [Bedingung] / Aktivität
Bedingung wird nur dann geprüft, wenn ein zugeordnetes Ereignis eintritt
Die wichtigsten SOFIST Regelen
Formulieren sie jede Anforderung im Aktiv (Regel 1)
Drücken sie Prozesse durch gute Vollverben aus (Regel 2)
Lösen sie Nominalisierungen auf (Regel 3)
Analysieren sie fehlende Informationen zum Prozesswort (W-Fragen) (Regel 6)
Klären sie Mengen- und Zahlwörter (Regel 10 und 11)
Hinterfragen sie schwammige Substantive (Regel 12)
Klären sie fehlende Bedingungen (Regel 17)