Najaarsevenement 2016

Testen met enen en nullen

Korte samenvatting van de Workshops


--------------------------------------------------------------------------------
OCHTEND WORKSHOPS - AANMELDING NODIG!
--------------------------------------------------------------------------------

Test automation for Android and iOS apps using Gherkin -
Samuel Maljaars en Carlo Matulessy

Gherkin is een leesbare taal die wordt gebruikt in het behaviour driven development. We gebruiken Gherkin op ons project bij de klant, en we zijn er enthousiast over. De Gherkin scripts kunnen worden gelezen door iedereen (zelfs robots) om te begrijpen wat uw product doet en hoe het werkt. Kom naar onze workshop om te leren hoe de eenvoudige Gherkin taal te gebruiken om native android en native iOS-apps te automatiseren.

In deze workshop krijg je de mogelijkheid om hands-on ervaring op te doen met het schrijven van test scripts in Gherkin. Je leert ook om Espresso (Java based) code te schrijven en/of Swift code om de Gherkin test scripts te automatiseren voor Android en/of iOS apps.

Je kunt kiezen om zowel de Android als iOS workshop te volgen of een van beide.

Kort overzicht van de workshop:

  • Korte presentatie over de achtergrond van de workshop
  • Instructies voor de workshop
  • Parallelle workshop Android en iOS
  • Parallelle workshop iOS en Android
  • Ruimte om zelf verder uit te proberen

 

 

Docker voor testers - Joost van Wollingen en Maarten Dirkse


Docker is een enorm krachtige en populaire tool die snel omarmt word door development en operations. Echter zijn er ook voor testers legio toepassingen die bijvoorbeeld isolatie, onafhankelijkheid en snellere feedback loops mogelijk maken. In deze workshop raken deelnemers bekend met de basis concepten van Docker en hoe ze Docker kunnen inzetten voor geÔsoleerde databases en Selenium tests.

Let op: Voor deze workshop heb je een laptop nodig met daarop Docker geÔnstalleerd, ben je niet bang van de command line en heb je een gezonde dosis nieuwsgierigheid.

Tijdens de workshop besteden we aandacht aan een aantal onderwerpen die telkens in de volgende volgorde gepresenteerd zullen worden:

  • Uitleg van theorie
  • Demo door een van de presentatoren
  • Oefening voor de deelnemers


Aan bod komen in ieder geval:

  • de basis concepten van Docker
  • een publiekelijk beschikbaar image van een database gebruiken voor je eigen applicatie
  • Selenium Grid opzetten

 

Model-Based Testing Met Spec Explorer - MBT-Werkgroep


Modelgebaseerd Testen (Model-Based Testing - MBT) maakt een volgende stap in test-automatisering mogelijk: test cases worden niet alleen automatisch uitgevoerd, maar ze worden ook automatisch gegenereerd en de resultaten worden automatisch geanalyseerd. Dit gebeurt met behulp van een abstract model dat het gedrag van het te testen systeem beschrijft.

Doel van deze workshop is om aan de hand van eenvoudige voorbeelden en praktische oefeningen te laten zien wat MBT is, wat de meerwaarde van modellen is, hoe een MBT tool automatisch testen genereert, waar je op moet letten bij het toepassen van MBT, en wat voordelen, nadelen, en valkuilen zijn.

Software wordt steeds complexer. Het testen van software moet meegroeien om deze complexiteit aan te kunnen: het moet sneller, efficiŽnter, en effectiever. Het volledig handmatig schrijven en uitvoeren van testgevallen is dan geen optie meer: het testen moet zoveel mogelijk geautomatiseerd worden. Model-Based Testing (MBT) kan hierbij helpen: MBT maakt het mogelijk test cases automatisch te genereren, uit te voeren, en de testresultaten te analyseren. Dit gebeurt op basis van een model: een abstracte beschrijving van het gedrag van het te testen systeem. Bovendien kan zo’n model helpen bij validatie en het vroegtijdig ontdekken van ontwerpfouten.

De workshop behandelt de volgende onderwerpen:

  • Inleiding MBT
  • Enkele principes van MBT
  • Inleiding Spec Explorer.
  • Modellen: soorten, abstractie, toestanden en data
  • Modellen opbouwen uit eenvoudiger modellen
  • Gebruik van een Spec Explorer MBT tool op simpele voorbeelden
  • Voordelen, nadelen, en valkuilen van MBT en Spec Explorer


