Testnet ZomerWorkshops 2016

Vergelijkbare documenten
Interaction Design for the Semantic Web

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

Capturing Agile Requirements by Examples (CARE)

Taco Schallenberg Acorel

Firewall van de Speedtouch 789wl volledig uitschakelen?

Preschool Kindergarten

Luister alsjeblieft naar een opname als je de vragen beantwoordt of speel de stukken zelf!

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

General info on using shopping carts with Ingenico epayments

Disclosure belofte. Ik stel het belang van de patiënt voorop en eerbiedig zijn opvattingen. Doel van de patient staat centraal

OPEN TRAINING. Onderhandelingen met leveranciers voor aankopers. Zeker stellen dat je goed voorbereid aan de onderhandelingstafel komt.

MyDHL+ Van Non-Corporate naar Corporate

Media en creativiteit. Winter jaar vier Werkcollege 7

Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO

Handleiding beheer lijst.hva.nl. See page 11 for Instruction in English

Speaking and Language Learning. 3rd February 2016

Puzzle. Fais ft. Afrojack Niveau 3a Song 6 Lesson A Worksheet. a Lees de omschrijvingen. Zet de Engelse woorden in de puzzel.

Vergaderen in het Engels

Four-card problem. Input

Introductie in flowcharts

Maillijsten voor medewerkers van de Universiteit van Amsterdam

ETS 4.1 Beveiliging & ETS app concept

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

ARDUINO IS AN OPEN-SOURCE ELECTRONICS PROTOTYPING PLATFORM BASED ON FLEXIBLE, EASY-TO-USE HARDWARE AND SOFTWARE.

KPMG PROVADA University 5 juni 2018

Aim of this presentation. Give inside information about our commercial comparison website and our role in the Dutch and Spanish energy market

Comics FILE 4 COMICS BK 2

Script. Good health starts with good food. That s true for people as much as it is for animals.

Group work to study a new subject.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland

Engels op Niveau A2 Workshops Woordkennis 1

Travel Survey Questionnaires

De grondbeginselen der Nederlandsche spelling / Regeling der spelling voor het woordenboek der Nederlandsche taal (Dutch Edition)

Understanding and being understood begins with speaking Dutch

Een vrouw, een kind en azijn (Dutch Edition)

Interaction Design for the Semantic Web

B1 Woordkennis: Spelling

Ik kom er soms tijdens de les achter dat ik mijn schoolspullen niet bij mij heb of niet compleet

Impact en disseminatie. Saskia Verhagen Franka vd Wijdeven

Concept of Feedback. P.S. Gandhi Mechanical Engineering IIT Bombay

Je kunt de mbot ook draadloos programmeren via Bluetooth of met 2.4G Wireless. Bekijk de instructies op mbot draadloos.

Gebruikershandleiding. robotcar.nl

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

It s all about the money Group work

ICT -idee 1. Om met Themeefy te kunnen werken moet je eerst een account aanvragen. Het aanvragen van een account is gratis en gaat als volgt.

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Academisch schrijven Inleiding

University of Groningen Educational value of digital examination

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

Online Resource 1. Title: Implementing the flipped classroom: An exploration of study behaviour and student performance

Opleiding PECB IT Governance.

Healthy people want everything, sick people want only one thing. would love to see a Hospital Teacher

Quick scan method to evaluate your applied (educational) game. Validated scales from comprehensive GEM (Game based learning Evaluation Model)

The Elements of User Experience College 1

VIOS: Veiligheid In en Om School (Safety In and Around Schools)

Talentmanagement in tijden van crisis

150 ECG-problemen (Dutch Edition)

Zo werkt het in de apotheek (Basiswerk AG) (Dutch Edition)

Holistic resilient delta design

TABASCO. Taak gestuurd leren bij Engels

APPROACHING THE FAMILY

EM7680 Firmware Update by OTA


BISL EEN FRAMEWORK VOOR BUSINESS INFORMATIEMANAGEMENT (DUTCH LANGUAGE) (GERMAN EDITION) (DUTCH EDITION) BY REMKO VAN DER POLS, RALPH DONA

De mbot Ranger. Je wilt zeker meteen al aan de slag. Maar voordat we beginnen moet je 3 dingen weten.

