Amélioration de la préparation de commandes avec sap lesitelligence France
Ce document est le support de l’atelier « L’amélioration de la préparation de commande dans un centre de distribution avec SAP LES » réalisé lors de l’édition 2011 de la Convention USF – 5 et 6 octobre 2011, Palais des congrès de Strasbourg.
Déterminer si un article est critique, par une une grille de décision adaptée à chaque environnement permettra d’évaluer la criticité relative de chacun des articles ou équipements.
Optimisation et planification optimale multi-objectifsOlivier Orfila
Cours magistraux Evry M2 recherche. Module Perception-cartographie-planification. Ce cours introduit les bases de l'optimisation et de la planification et les appliquent à la planification multi-objectifs pour les trajectoires de véhicules autonomes.
Aggregator Leaf Tailer: Bringing Data to Your Users with Ultra Low LatencyScyllaDB
theScore is one of the leading sports news and media platforms in North America. With the recent growth of sports betting, theScore is diving in head-first. Province and state regulations often enforce strict data-locality requirements often prohibiting the use of centralized hosted data storage solutions.
In this talk, we'll learn how theScore built Datadex, a geographically distributed system for low-latency queries and real-time updates. We'll touch on the architecture of the system (Aggregator Leaf Tailer), the underlying technologies (RocksDB, Kafka, and the JVM), as well as some nitty-gritty tips for optimizing the JVM and RocksDB for high throughput.
La Car Policy est le catalogue de véhicules proposé par le gestionnaire de flotte d'une entreprise à ses collaborateurs pouvant bénéficier d'un véhicule de fonction. Cette grille d'attribution est établie en regard de nombreux critères comme le TCO, le respect de l'environnement, l'image de l'entreprise, l'attractivité des modèles aux yeux des salariés et les négociations avec les loueurs/concessionnaires.
Amélioration de la préparation de commandes avec sap lesitelligence France
Ce document est le support de l’atelier « L’amélioration de la préparation de commande dans un centre de distribution avec SAP LES » réalisé lors de l’édition 2011 de la Convention USF – 5 et 6 octobre 2011, Palais des congrès de Strasbourg.
Déterminer si un article est critique, par une une grille de décision adaptée à chaque environnement permettra d’évaluer la criticité relative de chacun des articles ou équipements.
Optimisation et planification optimale multi-objectifsOlivier Orfila
Cours magistraux Evry M2 recherche. Module Perception-cartographie-planification. Ce cours introduit les bases de l'optimisation et de la planification et les appliquent à la planification multi-objectifs pour les trajectoires de véhicules autonomes.
Aggregator Leaf Tailer: Bringing Data to Your Users with Ultra Low LatencyScyllaDB
theScore is one of the leading sports news and media platforms in North America. With the recent growth of sports betting, theScore is diving in head-first. Province and state regulations often enforce strict data-locality requirements often prohibiting the use of centralized hosted data storage solutions.
In this talk, we'll learn how theScore built Datadex, a geographically distributed system for low-latency queries and real-time updates. We'll touch on the architecture of the system (Aggregator Leaf Tailer), the underlying technologies (RocksDB, Kafka, and the JVM), as well as some nitty-gritty tips for optimizing the JVM and RocksDB for high throughput.
La Car Policy est le catalogue de véhicules proposé par le gestionnaire de flotte d'une entreprise à ses collaborateurs pouvant bénéficier d'un véhicule de fonction. Cette grille d'attribution est établie en regard de nombreux critères comme le TCO, le respect de l'environnement, l'image de l'entreprise, l'attractivité des modèles aux yeux des salariés et les négociations avec les loueurs/concessionnaires.
Kubernetes es mas conocido por hacer despliegues de contenedores no dependientes del estado, pero tambien es capaz de manejar cargas de trabajo que dependen del estado, como las bases de datos. Con Kubernetes es muy facil tener aplicaciones que tengan alta disponibilidad y que los cambios se hagan de una forma transparente. Pero, ¿Podemos/Queremos tener estos beneficios para las bases de datos? ¿Que pasa con los servicios gestionados como Azure SQL? En esta sesion mi objetivo es introducirte al mundo de Kubernetes respecto al manejo de aplicaciones dependientes del estado y cuales son las opciones junto a los conceptos que existen en el ecosistema. Luego, a travez de una demostracion podras ver si te vale desplegar tu base de datos en Kubernetes, o no.
'Blattschmuck' means colour, shape, form and structure of plantleafs. Designing with plants and trees of different kinds. Pictures and text - german language.
Laurustico, Manuela Husmann, Hamburg, Germany
MY PICK OF THE REAL PARADISE GARDENS OF THE WORLD
The gardens of the Emperors and Nobles were designed for recreation and aesthetic pleasure, while the gardens of temples were designed for contemplation and meditation. All these involve a creative way of designing the landscape with manicured grass, hedges and blooming flowers. However the Japanese have mastered the art of real serene natural gardens surrounding silent ponds and lakes. The Italians have created the rennaisance gardens with sculptures and fountains with the lead from Michael Angelo, though the French have maintained a blend of traditional and modern themes with the best gardens of the world.
Well considering all that is beautiful in outdoor gardening, here are my pick of the best floral and natural gardens of the world.
With the best of regards.
TONY CHACKO
tonychacko2000@gmail.com
It is difficult to imagine the Palace of Versailles without its garden. The garden defines Versailles as much as the palace. The garden is huge. Unless you live in Paris you are unlike to visit all the fountains, the avenues and the groves. The garden is as much as a sculpture garden as it is as a water garden. There are many sculptures and most of them are copies or modelled from ancient Greek sculptures. The Apollo theme run through the entire garden. Starting at the Latona Fountain when he was a boy. Slaining the dragon when he was a young man, hence the Dragon Fountain. Finally in his popular role as the Sun God, driving his flaming chariot across the sky. The Apollo fountain is the focal point. It is as important to the garden as the Hall of Mirror to the palace. It connects the Sun King, Louis XIV with the Ancient Greek Sun God of Apollo. Thus connect the glory of the Sun King with the glory of Ancient Greece.
Kubernetes es mas conocido por hacer despliegues de contenedores no dependientes del estado, pero tambien es capaz de manejar cargas de trabajo que dependen del estado, como las bases de datos. Con Kubernetes es muy facil tener aplicaciones que tengan alta disponibilidad y que los cambios se hagan de una forma transparente. Pero, ¿Podemos/Queremos tener estos beneficios para las bases de datos? ¿Que pasa con los servicios gestionados como Azure SQL? En esta sesion mi objetivo es introducirte al mundo de Kubernetes respecto al manejo de aplicaciones dependientes del estado y cuales son las opciones junto a los conceptos que existen en el ecosistema. Luego, a travez de una demostracion podras ver si te vale desplegar tu base de datos en Kubernetes, o no.
'Blattschmuck' means colour, shape, form and structure of plantleafs. Designing with plants and trees of different kinds. Pictures and text - german language.
Laurustico, Manuela Husmann, Hamburg, Germany
MY PICK OF THE REAL PARADISE GARDENS OF THE WORLD
The gardens of the Emperors and Nobles were designed for recreation and aesthetic pleasure, while the gardens of temples were designed for contemplation and meditation. All these involve a creative way of designing the landscape with manicured grass, hedges and blooming flowers. However the Japanese have mastered the art of real serene natural gardens surrounding silent ponds and lakes. The Italians have created the rennaisance gardens with sculptures and fountains with the lead from Michael Angelo, though the French have maintained a blend of traditional and modern themes with the best gardens of the world.
Well considering all that is beautiful in outdoor gardening, here are my pick of the best floral and natural gardens of the world.
With the best of regards.
TONY CHACKO
tonychacko2000@gmail.com
It is difficult to imagine the Palace of Versailles without its garden. The garden defines Versailles as much as the palace. The garden is huge. Unless you live in Paris you are unlike to visit all the fountains, the avenues and the groves. The garden is as much as a sculpture garden as it is as a water garden. There are many sculptures and most of them are copies or modelled from ancient Greek sculptures. The Apollo theme run through the entire garden. Starting at the Latona Fountain when he was a boy. Slaining the dragon when he was a young man, hence the Dragon Fountain. Finally in his popular role as the Sun God, driving his flaming chariot across the sky. The Apollo fountain is the focal point. It is as important to the garden as the Hall of Mirror to the palace. It connects the Sun King, Louis XIV with the Ancient Greek Sun God of Apollo. Thus connect the glory of the Sun King with the glory of Ancient Greece.
Introduction,
history,
Characteristics features,
Planning,
Influences and principles of the garden,
Elements of Italian garden,
The contemporary garden,
Tuscan style garden,
Division of Italian Renaissance Gardens- 1.Gardens of the Early Italian Renaissance
2. Gardens of the High Renaissance
3.Mannerism and the Gardens of the Late Renaissance,
Other examples of the italian garden,
Some Featured plants,
Der öffentliche Auftraggeber ist gemäß dem Grundsatz der Transparenz verpflichtet das Vergabeverfahren zu dokumentieren. Die Dokumentation muss aber zeitnah erfolgen und muss laufend fortgeschrieben werden.
Die Dokumentation muss die einzelnen Stufen des Vergabeverfahrens mit den wesentlichen Feststellungen und Begründungen der einzelnen Entscheidungen enthalten. Die Angaben müssen detailliert genug sein, um nachvollziehbar zu sein.
A power workshop during JAX 2007 on advanced techniques of test-driven development. It deals with acceptance tests using FIT as well as with mock objects, GUI testing and Groovy as a testing language for Java.
Testgetriebene Entwicklung mit Jasmine und Karma hat sich mittlerweile schon als defacto-Standard etabliert. Routinen ohne Abhängigkeiten lassen sich damit ohne Probleme testen. Die Schwierigkeiten beginnen jedoch schon, wenn es um die Auflösung von Abhängigkeiten geht. In diesem Vortrag werden verschiedene Strategien und Werkzeuge vorgestellt, mit denen Abhängigkeiten zu Objekten und Funktionen oder zum Server abgedeckt werden können. Aber nicht nur Abhängigkeiten stellen Schwierigkeiten bei der testgetriebenen Entwicklung dar, auch der Umgang mit Fixtures ist bei der testgetriebenen Entwicklung mit JavaScript relevant. Abgerundet wird dieser Vortrag mit einigen Best Practices für die testgetriebenen Entwicklung mit JavaScript.
Die 2016 gegründete und inzwischen in der Eclipse Foundation beheimatete Initiative MicroProfile ist angetreten, die Lücke zwischen dem Enterprise-Java-Standard (Java EE aka EE4J) und den Praxisanforderungen Microservices-basierter Architekturen zu schließen. Das bestehende Momentum der JEE-Community als Hebel nutzen und organisch um den Bedarf der Microservices-Community ergänzen, so der Plan. Und dieser Plan scheint aufzugehen. In nur wenigen Monaten ist es gelungen, eine Reihe sinnvoller Microservices-relevanter APIs mit bestehenden Java-EE-7/8-APIs zu kombinieren und diese in regelmäßigen MicroProfile-Releases zu veröffentlichen. Egal ob Health Check, Metrics, Fault Tolerance, JWT Propagation, Configuration, Tracing oder Open API, MicroProfile scheint die richtigen Antworten – sprich APIs – im Gepäck zu haben. Die Session zeigt den aktuellen Stand von MicroProfile und demonstriert dessen Mehrwert anhand praktischer Beispiele.
Features einer Applikation werden häufig implementiert, weil die Verantwortlichen vermuten, dass diese Funktionalitäten einen Mehrwert für die Benutzer der Applikation bieten. Je nach Umfang wird mehr oder weniger Geld investiert. Ohne weitere Unterstützung sind und bleiben es jedoch Vermutungen. Eine bessere Lösung bieten hier A/B-Tests. Features werden kostengünstig in einer oder mehreren Varianten umgesetzt und mit einer Kontrollimplementierung verglichen. Die Umsetzung, die sich als die beste herausstellt, wird überarbeitet und bleibt in der Applikation erhalten. Diese Vorgehensweise lässt sich sehr gut in node.js-Applikationen integrieren. Mithilfe von A/B-Tests können Sie Ihre Applikation an den Anforderungen Ihrer Benutzer ausrichten.
Die Folien zu meinem Vortrag "Clean Test Code" auf den Clean Code Days 2014 in München: http://www.cleancode-days.de/vortraege/articles/clean-test-code.html
Viele Softwareprojekte starten mittlerweile mit dem Anspruch testgetrieben entwickelt zu werden. Der Anfang gestaltet sich in der Regel einfach und die Entwickler erkennen schnell die Vorzüge von TDD. Leider kommt es in vielen Fällen im Laufe der Zeit dazu, dass die Wartung der Tests mehr und mehr Zeit in Anspruch nimmt. Die Entwickler sind frustriert und TDD wird vom Management als „zu wartungsintensiv“ abgewiesen.
Ziel dieses Vortrags soll es sein, dort einzusteigen wo Tutorials und Einsteigerseminare und -bücher aufhören. Wir wollen dem erfahrenen Entwickler Tools und Vorgehensweisen an die Hand zu geben, um diesem „Wartungsalbtraum“ zu entgehen. Das echte Leben ist komplexer als das Taschenrechnerbeispiel!
Cloud Native & Java EE: Freund oder Feind?QAware GmbH
JavaLand 2017, Brühl: Vortrag von Josef Adersberger (@adersberger, CTO bei QAware)
Abstract:
Anwendungen nativ für den Betrieb in der Cloud auszulegen, ist der Architekturstil der Stunde: Microservices, 12-Factor Apps und Serverless-Architecturen sind en vogue. Daneben gibt es Java EE, das sich über Jahre bewährt hat beim Bau von Java-Anwendungen fürs Unternehmen. Java-EE-Anwendungen im modernen Cloud-Native-Stil zu entwickeln ist kein Widerspruch, sondern ein Zugewinn: Man kann damit Enterprise-Anwendungen bauen, die reif für die Cloud-Ära sind.
Der Vortrag zeigt am laufenden Beispiel, wie man eine Cloud-Native-Java-EE-Anwendung entwickelt und wie sich Java-EE-APIs wie JAX-RS, CDI und JPA integrieren mit Cloud-Native-Infrastruktur wie DC/OS, Kubernetes, Hystrix, Traefik, Consul und Docker. Dabei wird nicht nur blanke Technologie gezeigt, sondern auch das Thema Cloud Native Java EE auf Architekturebene betrachtet.
Anwendungen nativ für den Betrieb in der Cloud auszulegen, ist der Architekturstil der Stunde: Microservices, 12-Factor Apps und Serverless-Architecturen sind en vogue. Daneben gibt es Java EE, das sich über Jahre bewährt hat beim Bau von Java-Anwendungen fürs Unternehmen. Java-EE-Anwendungen im modernen Cloud-Native-Stil zu entwickeln- ist kein Widerspruch, sondern ein Zugewinn: Man kann damit Enterprise-Anwendungen bauen, die reif für die Cloud-Ära sind.
Der Vortrag zeigt am laufenden Beispiel, wie man eine Cloud-Native-Java-EE-Anwendung entwickelt und wie sich Java-EE-APIs wie JAX-RS, CDI und JPA integrieren mit Cloud-Native-Infrastruktur wie DC/OS, Kubernetes, Hystrix, Traefik, Consul und Docker. Dabei wird nicht nur blanke Technologie gezeigt, sondern auch das Thema Cloud Native Java EE auf Architekturebene betrachtet.
Ähnlich wie Einführung Software Testing und Qualitätssicherung (20)
Um agile Entwicklung sinnvoll in einem Projekt zu ermöglichen, spielt die Architektur des Systems eine entscheidende Rolle. In einem agilen Projekt sind Architektureigenschaften wie Installierbarkeit und Prüfbarkeit entscheidend, da die Software in kurzen Abständen regelmäßig geliefert und im besten Fall dem Endnutzer zur Verfügung gestellt wird. Diese kurzen Releasezyklen gelingen nur durch ein hohes Maß an Automatisierung. Agile Projekte benötigen bereits passende Lösungsansätze in der Architektur, die es erlauben eine Continous Delivery Pipeline möglichst einfach zu realisieren; das Architekturmuster „Microservices“ versucht u.A. diesen Anforderungen gerecht zu werden.
Weitere Vorteile des Architekturmusters ergeben sich bei der Skalierung von Projekten. Durch den Einsatz von „Microservices“ können Projekte einfach aufgeteilt und parallel von mehreren Cross-Functional Teams mit agilen Methoden umgesetzt werden.
Die Idee eines Microservice ist nicht neu: das System wird in kleine, losgelöste Anwendungen (sog. Microservices) aufgeteilt. Diese Bausteine stellen Ihre Funktionalität als Service zur Verfügung. Der Vortrag gibt einen Praxiseinblick, auf welche Weise man vom Einsatz des Architekturmusters „Microservice“ in einem agilen Projektumfeld profitieren kann. Es wird aufgezeigt, wo sich in der Praxis Schwierigkeiten ergeben und wie man diesen vorbeugen kann. Der gesamte Vortrag gibt einen grundlegenden Einblick in die agile Entwicklung auf Basis einer Microservice-Architektur.
7. Entity
•Entity hat immer einen eindeutigen Schlüssel (ID)
dieser identifiziert die Entität
•Equals auf Basis der ID...
8. Entity Manager
•API bietet alle Funktion für den Datenbankzugriff:
•persist
•remove
•createQuery
•merge
•findXXX
•....
9. Entity Manager
•Wenn die Objekte (Entity Klassen) auch als Daten
Transfer Objekte genutzt werden sollen können
sie vom Entity Manager gelöst werden man spricht
von detached Entities!
11. Übungen I
•Erweitern Sie Ihre Aufgaben Verwaltung um eine
Datenbank Anbindung mittels JPA
•Schritt 1. Domain Modell markieren mit den JPA
Annotationen für das OR Mapping...
•Schritt II. Repository Funktionen zum speichern
und laden einer Aufgabe umsetzen...
13. Was ist Software Qualität ?
Funktionalität - Software sollte die spezifizierten Use-
Cases / Anforderungen implementieren.
4+4=9
14. Was ist Software Qualität ?
Benutzbarkeit vorgegebenen Use-Cases lassen sich
effektiv, effizient und zufriedenstellend bedienen.
Benutzbarkeit betrifft nicht nur grafische
Benutzerschnittstellen z.B. auch APIs...
Die Benutzbarkeit richtet sich nach dem
Anwendungsfall...
15. Was ist Software Qualität ?
Zuverlässigkeit wie verlässlich eine Anwendung in einem
Zeitintervall ihr Funktionalität erfüllt
16. Was ist Software Qualität ?
Portabilität - der Grad der Plattformunabhängigkeit eines
Computerprogramms
Portabilität - Die Anwendung läuft auf
Linux, MAC und auf Ihrem Android Mobil
Phone ...
17. Was ist Software Qualität ?
Wartbarkeit - zeigt an, mit welcher Energie und welchem
Erfolg Änderungen in einem Systemzusammenhang von
Applikationen durchgeführt werden können.
18. Was ist Software Qualität ?
Effizienz - Performance und verbrauchte Ressourcen
19. Was ist Software Qualität ?
Funktionalität
Effizienz
Wartbarkeit
Zuverlässigkeit
Portabilität Benutzbarkeit
20. Was soll sichergestellt werden?
Fehlerwirkung (Failure)
Nach außen sichtbare Fehlverhalten
Fehlerzustand (Bug)
Zustand in der Anwendung der zu einer
Fehlerwirkung führen kann.
Fehlhandlung (Error, Misstake)
Irrtum bei der Software-Entwicklung.
Fehlermaskierung
Wirkung eines Fehlers (Fehlerzustand) ist nach außen nicht sichtbar, weil er durch
einen weiteren Fehler verborgen (überlagert / maskiert) wird.
21. Wege zu guter Software
analytische Qualitätssicherung
Methoden die dazu dienen eine Anwendung strukturiert
(analytisch) nach Fehlerwirkungen, Fehlerzuständen und
Fehlermaskierung zu untersuchen. Die Qualität wird gemessen.
Anzahl der Fehlerwirkungen, Fehlerzuständen und konstruktive
Fehlermaskierung bestimmt.
Qualitätssicherung
Methoden die dazu dienen die Wahrscheinlichkeit für
Fehlhandlungen zu minimieren. D.h. die Methoden führen dazu dass
es zu einer geringeren Fehlerwahrscheinlichkeit im Projekt kommt.
22. Kosten zur Fehlerbehebung
Kosten (€)
Fehler frühzeitig in einem Projekt
(Entwicklungsprozess) zu finden spart Geld !!!
Anforderungsanalyse Systementwurf Umsetzung Integrationstest Systemtest Betrieb
24. Komponententest Charakter
•Was wird getestet ? (Testobjekt)
-Klasse / Komponente (mehre Klassen mit definierter Schnittstelle)
•Wer testet? (Tester)
-Entwickler (White-Box / Gray-Box) / Tester (Black-Box)
•Welche Qualitätseigenschaft (ISO9126) wird geprüft?
-Funktionalität, Robustheit, Effizienz
•Mit welchen Werkzeugen wird getestet?
-xUnit Frameworks und Coverage Messung z.B. Cobertura, Emma
25. Test Design Pattern vier Phasen Test
Setup
SUT in einen definierten Zustand bringen.
Exercise
SUT aufrufen mit Test Parametern (Daten).
Verify
Prüfen ob das SUT im erwarteten Zustand ist.
Teardown
SUT und Testumgebung aufräumen.
28. Testabdeckung
„Als Testabdeckung bezeichnet man das Verhältnis an
tatsächlich getroffenen Aussagen eines Tests gegenüber
den theoretisch möglich treffbaren Aussagen bzw. der
Menge der gewünschten treffbaren Aussagen.“
- Wikipedia
29. Testabdeckung (100 %)
public boolean aAndbOrC(boolean A, boolean B, boolean C) {
! return (A && B) || C;
}
Erwartet A B C
false false false false
true false false true
false false true false
true false true true
false true false false
true true false true
true true true false
true true true true
30. vollständige Testabdeckung
„Eine vollständige Testabdeckung stellt eine Ausnahme
dar, weil die Anzahl möglicher Testfälle sehr schnell
ungeheuer groß wird (durch kombinatorische Explosion).
Ein vollständiger Funktionstest für eine einfache
Funktion, die zwei 16-Bit-Werte als Argument erhält,
würde schon 2^(16+16), also ca. 4 Milliarden Testfälle
bedeuten, um die Spezifikation vollständig zu testen.“
- Wikipedia
39. Statement Coverage (Anweisungsüberdeckung)
public static int sum(int values[], int offset){
int result = 0;
for (int value : values) {
if(offset > 0){
if(offset < value)
result += offset;
}
result += value;
}
return result;
}
41. Statement Coverage (Anweisungsüberdeckung)
100 %
result = 0
for (value : values)
Erwartet values offset
offset > 0 offset < value
3 [2] 1
result += offset
result += value
return result
42. Branch Coverage 100 % (Zweigabdeckung)
result = 0
for (value : values)
offset > 0 offset < value
result += offset Erwartet values offset
result += value 3 [2] 1
2 [2] 0
return result
2 [2] 2
43. 100% Pfadabdeckung
100 % Pfadabdeckung wird in der Regel nicht
erreicht (halting problem)
47. Walkthrough
• Autor stellt seinen Code Dokument vor.
• Autor ist der Moderator
• Vorteile:
• Wenig Vorbereitungsaufwand
• Prüfung findet durch spontane Fragen statt.
48. Inspektion
• Formalste Form eines Review
• oft formale Vorprüfung
• Gutachter bekommen die Dokumente vorab
• Gutachter prüfen erst einzeln
• Anschließende Sitzung mit Autor, Gutachtern und
Moderator
49. Technisches Review
• Autor nimmt am Review
nicht teil
• Gutachter stimmen ab
• Prüfen gegen Spezifikation
• Gutachter prüfen einzeln vorab
53. Namens Konventionen
• Klassennamen
• beginnt mit einem Großbuchstaben, danach in Kleinbuchstaben
weiter
• beginnt ein neuer wesentlicher Teil des Klassennamens, wird er
mit einem Großbuchstaben verdeutlicht
• Beispiele
• Color, Button, TextField, String
54. Namens Konventionen
• Methodennamen
• beginnt mit einem Kleinbuchstaben, weiter klein geschrieben
• beginnt ein neuer wesentlicher Teil wird er mit einem
Großbuchstaben verdeutlicht
• Beispiele
• equals(), setColor(), drawOval()...
68. Motivation von Fit Tests
• Automatisierung von Akzeptanztests mittels Tabellen.
• Framework für Datengetriebene Tests – Data-Driven-Test
(xUnit Test Patterns - Gerard Meszaros)
69. Testen mit Fit Tabellen
Fit Tests für einen Beispiel Zinsrechner
70. Testen mit Fit Tabellen
Fit Tests als Column Test Tabelle
Betrag
10
71. Testen mit Fit Tabellen
Fit Tests als Column Test Tabelle
Betrag Zinssatz
10 2,5
72. Testen mit Fit Tabellen
Fit Tests als Column Test Tabelle
Betrag Zinssatz Laufzeit
10 2,5 2
73. Testen mit Fit Tabellen
Fit Tests als Column Test Tabelle
Betrag Zinssatz Laufzeit Summe
10 2,5 2 10,51
74. Testen mit Fit Tabellen
Fit Tests als Column Test Tabelle
Prüfung eines Ergebnis
Eingehende - Werte
Betrag Zinssatz Laufzeit Summe()
Testfall 10 2,5 2 10,51
75. Testen mit Fit Tabellen
Fit Tests als Column Test Tabelle
Betrag Zinssatz Laufzeit Summe()
10 2,5 2 10,51
10 10 3 25,94
10 10 10 100000
... ... ... ...
Testfälle
76. Testen mit Fit Tabellen
Fit Tests als Column Test Tabelle
Rot = Fehler in der Anwendung
Gelb =Ausnahme - Fehler im Test
Grün = erfolgreicher Test
77. Testen mit Fit Tabellen
Fit Test als Action Tabelle
Befehle / Kommandos
fit.Ac?onFixture Anbindung an die Applikation (Java)
start ZinsenAc(onFixture
enter Betrag 10 Argumente
enter Zinssatz 2,5
Testfall
enter Laufzeit 2
press Submit
check Summe 10,51
Objekt / Auswahl / Target
78. Testen mit Fit Tabellen
Fit Test als Action Tabelle
Anwendung Starten
Eingaben
Aktion - Zinsen Berechnen
Prüfung
83. Fit Tabellen und Applikation
verknüpfen
public class ZinsenFixture extends ColumnFixture { Basis Klasse
für
private Zinsen zinsen = new Zinsen(); Fit Extension
public double betrag; SUT
public double zinsatz;
public double laufzeit; Eingehende - Werte
public double summe() { Prüfung - Ausgabe
zinsen.setBetrag(betrag);
zinsen.setLaufzeit(laufzeit);
zinsen.setZinssatz(zinsatz); Anbindung
return zinsen.berechneZinsen(); an SUT
}
}
84. Fit Tabellen und Applikation
verknüpfen
fit.Ac?onFixture GOF - Dekorierer-Muster
start onlinerechner.ZinsenAc(onFixture
enter Betrag 10
enter Zinssatz 2,5
enter Laufzeit 2
press berechneZinsen
check Summe 10,51
88. Selenium Core
am Beispiel eines Zinsrechner
Action - Tabelle
Selenium Befehl
open /JugsBase/zinsrechner.jsp Argumente
type betrag 20.0
type zinsatz 22.0
type laufzeit 100.0
clickAndWait submit
assertTextPresent 8649939365.27
Euro
Target
90. Selenium Remote Control
Anbindung Selenium in Java Code als Test Treiber
Selenium Server
Browser
Firefox, IE
Selenium Core
JAVA,
PHP...
SUT
HTTP Proxy
Webapplikation