De workshop bestaat uit korte presentaties, en oefeningen en hands-on ervaring met een free MBT tool (Spec Explorer). Met dit tool zullen enkele simpele applicaties worden gemodelleerd en getest, met stapsgewijs toenemende complexiteit. Het doel is inzicht te krijgen in de werking van MBT en Spec Explorer, met zijn voordelen, nadelen, en valkuilen, zodat de deelnemers beter in staat zullen zijn goede keuzes te maken over het gebruik van MBT tools en methoden.

 


Workshop FitNesse, Cucumber en Selenium - Martin Gijsen


Geautomatiseerd testen met FitNesse en Selenium of met Cucumber en Selenium verhoogt de waarde van een tester zonder (te) technisch te hoeven zijn. Beginnend bij niet-technische vaardigheden en opbouwend naar licht technische wordt aan de hand van opdrachten geleerd hoe waardevol een tester kan zijn bij geautomatiseerd testen:

1.Testgeval schrijven met keywords in FitNesse
2.Testgevallen schrijven met data-driven testing in FitNesse
3.Uitvoerbare specificatie schrijven in Cucumber (BDD)
4.Keywords uitschrijven voor Selenium in FitNesse
5.Object map opbouwen voor Selenium
6.Keywords schrijven in Java voor FitNesse (theorie + voorbeeld)
7. Keywords schrijven in Java voor Cucumber (theorie + voorbeeld)


Testen met enen en nullen, en dan geautomatiseerd vanuit een model. Toekomst of realiteit - Marcel Mersie, Arno van de Velde


Test automatisering wordt steeds belangrijker, vooral in combinatie met DeVOps. Hoe mooi zou het zijn als je vanuit je functionele model, wat je samen met je Business Analist en je Product Owner hebt samengesteld, geautomatiseerde testscrips kunt laten generen. Het kan, we doen dit namelijk bij de Rabobank!

We willen laten zien dat het nu al mogelijk is om vanuit een model daadwerkelijk geautomatiseerde testscript te genereren (model driven testen). We willen dit niet alleen laten zien, maar de deelnemers willen we ook uitdagen om dit zelf te doen!

CA zorgt voor een virtuele omgeving. Het enige wat de deelnemers nodig hebben is een laptop (OS maakt niet uit).

We lopen dan o.a. door een paar voorbeelden zoals we die nu bij de Rabobank gebruiken en gaan vervolgens zelf met een voorbeeld applicatie aan de slag.

 

Introduction to Approval Testing with TextTest - Emily Bache

Most automated tests follow an overall structure 'Arrange, Act, Assert'. It's that assertion part that is different in approval testing. When you design a test with assertions, you have to carefully decide which things are important to check. The thing is, if you don't anticipate all the failure modes, tests can pass and bugs can slip through unnoticed.

In Approval testing, you generally take an opposite standpoint - by default everything is interesting, and everything will be checked. When a test designer automates an acceptance test scenario, they will ‘Approve’ the whole program output, or explicitly decide some parts to filter out first. Any future deviation from the approved output will be marked as a test failure. The test designer’s responsibility is therefore reversed - all output is interesting unless they say otherwise. This kind of a test can find bugs no-one anticipated when it was written, and in my experience, this happens reasonably often.

In this workshop, we'll try out the technique on some simple programs, using the open source tool TextTest. You'll need to bring a laptop with VirtualBox installed, since the exercises will be provided on a virtual machine image. We won't be doing any advanced coding in the workshop, but it helps if you are familiar navigating on the command line and can run shell scripts.


Geen webservice? Geen probleem! Gebruik WireMock - Bas Dijkstra


In deze workshop leren deelnemers hoe ze met behulp van de open source tool WireMock eenvoudig stubs kunnen opzetten om niet bestaande, beschikbare of geschikte webservices in hun testomgeving te simuleren, om zo meer, sneller en beter te kunnen testen.

Veel applicaties en systemen maken gebruik van (al dan niet externe) webservices die functionaliteit of gegevens beschikbaar stellen. Helaas zijn deze webservices niet altijd beschikbaar of geschikt voor testuitvoer, zeker niet in een testomgeving.