The upside down Louisa tutorial by Dorothée: Noortjeprullemie.blogspot.be Written for Compagnie M.: m.com

LONDEN MET 21 GEVARIEERDE STADSWANDELINGEN 480 PAGINAS WAARDEVOLE INFORMATIE RUIM 300 FOTOS KAARTEN EN PLATTEGRONDEN

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

Topic 10-5 Meeting Children s Intellectual Needs

User Centred Development. UCD Werkcollege blok 1 week 4

MyDHL+ ProView activeren in MyDHL+

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

In the classroom. Who is it? Worksheet

MyDHL+ Uw accountnummer(s) delen

Handleiding Digipass DP310

NETWORK CHARTER. #ResourceEfficiency

Win a meet and greet with Adam Young from the band Owl City!

NUCHTER, EEN HELDERE KIJK EN NO-NONSENSE

English is everywhere. hi morning mouse cool help desk hello computers mail school game. Lees de tekst. Omcirkel de Engelse woorden.

UNIT 2 Begeleiding. Coaching proces, Instrumenten and vaardigheden voor Coacing en mobiliteit for Coaching and Mobility

Scratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!

Future of Innovation. Ruud Smeulders, BrilliantBrains. Annual General Meeting of the NCCC 24 april 2013

Dutch survival kit. Vragen hoe het gaat en reactie Asking how it s going and reaction. Met elkaar kennismaken Getting to know each other

Een vrouw, een kind en azijn (Dutch Edition)

L.Net s88sd16-n aansluitingen en programmering.

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g

LET S SHARE SOME VALUES OUR CODE OF BUSINESS CONDUCT AND ETHICS ONZE NORMEN EN WAARDEN

Main language Dit is de basiswoordenschat. Deze woorden moeten de leerlingen zowel passief als actief kennen.

Clinical Microsystem Thinking The Gouda story in perspective

een kopie van je paspoort, een kopie van je diploma voortgezet onderwijs (hoogst genoten opleiding), twee pasfoto s, naam op de achterkant

Consumer billing Best practices

should(n t) / should(n t) have to zouden moeten / hadden meestergijs.nl

A2 Workshops Grammatica Heden

Find Neighbor Polygons in a Layer

Testautomatisering werkt niet bij Continuous Delivery en DevOps

Website beoordeling feedbackvote.com

Transcriptie:

Testnet ZomerWorkshops 2016 Specification by Example met Robots Gedrag van robot specificeren Bartosz Robotsz 1

Agenda Introductie Specification by Example Introductie mbot Aan de slag Take aways Bartosz Robotsz 2

Introductie Specification by Example Bartosz Robotsz 3

Setting the scene Testing Learning by experimenting, including study, questioning, modeling, observation, inference, etc. Human checking Machine checking 15 juli 2016 Specification byexample 4

Setting the scene Focus in the last 10-15 years: Building the product right In order to succeed AND survive: Building the right product 15 juli 2016 Specification byexample 5

Setting the scene "To be succesfull at a regular basis we as software professionals need to rethink our specification and development strategies - Some smart guy 15 juli 2016 Specification byexample 6

Setting the scene 15 juli 2016 Specification byexample 7

Requirements, examples and tests Specifications are important to anyone trying to understand the system Specification have to be written in a language that everybody understands: BUSINESS LANGUAGE NO When user logs on with valid credentials, and empty panel is displayed. YES When player logs on with valid credentials, and empty board game is displayed. 15 juli 2016 Specification byexample 8

Requirements, examples and tests People often use examples as they explain complex topics Why don t add these examples to our specifications? 15 juli 2016 Specification byexample 9

Requirements, examples and tests 15 juli 2016 Specification byexample 10

Key process patterns 15 juli 2016 Specification byexample 11

Deriving scope from goals Why and how Understanding why something is needed by whom is crucial to evaluating a suggested solution Understand where value is coming from Understand what output the customer expects Asking about usefulness and alternatives Make sure teams deliver complete features 15 juli 2016 Specification byexample 12

Specifying collaboratively Building shared understanding of what needs to done Helps to produce specifications that are easy to understand Helps to write tests that are easy to maintain 15 juli 2016 Specification byexample 13

Specifying collaboratively Three amigos 15 juli 2016 Specification byexample 14

