http://www.slideshare.net/GEDOPLAN
https://github.com/GEDOPLAN/webclients-check
Freitag, 16. September 2016
BedCon 2016 - Resilience Patterns
BedCon 2016 - Resilience Patterns
https://www.slideshare.net/mobile/ufried/resilience-reloaded-more-resilience-patterns
https://www.slideshare.net/mobile/ufried/resilience-reloaded-more-resilience-patterns
BedCon 2016 - Softwarearchitektur für optimale User Experience
BedCon 2016 - Softwarearchitektur für optimale User Experience
User Experience Tool: balsamiq.com
User Experience Tool: balsamiq.com
BedCon 2016 - JPA Best Practices
JPA Best Practices
- EntityManager immer nur im RequestScope laufen lassen ( also nicht per Session ).
Der EntityManager ist an eine Transaktion gebunden, Außerhalb von Requests können sonst Nebenläufigkeiten entstehen.
- EntityManager per @Inject reingeben statt @PersistenceManager . Bei @Inject muss der EntityManager von einer Factory erzeugt werden über @Produces im Request-Scope. Auf diese Art und Weise kann der EntityManager auch an anderen Stellen verwendet werden, so @PersistenceManager nicht erlaubt ist. Hier ist aber darauf zu achten, dass der EntityManager per se immer trasaktional arbeitet. Jede Attributänderung einer JSF ManagedBean wird direkt weggespeichert wenn diese Bean dann attached ist. Durch ein explizites Ausstellen (Modus Unsynchronized) der Transaktionalität beim Produzieren des EntityManagers in der Factory lässt sich das verhindern. Allerdings muss dann der EntityManager bei einer gewollten transaktionalen Verarbeitung wieder manuell an die Transaktion gebunden werden (entityManager.joinTransaction())
- EntityManager immer nur im RequestScope laufen lassen ( also nicht per Session ).
Der EntityManager ist an eine Transaktion gebunden, Außerhalb von Requests können sonst Nebenläufigkeiten entstehen.
- EntityManager per @Inject reingeben statt @PersistenceManager . Bei @Inject muss der EntityManager von einer Factory erzeugt werden über @Produces im Request-Scope. Auf diese Art und Weise kann der EntityManager auch an anderen Stellen verwendet werden, so @PersistenceManager nicht erlaubt ist. Hier ist aber darauf zu achten, dass der EntityManager per se immer trasaktional arbeitet. Jede Attributänderung einer JSF ManagedBean wird direkt weggespeichert wenn diese Bean dann attached ist. Durch ein explizites Ausstellen (Modus Unsynchronized) der Transaktionalität beim Produzieren des EntityManagers in der Factory lässt sich das verhindern. Allerdings muss dann der EntityManager bei einer gewollten transaktionalen Verarbeitung wieder manuell an die Transaktion gebunden werden (entityManager.joinTransaction())
Donnerstag, 15. September 2016
BedCon 2016 - Docker Orchestrierung mit Docker Swarm & Compose
BedCon 2016
Docker Orchestrierung mit Docker Swarm & Compose
- Docker mit Overlay Network braucht mind. Linux Kernel 4.2.x (basiert auf vxlan)
- Docker Compose konfiguration in yaml
Docker Orchestrierung mit Docker Swarm & Compose
- Docker mit Overlay Network braucht mind. Linux Kernel 4.2.x (basiert auf vxlan)
- Docker Compose konfiguration in yaml
BedCon 2016 - GUI Testing - Wartbare Alternativen zu Record&Play
Wartbare Alternativen zu Record&Play GUI Testing
Slides
1. Möglichkeit: Grafisches GUI Test Tool, Tests zusammen klicken
Slides
1. Möglichkeit: Grafisches GUI Test Tool, Tests zusammen klicken
UI elemente anhand von xpath erkennung ist gefährlich --> bei änderung der anordnung der elemente geht nix mehr
--> regressionstests nicht möglich
Lange Laufzeiten
Lange Entwicklungszeit (weil lange Laufzeiten)
2. Möglichkeit: Selenium
selenium for chrome, ff, safari, etc, and mobile
pros: programmatic tests
cons: spagetti code, bad technical API
--> Problem: Es gibt kein Model der GUI, die getestet wird
--> Lösung: Ein Model (und damit API) schaffen für die GUI
Page Object Pattern:
Selenium Page Objects
Arquillian Graphene
GEB
Testframework in groovy, hat auch Page Objects
Test-DSL
Alternativen
CATJS
Testcode (JS) im HTML enthalten
Test-Strategien
- test on lowest level! (besser viele günstige Unit-Tests als wenige teure GUI Test)
- lange laufzeiten vermeiden
- wenn extra QA Abteilung/MA, dann co-working Dev<->QA
Abonnieren
Posts (Atom)