By Niels Bor and Marcus Drost. This workshop analyses test related problems of BI/DWH software development. Testing is a decisive factor for process acceleration in iterative and agile software development. The workshop provides solutions for solving quality, cost and time related problems. The demonstration of the highly automated and multi-functional data compare tool DREAM is part of the workshop.
The workshop is guided by Niels Bor and Marcus Drost.
We thank the SNS REAAL group for the initiation of the workshop.
DevOps is een term die momenteel sterk in opkomst is. Maar is het een hype of heeft het ook een meerwaarde?
DevOps is in basis niets meer dan een samenvoeging van ontwikkeling (Dev) en beheer (Ops) binnen één Agile team. Achterliggende gedachte is dat een team ook direct de pijn voelt wanneer zaken niet goed ontwikkeld en/of getest zijn. Maar welke rol speelt Quality Assurance nu precies binnen DevOps en hoe kan deze methodiek in de praktijk het beste vorm gegeven worden? Binnen deze sessie worden deelnemers meegenomen in de praktijk van DevOps en komen thema’s als Continuous Delivery/Continuous Integration, Test Driven Development en testautomatisering aan de orde. Voordelen, nadelen en uitdagingen worden benoemd en het wordt duidelijk hoe belangrijk testen binnen DevOps is.
By Niels Bor and Marcus Drost. This workshop analyses test related problems of BI/DWH software development. Testing is a decisive factor for process acceleration in iterative and agile software development. The workshop provides solutions for solving quality, cost and time related problems. The demonstration of the highly automated and multi-functional data compare tool DREAM is part of the workshop.
The workshop is guided by Niels Bor and Marcus Drost.
We thank the SNS REAAL group for the initiation of the workshop.
DevOps is een term die momenteel sterk in opkomst is. Maar is het een hype of heeft het ook een meerwaarde?
DevOps is in basis niets meer dan een samenvoeging van ontwikkeling (Dev) en beheer (Ops) binnen één Agile team. Achterliggende gedachte is dat een team ook direct de pijn voelt wanneer zaken niet goed ontwikkeld en/of getest zijn. Maar welke rol speelt Quality Assurance nu precies binnen DevOps en hoe kan deze methodiek in de praktijk het beste vorm gegeven worden? Binnen deze sessie worden deelnemers meegenomen in de praktijk van DevOps en komen thema’s als Continuous Delivery/Continuous Integration, Test Driven Development en testautomatisering aan de orde. Voordelen, nadelen en uitdagingen worden benoemd en het wordt duidelijk hoe belangrijk testen binnen DevOps is.
The yearly seminar of the Best Practice User Group in the Netherlands this year has the theme "Agile".
My contribution is an interactive session where the participants can vote for a number of subjects to create the backlog of the session.
This slide-deck contains all slides that I prepared, I guess I only used half of them, the rest everybody can see here at slideshare.
The slides are mainly in english but also partly in dutch.
At the end I refer to the book "TMap NEXT in Scrum", to the book "the PointZERO vision" and to the whitepaper "Integrate test activities in Agile projects".
Continuous delivery met jenkins twist en puppetltebbens
Deliver software fast. Release features elke twee weken naar productie door een continue stroom automatisch geteste user stories. Die met een drukknop live kunnen. In deze presentatie deel ik mijn ervaringen en de toegepaste inrichting.
Centrum Duurzaam introduceert scrum methodiek
Dinsdag 16 december 2014 organiseerde Centrum Duurzaam een workshop projectmatig werken gericht op de scrum methodiek. In de praktijk blijkt namelijk dat ook bouwbedrijven bezig zijn met deze manier van werken. Deze workshop was speciaal bedoeld voor docenten en studenten die vanuit Centrum Duurzaam werken in innovatieprojecten. Docenten van de vestigingen Leeuwarden, Drachten en Sneek en de studenten van innovatieproject de Ecokubus waren aanwezig bij deze eerste kennismaking met de scrum methodiek. Zij werden begeleid door Martin de Bruin van Bancair Coach.
Wat is scrum?
Scrum wordt vooral gebruikt bij projecten waar het einddoel niet altijd duidelijk is. Of in projecten waarbij in het proces sprake kan zijn van veranderingen. Door te focussen op de belangrijkste taken en deze uit te voeren in korte periodes (sprints) van maximaal 3 weken is directe sturing en snelle aanpassing mogelijk. Door te prioriteren ontstaat er rust en duidelijkheid en vergroot de slagvaardigheid van het projectteam. De belangrijkste rollen in het projectteam zijn die van productowner (prioriteren) en scrummaster (faciliteren).
Implementeren scrum
Bij de implementatie van scrum is het belangrijk om de voordelen van scrum toe te passen op de innovatieprojecten die vanuit Centrum Duurzaam worden uitgevoerd. Vanuit een rolverdeling zijn het maken van een backlog, het doen van een daily stand up (dagelijkse werkbespreking van 5 minuten) en het houden van een demo (klantpresentatie) de meest praktische projectvaardigheden. Deze manier van werken stimuleert het ondernemerschap van studenten. In januari 2015 gaat Centrum Duurzaam de scrum methodiek kleinschalig implementeren bij innovatieproject Ecokubus.
ROC Friese Poort | Centrum Duurzaam
Centrum Duurzaam wil, als onderdeel van ROC Friese Poort, de kennis en ervaring bij het bedrijfsleven benutten voor het opleiden van jonge vakmensen in de praktische toepassing van innovatieve duurzame technieken. Tevens wil Centrum Duurzaam met goede en objectieve voorlichting de toepassing van deze technieken bij bedrijven en particulieren stimuleren. Kennis, ervaring en vakmanschap voor een duurzame wereld.
The yearly seminar of the Best Practice User Group in the Netherlands this year has the theme "Agile".
My contribution is an interactive session where the participants can vote for a number of subjects to create the backlog of the session.
This slide-deck contains all slides that I prepared, I guess I only used half of them, the rest everybody can see here at slideshare.
The slides are mainly in english but also partly in dutch.
At the end I refer to the book "TMap NEXT in Scrum", to the book "the PointZERO vision" and to the whitepaper "Integrate test activities in Agile projects".
Continuous delivery met jenkins twist en puppetltebbens
Deliver software fast. Release features elke twee weken naar productie door een continue stroom automatisch geteste user stories. Die met een drukknop live kunnen. In deze presentatie deel ik mijn ervaringen en de toegepaste inrichting.
Centrum Duurzaam introduceert scrum methodiek
Dinsdag 16 december 2014 organiseerde Centrum Duurzaam een workshop projectmatig werken gericht op de scrum methodiek. In de praktijk blijkt namelijk dat ook bouwbedrijven bezig zijn met deze manier van werken. Deze workshop was speciaal bedoeld voor docenten en studenten die vanuit Centrum Duurzaam werken in innovatieprojecten. Docenten van de vestigingen Leeuwarden, Drachten en Sneek en de studenten van innovatieproject de Ecokubus waren aanwezig bij deze eerste kennismaking met de scrum methodiek. Zij werden begeleid door Martin de Bruin van Bancair Coach.
Wat is scrum?
Scrum wordt vooral gebruikt bij projecten waar het einddoel niet altijd duidelijk is. Of in projecten waarbij in het proces sprake kan zijn van veranderingen. Door te focussen op de belangrijkste taken en deze uit te voeren in korte periodes (sprints) van maximaal 3 weken is directe sturing en snelle aanpassing mogelijk. Door te prioriteren ontstaat er rust en duidelijkheid en vergroot de slagvaardigheid van het projectteam. De belangrijkste rollen in het projectteam zijn die van productowner (prioriteren) en scrummaster (faciliteren).
Implementeren scrum
Bij de implementatie van scrum is het belangrijk om de voordelen van scrum toe te passen op de innovatieprojecten die vanuit Centrum Duurzaam worden uitgevoerd. Vanuit een rolverdeling zijn het maken van een backlog, het doen van een daily stand up (dagelijkse werkbespreking van 5 minuten) en het houden van een demo (klantpresentatie) de meest praktische projectvaardigheden. Deze manier van werken stimuleert het ondernemerschap van studenten. In januari 2015 gaat Centrum Duurzaam de scrum methodiek kleinschalig implementeren bij innovatieproject Ecokubus.
ROC Friese Poort | Centrum Duurzaam
Centrum Duurzaam wil, als onderdeel van ROC Friese Poort, de kennis en ervaring bij het bedrijfsleven benutten voor het opleiden van jonge vakmensen in de praktische toepassing van innovatieve duurzame technieken. Tevens wil Centrum Duurzaam met goede en objectieve voorlichting de toepassing van deze technieken bij bedrijven en particulieren stimuleren. Kennis, ervaring en vakmanschap voor een duurzame wereld.
Er worden steeds sneller nieuwe producten en diensten ontwikkeld. Een verkennend onderzoek en een casus laten zien welke factoren snelheid kunnen bevorderen en welke bijwerkingen snelheid kan hebben. Een verhaal over de geboorte van een nieuw soort projecten.
Best practices for upgrading patches and versions .... Dutch
Indien U een persoonlijke presentatie of demonstratie wens kan je mij altijd contacteren via LinkedIn of via regine.deleu@oracle.com
Met de centralisatie van de opslag maken steeds meer en verschillende applicaties en systemen hiervan gebruik met ieder hun eigen karakateristieken in IO. Bij aanschaf en inrichting wordt echter vaak, om het beheer te vereenvoudigen gekozen voor een 'one-size-fits-all' oplossing. Niet zelden gaat dit echter wringen waardoor er prestatie problemen in de service ontstaan. Met het doorlichten van de centrale opslag kunnen deze bottleneck snel inzichtelijk gemaakt worden en verbeteringen aangebracht zodat reeds gemaakte investeringen beter en langer renderen.
I am a agile tester, because...(Agile testing put to practice)Derk-Jan de Grood
On 12 September Andreas Prins and I gave two presentation on the TestNet session night. The theme of the event was: Transforming testing to fit modern development. Andreas identified various rhythms (or wavelengths) in the SDLC and explained the automation that can be done in order to have short lead times and frequent feedback on code quality and delivered value.
My presentation was called “I am an agile tester, because…”. During my talk I discussed what it takes to be an agile tester and I introduced 12 statements that can be used as manifesto for the agile tester. During the presentation 40+ participants filled in the survey and we got a nice impression of how agile our testing is. You can find the results below, and in the slide deck.
Using a recent project I was involved in I put these statements to the test. I explain the test strategy I applied and shared my successes and failures. One of the participants tweeted about the presentation: “A nice war story. The 12 statements trigger me to think about my own role and the role of testing within my project and organization”. I think I succeeded my mission.
How Oracle Management Cloud enabled a successful scratch of a 7-year old per...Lucas Jellema
Applications are only successful when they generate business value; And they can only do so if they are available, reliable and well performing. Operations-teams – and increasingly DevOps teams – have the substantial challenge of ensuring the proper non-functional behaviour of applications. Part of the challenge is knowing what the actual state of the end user experience with the applications is. In case of (looming) underperformance and unhappy users, administrators need to be aware and need to be able to find out what the causes are of the problem. Oracle Management Cloud offers a range of features that can easily be engaged in any existing enterprise IT environment to monitor the application performance, alert administrators regarding (impending) exceptions an perform root cause analysis to support resolution and prevent reoccurrence of the issue. This presentation tells story of how Oracle Management Cloud Application Performance Monitoring, Infrastructure Monitoring and Log Analytics were used to identify and resolve within weeks the underlying causes of a performance issue that end users had been complaining about for seven years. The session offers a broad perspective on how OMC can be embraced very rapidly by virtually any IT department to start monitoring, spotting and fixing issues in complex application stacks.
Robotisering biedt veel kansen voor de industrie. Om succesvol te robotiseren zijn er belangrijke aandachtspunten. Het HAN Lean-QRM Centrum/Lectoraat Lean heeft samen met Hogeschool Windesheim, Saxion Hogeschool en FieldLab Industriële Robotica, FIR, een onderzoeksproject uitgevoerd. Hierbij werd gekeken naar de ervaringen van het mkb bij robotisering. Bij het onderzoek zijn 4 maakbedrijven betrokken.
In deze masterclass bespraken onderzoekers, Vincent Wiegel van de Hogeschool van Arnhem en Nijmegen en Aart Schoonderbeek van Hogeschool Windesheim de uitkomsten van een onderzoek naar uitdagingen en succesfactoren bij robotiseren.
1. Februari 2014
Workshop Procesverbetering
Testen BI/ DWH
AGENDA
Persoonlijke introductie & verwachtingen 15m
Niels Bor en Marcus Drost (workshopleiders)
Deelnemers workshop
Inhoud
Deel 1 Korte presentatie: Waterval versus Agile/ Scrum (Marcus Drost) 15m
Deel 2 Probleem-awareness-spel (inzicht) test problemen BI/ DWH systeem (Niels Bor) 20m
Deel 3 Korte presentatie: Meer over testen (Marcus Drost) 15m (dan pauze 10m)
Deel 4 Praktijkvoorbeeld Agile regressietesttool DREAM (Marcus Drost) 30m
Deel 5 Probleem-awareness-spel (van oorzaken naar actie) (Niels Bor) 20m
Afsluiting 10m
Samenvatting workshop (Niels Bor en Marcus Drost) en feedback deelnemers (15m uitloop)
V2.3
2. Doel van de workshop
“Het verkrijgen van inzicht in de problemen van
waterval en agile testprocessen en het zoeken
naar mogelijke oplossingen. Specifiek voor dataintensieve omgevingen waar het gaat om
Business Intelligence, Data Warehousing en
Database Applicaties.”
3.
4. Hoewel de praktijken die onder de noemer agile vallen al
gangbaar zijn sinds software ontwikkeld wordt, valt de
geboorte van agile als term en concept terug te brengen
tot het Agile Manifesto, in februari 2001, tijdens een
informele samenkomst van ontwikkelaars. Het handvest
stelt dat goede software wordt gemaakt door:
1.Personen en interacties boven processen en tools.
2.Software die werkt boven lijvige documentatie.
3.Samenwerking met de klant boven onderhandeling over het contract.
4.Omgaan met verandering boven het volgen van een plan.
Bron: Wikipedia
5. Uit het handvest volgen twaalf principes:
1.Klanttevredenheid, door snelle, continue levering van bruikbare software.
2.Zelfs late veranderingen in de requirements zijn welkom.
3.Werkende software wordt regelmatig geleverd (weken eerder dan maanden).
4.De ontwikkelaars werken nauw en dagelijks samen met de mensen die de business
kennen.
5.Projecten steunen op gemotiveerde en betrouwbare personen.
6.Een gesprek in levende lijve is de beste manier van communicatie, wat betekent dat men
zich best op dezelfde plek bevindt.
7.Werkende software is de eerste maatstaf van vooruitgang.
8.De ontwikkeling kan te allen tijde worden voortgezet.
9.Er is voortdurende aandacht voor technische uitmuntendheid en goed ontwerp.
10.Eenvoud is belangrijk: hoe meer er niet gedaan wordt, hoe beter.
11.De teams organiseren zichzelf.
12.Men past zich aan de omstandigheden aan.
Bron: Wikipedia
6. Iterative vs. Agile
First of all, Agile is iterative already but it is way more than just iterative. Here are a number of
differences between Agile and “just” Iterative development:
Mini-waterfall is still waterfall
Iterative is still waterfall, just on a smaller scale. A series of mini-waterfalls is certainly better
and less risky than one big waterfall but mini-waterfall still is fundamentally waterfall and
comes with all its known problems such as difficulty to adapt to change (“Nice idea but sorry,
the requirements have been signed off months ago”), cascading delays (“Oops, we need to
shorten the testing phase”) and low quality (“We don’t have time to fix those bugs. We’ll fix
them in a later phase/iteration”).
Bron: Sandy Mamoli
16. Probleem-awareness-spel (inzicht)
De deelnemers van de workshop gaan onderling in gesprek over de gerelateerde problemen
die zij in de praktijk bij het testen van data intensieve systemen ondervinden. Zij identificeren
de test gerelateerde problemen door deze met gele briefjes op de desbetreffende onderdelen
van de datawarehouse te plakken: Source system, data storage & aggregation en
presentation.
Beschrijf het probleem zodanig dat de oorzaak kan worden achterhaald en eraan een actie
kan worden gekoppeld.
17.
18. Typische problemen
1. Brondata uit productie en test is functioneel niet stabiel.
2. Testdata zowel handmatig als automatisch niet op tijd beschikbaar.
3. Voorbereiden test en inrichting testomgeving zoals klaarzetten ETL en loadfiles
kost veel tijd.
4. Doorlooptijden van testruns duurt erg lang; performance problemen
5. Testcases niet duidelijk en geen koppeling aan fysieke testgevallen. M.a.w.
testgevallen worden ter plekke gezocht en zijn dan toevallig wel dan niet voor de
test beschikbaar. Daardoor is testdekking min of meer toevallig.
6. Geen beschrijving van verwachte output van testcases en daardoor tijdens de
controle veel zoekwerk.
7. Dubbel werk door overlap tussen UT, FAT en GAT.
8. Herbruikbaarheid van testcases wordt niet gemanaged; er is geen koppeling
tussen functionaliteit en testcases/ testgevallen.
9. Voor het uitbreiden/ aanpassen van testsets met testgevallen is geen standaard
proces aanwezig, dus min of meer ad hoc.
10. Tester ervaart punctueel heel veel druk.
19.
20. Testsoorten Tmap (ter info)
Het testen is georganiseerd in een aantal testsoorten, TMap kent de volgende
testsoorten:
Unittest (UT): door de ontwikkelaar uitgevoerd. Toont aan dat een unit aan de in de
technische specificaties gestelde eisen voldoet.
Unitintegratietest (UIT): door de ontwikkelaar uitgevoerd. Toont aan dat een logische
groep units aan de in de technische specificaties gestelde eisen voldoet.
Systeemtest (ST): door de leverancier uitgevoerd. toont aan het ontwikkelde systeem of
dele daarvan aan de functionele- en niet-functionele specificaties en het technisch
ontwerp voldoen.
Systeemintegratietest (SIT): door de toekomstige gebruiker(s) uitgevoerd. Toont aan dat
(sub)systeeminterface afspraken zijn nagekomen, correct zijn geïnterpreteerd en correct
zijn geïmplementeerd.
Functionele acceptatietest (FAT): door de toekomstige gebruiker(s) uitgevoerd. Toont
aan dat het ontwikkelde systeem aan de functionele eisen voldoet.
Gebruikersacceptatietest (GAT): door de toekomstige gebruiker(s) uitgevoerd. Toont
aan dat het ontwikkelde systeem aan de wensen/eisen van de gebruiker voldoet.
Productieacceptatietest (PAT): door de toekomstige beheerder(s) uitgevoerd. Toont aan
dat het ontwikkelde systeem aan de van uit beheer gesteld eisen voldoet.
21. Methoden om de regressie te testen
1.[Steekproef] Controleren van enkele waarden en op basis van de resultaten
generaliseren
Voordeel: snel en zonder veel automatisering
Nadeel: onnauwkeurig, onvolledig
2.[Controlegetal] Door het maken van sommen wordt op basis van enkele
uitkomsten een uitspraak over de correctheid van het totaal gedaan.
Voordeel: snel te automatiseren
Nadeel: onvolledig; bij afwijkingen is de onderliggende oorzaak lastig te vinden;
afhankelijk van de applicatielogica
3.[Datamodel] Door het definiëren van het datamodel wordt een complete database
automatisch gecontroleerd op afwijkingen.
Voordeel: volledige dekking:100%, onafhankelijk van de applicatielogica;
onderliggende oorzaak is snel te vinden
Nadeel: aanschaf of huur van een tool
24. Agile Development Team Testing Strategies
Agile development teams generally follow a whole team strategy where people with testing
skills are effectively embedded into the development team and the team is responsible for the
majority of the testing.
This strategy works well for the majority of situations but when your environment is more
complex you'll find that you also need an independent test team working in parallel to the
development and potentially performing end-of-lifecycle testing as well.
Regardless of the situation, agile development teams will adopt practices such as continuous
integration (CI) which enables them to do continuous regression testing, either with a testdriven development (TDD) or test-immediately after approach.
Bron: Scott Ambler
25. TOP 5 speerpunten automatisering 'Example DWH'
●
●
●
●
●
[Automatische regressietest] Door de hoeveelheid van data is een
automatische regressietest wenselijk met het oog op kwaliteit en tijd.
[Virtualisatie bronsystemen] Want bronnen leveren zelden op tijd en de
dekking van de testdata is vaak niet voldoende; door de automatische generatie
van testdata kan het team onafhankelijk worden van de bronnen.
[Automatische output controle] Door de automatische output controle kan
meteen na de testrun (snelheid) worden vastgesteld of het resultaat correct is.
Hierdoor wordt de testcyclus extreem verkort.
[Procesautomatisering] Uit de praktijk blijkt, dat daar waar automatisering
plaatsvindt, zelf veel processen nog handwerk zijn. Middels scheduling en
scripting kan de graad van automatisering worden opgevoerd en kunnen
verwerkingen naar de nacht worden verplaatst.
[Deployment] Deployment en invoeringsprocessen naar productie en
testomgevingen nemen veel tijd in beslag. Als de frequentie van wijzigingen wordt
opgevoerd, dan ontstaat hier gauw een bottleneck. Hier valt veel tijd te winnen.
26.
27.
28.
29. DEMO DREAM (www.drost.name)
World’s first tool for continuous database and data warehouse regression testing.
Shouldn’t we be doing better? (Scott W. Ambler)Mission-critical business functionality is
implemented in RDBMSs. In the survey, 63.7% of respondents indicated that their
organizations did this, but of those only 46% had regression tests in place to validate the
logic. Shouldn’t we be doing better? Author: Scott W.Ambler
30.
31.
32.
33. Probleem-awareness-spel (van oorzaak naar actie)
De deelnemers van de workshop gaan onderling in gesprek over de gevonden problemen en
proberen de oorzaken van de problemen te achterhalen (root cause analysis). Ga hiervoor
eerst de problemen groeperen. Bedenk dan acties cq. oplossingen voor de gevonden
problemen.
34.
35. Mogelijke oplossingen
1.Regressie door de hele keten; zowel in ontwikkel en testomgeving
2.Simuleren van testdata; virtualisatie van bronsystemen; synthetische testdata
genereren
3.Het automatiseren van deploymentprocessen
4.Verbeteren performance door snellere machine of in de cloud
5.Testcases meteen vastleggen bij user stories en functionele specificaties.
6.Verwachte output van te voren voorspellen (een mal maken); voor automatische
output controle van te voren elektronisch vastleggen.
7.Afspraken waar wat en door wie wordt getest; zo veel mogelijk 'links' in het
ontwikkelproces testen.
8.Inrichten testdata management op het niveau van functionaliteiten zoals user
stories.
9.Zorgen dat data testdata management flexibel en continu is.
10. Automatische regressietest en automatische output controle waarmee
handmatig werk wordt voorkomen.