Illustrate using examples Examples from specification through development to testing Shared understanding Realistic, precise, complete, easy to understand Helps spotting inconsitencies and functional gaps 15 juli 2016 Specification byexample 15

Illustrate using examples Get basic examples direct from customers Use real life data: Clarifies understanding of the domain Understanding of realistic usage Testing with real data is eating your own dogfood Helps users/customers to validate the requirement 15 juli 2016 Specification byexample 16

Refining the specification A good specification, with examples, is effectively an acceptance test for the described functionality Descriptive title and goal: A set of examples won t do A description of the business rule won t do Both comprise 80% of the content. Working them out together clarifies title, goal and examples Validate the specification: Show and keep quiet" 15 juli 2016 Specification byexample 17

Given, when, then Feature: Some terse yet descriptive text of what is desired Textual description of the business value of this feature Business rules that govern the scope of the feature Additional information that makes it easier to understand Scenario: Some determinable business situation Given some precondition When some action by the actor Then some testable outcome is achieved 15 juli 2016 Specification byexample 18

Given, when, then Gherkin syntax: You can combine several Given and When statements by using And You can use But to add more conditions Scenario: Multiple Givens Given one thing And another thing And yet another thing When I open my eyes Then I see something But I don't see something else 15 juli 2016 Specification byexample 19

Introductie mbot Bartosz Robotsz 20

Wat achtergrond informatie Bartosz Robotsz 21

mbot De mbot is een speciaal voor het onderwijs ontwikkelde robot. Met de mbot kunnen leerlingen stap voor stap de beginselen leren van programmeren en robotica. Door het programmeren te koppelen aan robotica zien de leerlingen niet enkel op het scherm wat hun programma doet maar gebeurt er echt iets met hun robot. Bartosz Robotsz 22

Arduino Arduino is een opensource-computerplatform dat is opgebouwd rond de ATmega168-microcontroller van Atmel en het softwareontwikkelplatform Processing. Dit platform is bedoeld voor hobbyisten, artiesten, kunstenaars en iedereen die geïnteresseerd is in het maken en ontwerpen van slimme en creatieve objecten die kunnen reageren op hun omgeving. Met Arduino is het mogelijk apparaten en objecten te creëren die reageren op hun omgeving door middel van digitale en analoge inputsignalen. Op basis van deze input kan een Arduinoschakeling autonome actie initiëren door het afgeven van digitale en analoge outputsignalen. Input kan bijvoorbeeld worden gegenereerd door schakelaars, lichtsensoren, bewegingsmeters, afstandsmeters, temperatuursensoren, of op basis van commando's afkomstig van internet, een radiomodule of een ander apparaat met een seriële interface. Outputsignalen kunnen bijvoorbeeld motoren, lampjes, pompjes en beeldschermen aansturen, maar ook input genereren voor een andere Arduinomodule. Bartosz Robotsz 23

Arduino Bartosz Robotsz 24

mbot input en output die reageren op hun omgeving door middel van digitale en analoge inputsignalen Knop IR Sensor Afstandsensor (Ultrasonische module) Licht/Donker sensor Lijnvolg sensor Outputsignalen kunnen bijvoorbeeld motoren, lampjes, pompjes en beeldschermen aansturen Twee motoren Twee RGB ledlampjes Geluid Bartosz Robotsz 25

Scratch Scratch is een programmeertaal waarmee je je eigen interactieve animaties, spelletjes, muziek en kunstwerken kunt maken. Die kun je ook online delen als een Scratch-project. Scratch is in veel talen beschikbaar, ook in het Nederlands! Je hoeft dus geen Engels geleerd te hebben om er mee te kunnen werken. Om je eigen computerprogramma s te maken, moet je gekleurde blokken op elkaar stapelen. Op die blokken staan opdrachten voor de computer. De blokken vertellen de computer wat allerlei figuurtjes in je programma moeten gaan doen. Die figuurtjes kun je zelf tekenen, maar je kunt ook de plaatjes uit de plaatjesbibliotheek van Scratch gebruiken of bijvoorbeeld een foto importeren. Projecten maak je extra leuk door er ook geluidjes en/of muziek aan toe te voegen. Bartosz Robotsz 26