Na een korte introductie in de wereld van webservices, stubbing en servicevirtualisatie gaan de deelnemers aan de slag met het maken van eenvoudige maar doeltreffende stubs en het inzetten daarvan voor het uitvoeren van geautomatiseerde tests.

Hiervoor wordt gebruik gemaakt van de open source Java-library WireMock, die het zelfs voor testers met weinig of geen kennis van Java of programmeren in het algemeen heel eenvoudig maakt om zelf stubs te maken die het voor de testuitvoer gewenste gedrag simuleren.

 

Communication skills for test leaders - Rob Lambert

After this tutorial you will have a superpower. No joke. You’ll have a superpower in the world of business; the ability to read someone else’s body language, be more aware of your own and understand how simple body hacks can alter your physiology. This is a fun, interactive and engaging workshop where we’ll cover how you can use this superpower in every day work settings from meetings, to networking to interviewing. This will not only help you gain more authority, trust and influence, but it will also allow you to alter the situations you find yourself in, for good or for evil. With all superpowers comes great responsibility. I urge you to use your skills for good only :)

 


--------------------------------------------------------------------------------
MIDDAG WORKSHOPS - GEEN AANMELDING NODIG!
--------------------------------------------------------------------------------


Verander legacy code in clean code! - David Baak, Jeroen Mengerink


Ben je ooit wel eens kapotte geautomatiseerde tests tegengekomen, waarbij de code achter deze tests zo complex of onleesbaar was dat het repareren vrijwel onmogelijk leek?

Het schrijven van testautomatiseringscode is het ontwikkelen van software, dus laten we de concepten voor het ontwikkelen van goede software hierbij gebruiken. Een van de belangrijke concepten is die van “clean code”. Laten we eens beginnen met goede naamgeving, unit testen en SOLID principes voor onze testautomatiseringsode.

In deze training gaan we legacy code bekijken en deze langzaam omvormen tot beter leesbare en onderhoudbare code. Om dit te realiseren, beginnen we met het maken van unit tests. Zodra we een vangnet van unit test gecreŽerd hebben, kunnen we de code gaan aanpassen zonder bang te zijn dat we per ongeluk functionele wijzigingen doorvoeren. Dit refactoren bestaat uit een aantal basisprincipes, wij gaan vooral bezig met verbeteren van naamgeving en het verwijderen van gedupliceerde code. Uiteindelijk gaan we de SOLID principes bekijken en op basis van deze principes nog enkele structurele wijzigingen in de code doorvoeren.

Neem je laptop mee en kom samen met ons legacy code opschonen! Zorg ervoor de je een recente JDK en een Java IDE geÔnstalleerd hebt staan, zodat we direct aan de slag kunnen.


 

 


Ervaar spelenderwijs de essentie van Testautomatisering met behulp van knikkers - Ide Koops


Testautomatisering wordt vaak gezien (en verkocht…) als de heilige graal voor veel situaties. “Met deze tool bespaart u fors op uw testinspanning en verhoogd u de kwaliteit aanzienlijk!” Of de uitsmijter: “Als we alle testen automatiseren, hebben we geen testers meer nodig”. Is dat wel terecht? En hoe zet je Testautomatisering dan wel effectief in? Hoe bouw je het op? En hoe zorg je ervoor dat het onderhoudbaar is? Wat zijn quickwins en wat zijn de valkuilen?
Leer en ervaar in deze workshop de basics rondom testautomatisering met behulp van knikkers en allerlei hardware tools!

In de zeer interactieve workshop worden deelnemers een agile ontwikkelomgeving in gezogen. In iteraties wordt er doorontwikkeld van een –niet software- product. Waarbij de deelnemers in elke iteratie moeten valideren of de toegevoegde/gewijzigde functionaliteit werkt, maar uiteraard moet de regressie niet vergeten worden.

De teams zullen snel ervaren dat het gegeven de tijd en hoeveelheid efficiŽnter moet, want de kwaliteit komt zo onder druk te staan. Automatiseren is een antwoord en er zullen middelen klaar liggen waarmee dat kan. Zo zal men, met coaching door de begeleiders van de workshop ervaren hoe testautomatisering kan helpen in deze uitdaging, maar tevens ook welke acties je vooral niet moet doen.