90 likes | 282 Views
Systementwicklung PHP Basics und Funktionale Unit Tests. Prof. Dr.-Ing. Axel Benz, Berlin School of Economics. Während der Prototypen-Phase „quick and dirty“. Struktur der Softwareentwicklung. Strategien zum Umgang mit Komplexität. Vorgehensmodelle (V-Modell, Unified Process). Analyse.
E N D
SystementwicklungPHP Basics und Funktionale Unit Tests Prof. Dr.-Ing. Axel Benz, Berlin School of Economics syst_02_php_basics.ppt
Während der Prototypen-Phase „quick and dirty“ Struktur der Softwareentwicklung Strategien zum Umgang mit Komplexität Vorgehensmodelle (V-Modell, Unified Process) Analyse Entwurf Implementierung Test E/R-Modelle Objekt-orientierte Modellierung Architektur Schichten- modelle ... Papier-Prototypen Fragebögen Long Term Forecast Activity Analysis Try it yourself Card Sort Error Analysis Szenario Rollenspiel Konkurrenzanalyse 5 Mal warum? Programmierung Unit Tests ... Black Box Test Zweig-abeckung Systemtest Benutzer-test syst_02_php_basics.ppt
Ziel • Welche Testfälle müssen abgeprüft werden? • Wie laufen Unit Tests ab? • Begriffe: Black Box Test, White Box Test, Zweigabdeckung. syst_02_php_basics.ppt
Black Box Test • Aus Sicht des Benutzers • Programm-Interna werden ignoriert • Testdaten (Eingabe): • Normalfall • Spezialfälle • Fehleingabe • Grenzen zwischen Normalfall/Spezialfall und Fehleingabe von beiden Seiten (Bsp: 22.5.2008, 38.7.2008, 0.1.2008, 1.1.2008, 30.6.2008, 31.6.2008) Frage: Die obigen Daten gehören zu: Normal, Fehler, Grenze von unten, Grenze von oben? syst_02_php_basics.ppt
White Box Test • Aus Sicht den Entwicklers • Eingabedaten werden so gewählt, dass verschiedene Wege durch das Programm durchschritten werden. • Mindestens notwendig: Zweigabdeckung = Jede Codezeile wurde mindestens einmal im Test durchlaufen. syst_02_php_basics.ppt
Das Ablaufmodell von PHP-Dateien • Browser schickt Request an Webserver z.B. durch Klick eines Links. • Webserver analysiert Request und stellt fest, dass es sich um eine PHP-Datei handelt. • Webserver übergibt die PHP-Datei an den PHP-Interpreter. • PHP-Interpreter führt die Datei aus. • PHP-Interpreter gibt seine Ausgabe zurück an den Webserver. • Webserver schickt die Ausgabe zurück an den Browser. • Browser stellt Ausgabe dar (oder interpretiert sie, wenn es sich um JavaScript handelt). • Fazit: Keine Endlosschleifen, keine eventgesteuerte Programmierung, kein Warten auf Benutzereingabe. PHP-Programme lesen den Input, berechnen den Output und beenden sich selbst (wie die ersten Programme, die Sie auf Java geschrieben haben). IMMER! • Fazit 2: PHP-Programme sollten ihren Output in HTML mitteilen. syst_02_php_basics.ppt
Design und Durchführung eines Unit Tests am Beispiel einer PHP-Aufgabe. • Vorführung. (Siehe homework / axel_benz ) • Aufgabe: Webseite für die Fahrtkostenberechnung. • Eingabe: Kilometer, Verbrauch, Literpreis • Ausgabe: Preis • Für alles über 100 Liter gibt es einen Rabatt von 10% • Für alles über 500 Liter gibt es einen Rabatt von 20% Vorgehensweise: • Funktionsentwicklung • Unit Tests für Funktion • Webseitenentwicklung • Unit Tests für Webseite Achtung SimpleTest Bug: Testmethode darf nicht den gleichen Namen haben wie Testklasse! syst_02_php_basics.ppt
Ziel • Welche Testfälle müssen abgeprüft werden? • Wie laufen Unit Tests ab? • Begriffe: Black Box Test, White Box Test, Zweigabdeckung. syst_02_php_basics.ppt
Hausaufabenbetreuung • bis gleich in meinem Büro! syst_02_php_basics.ppt