mblock mblock is een uitbreiding van Scratch. Er zijn blokken in toegevoegd waarmee de mbot aangestuurd kan worden. Scratch code wordt vertaald naar Arduino code. Via de mblock EDI wordt deze code naar de mbot gestuurd. Bartosz Robotsz 27

mblock 0 - op de lijn 1 - rechts van de lijn 2 - links van de lijn 3 - niet op de lijn Bartosz Robotsz 28

Aan de slag! Wat gaan we doen? Als Robot wil ik zo snel mogelijk het parcours afleggen Zodat ik in de paddock kan gaan rusten Bartosz Robotsz 29

Aan de slag! Wat gaan we doen? Vijf groepen: Iedereen: Vijf groepen: Vijf groepen: Voorbeelden van gedrag beschrijven Bespreken van de voorbeelden Werkend maken van Scratch scenario s Wedstrijd: Gehele parcours (scenario s samenvoegen) Bartosz Robotsz 30

Aan de slag! Voorbeelden van gedrag beschrijven 1. Knip de baan op in stukken 2. Gebruik post-it blaadjes om voorbeelden te verzinnen 3. Werk de voorbeelden uit in Gegeven...Als Dan... Bartosz Robotsz 31

Aan de slag! Wat gaan we doen? Bespreken van de voorbeelden Bartosz Robotsz 32

De lijn volgen 1/2 Functionaliteit: mbot volg de lijn Scenario: mbot volgt een rechte lijn Gegeven dat de mbot de lijn volgt Als de mbot op de lijn blijft Dan gaat de mbot rechtdoor Scenario: mbot wijkt af aan de rechterkant van de lijn Gegeven dat de mbot de lijn volgt Als de mbot aan de rechterkant van de lijn afwijkt Dan stuurt de mbot bij naar links Bartosz Robotsz 33

De lijn volgen 2/2 Scenario: mbot wijkt af aan de linkerkant van de lijn Gegeven dat de mbot de lijn volgt Als de mbot aan de linkerkant van de lijn afwijkt Dan stuurt de mbot bij naar rechts Bartosz Robotsz 34

Een bocht naar rechts Functionaliteit: mbot neemt bocht naar rechts Scenario: mbot neemt een bocht naar rechts Gegeven dat de mbot de lijn volgt Als de mbot de lijn helemaal niet meer ziet En er geen muur op een afstand van minder dan 20 cm staat Dan neemt de mbot een bocht naar rechts Bartosz Robotsz 35

Een bocht naar links Functionaliteit: mbot neemt bocht naar links Scenario: mbot neemt een bocht naar links Gegeven dat de mbot de lijn volgt Als de mbot de lijn helemaal niet meer ziet En er wel een muur op een afstand van minder dan 20 cm staat Dan neemt de mbot een bocht naar links Bartosz Robotsz 36

De paddock Functionaliteit: mbot bereikt paddock Scenario: mbot bereikt de paddock en zet zijn motoren uit Gegeven dat de mbot de lijn volgt Als het donker wordt Dan stopt de mbot met bewegen Bartosz Robotsz 37

Aan de slag! Wat gaan we doen? Werkend maken van Scratch scenario s Bartosz Robotsz 38

Scratch scenario s Ga aan de slag met de mbot en Scratch op de PC. Maak de vier stukken code werkend (in map Oefen scenarios ) Wij hebben al wat voorbereid maar het bevat fouten. Je kan de uitgeprinte mini parcours stukken gebruiken. Bartosz Robotsz 39

Aan de slag! Wat gaan we doen? Wedstrijd: Gehele parcours Bartosz Robotsz 40

Scratch scenario s Maak van de 4 stukken correcte code een werkend geheel waarmee het gehele parcours gedaan kan worden. Je krijgt de uitwerkingen van de vier verschillende stukken op papier Bartosz Robotsz 41

42

Take aways Bereik een gedeeld beeld over gedrag, niet over de implementatie Laat implementatie niet terugkomen in je scenario s BDD & SbE gaat niet primair over testen Tools als Cucumber en Fitnesse gaan niet over testautomatisering 43

Vragen? Bartosz Robotsz 44

Prijs Bartosz Robotsz 45

Scratch code & Parcours op papier Bartosz Robotsz 46