Automatiseret Test & Continuous Integration. Rikke Simonsen & Mads Danquah

Relaterede dokumenter
Behavior Driven Test and Development. ebay Classifieds

Mobiltest automatisering - erfaringer direkte fra skyttegraven. TestExpo 2014

Plan for præsentationen

The LEGO Journey: Building an agile test foundation one brick at the time. Casper Gaardland Englund. Stephan Hjelmdal Nielsen The LEGO Group l

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Ud af krisen. Software på tværs, 15. juni 2009

Development environments made easy

Dean's Challenge 16.november 2016

Det vigtigste først! Dette er måske den vigtigste bog der nogensinde er skrevet om agile vs. vandfald. Muligvis fordi det vel stadig er den eneste

Hvor er mine runde hjørner?

Succesfuld anvendelse af Behavior Driven

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Agil-model versus V-model set i lyset af en testers dilemmaer

Software test i Socialstyrelsen. af: Jan Kristensen. Nov 2013

Scrum og agile. Torsdag d. 29. november 2007

how to save excel as pdf

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile

It-håndbogen. Uddrag af artikel trykt i It-håndbogen. Gengivelse af denne artikel eller dele heraf er ikke tilladt ifølge dansk lov om ophavsret.

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X & 10.8

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US

Observation Processes:

extreme Programming Kunders og udvikleres menneskerettigheder

CHAPTER 8: USING OBJECTS

Online kursus: Content Mangement System - Wordpress

IT Service Management (ITIL) i en agil verden. Lars Zobbe Mortensen

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

Den Danske Esri Brugerkonference 2019 What's new in ArcGIS Enterprise og Administration af ArcGIS Enterprise

IT-Universitetet, Projekt- og Programledelse November 2013 AGIL PROGRAMLEDELSE

Vejen til nemmere og mere sikker implementering af Microsoft Dynamics AX

Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet?

Noter fra workshop med OS2

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

GUIDE TIL BREVSKRIVNING

Microservices. Hvad er det og hvordan kommer du i gang?

Succesfuld implementering af automatiseret test

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

INTEL INTRODUCTION TO TEACHING AND LEARNING AARHUS UNIVERSITET

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Experience. Knowledge. Business. Across media and regions.

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

TØ PÅ MATEMATIK AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY LEARNING LAB 18. AUGUST 2017 CENTERLEDER, ST LEARNING LAB

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

LESSON NOTES Extensive Reading in Danish for Intermediate Learners #8 How to Interview

make connections share ideas be inspired

Hvordan vælger jeg dokumentprofilen?

Design til digitale kommunikationsplatforme-f2013

Brugerdreven innovation

Testing Tuesday 07.Juni Aarhus. CapgeminiSogeti

Agil softwareudvikling i praksis. v/ Thomas Schou-Moldt, Lead Architect, Miracle A/S

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF)

Kvalitetssikring og agile udvikling

Titel: Barry s Bespoke Bakery

BRUTTO CV Peter Petersen

[A20] Kick off document and process description. 1 of 5

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Hovedopgave. Diplom i Informationsteknologi linien i Softwarekonstruktion. med JBehave. Af Jan Duelund & PrebenEriksen

Oasis: Part of the GIRAF System

Øg sporbarhed og produktivitet gennem integration

Succes med agile. The hardest single part of building a software system is deciding precisely what to build. Fred Brooks, No Silver Bullet

#TestExpo. Test I en skaleret udviklingsmodel

Trolling Master Bornholm 2015

INDSIGELSE DISPUTE. Nordjyske Bank Hotline

How Long Is an Hour? Family Note HOME LINK 8 2

Casper Fabricius ActiveRecord. O/RM i Ruby on Rails

Objektorienterede metoder

Vina Nguyen HSSP July 13, 2008

Mustafa Saglam SAP Integration & Certification Center

Byggepolitisk konference Anders Sælan Ass. Partner, MAA, MBV

Fart på SAP HANA. Sådan laver du analyser direkte på dine data i realtid. Copyright 2012 FUJITSU. Fujitsu IT Future, København, den 16.

Immigration At studere

Aktivering af Survey funktionalitet

DANMARKS NATIONALBANK LEVER AGIL UDVIKLING STADIG I DET VILDE VESTEN

Lovkrav vs. udvikling af sundhedsapps

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation

Dynamisk hverdag Dynamiske processer

Boligsøgning / Search for accommodation!

Kombinér. tirsdag d. 20. september 2011 Rovsing Management Agile Team

Engelsk 6. klasse årsplan 2018/2019

Præstation vs. Resultat

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne

Vejledning til Sundhedsprocenten og Sundhedstjek

Nintex Workflow UK/DK

TM4 Central Station. User Manual / brugervejledning K2070-EU. Tel Fax

Opgrader til nyeste Dynamics AX version og profiter af løbende opdateringer

INTERAKTIONSDESIGN. Marianne Graves Petersen Associate Professor

Product Ownerens værktøjskasse

DYNAMICS AX 2012 RAPIDVALUE FÅ OVERBLIK OG SE NYE MULIGHEDER. John T. Hummelgaard & John Petersen Maj 2013

Reventlow Lille Skole

Registratormøde. Aarhus 6. maj 2014

Agile kontrakter Hvad skal der til for at få success? IDA IT 28. Oktober 2016 Lene Pries-Heje, lektor på ITU

Exploring Subversive Eclipse SVN Team Provider

Visuel prototyping og agil BPM. Copyright 2013 Visuel it ApS

Food Secrets of the Superbrands, BBC Knowledge, , 52 min. Engelsk tale.

Tech College Aalborg. ASP.NET Hjemmeside. Projekt Smart Zenior Home - Guide til ASP.NET hjemmeside med Visual Studio

Tilmelding sker via stads selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

REDKEN EDUCATION 2018 LEARN BETTER. EARN BETTER. LIVE BETTER.

CV Jakob Niemann. Resumé: Nøglekvalifikationer. Personlighed. Født: 24/

Forelæsning den 18. marts 2002

Transkript:

Automatiseret Test & Continuous Integration Rikke Simonsen & Mads Danquah

Hvem er vi?

Danmarks førende tekniske eksperter!i Drupal CMS rådgivning og udvikling

! Mads Danquah, Udvikler Implementerer funktionalitet i samarbejde med kunde, projektleder og tester. Bidrager med ekspertviden om, hvad man kan - så fokus kan blive på, hvor man vil hen.! Rikke Simonsen, Tester! Planlægger og udfører tests af funktionalitet. Skriver specifikationer sammen med kunden og implementer dem som automatiserede tests.

Hvad vil vi fortælle om?

Om hvordan du i agil softwareudvikling sikrer høj udviklingshastighed og høj kodekvalitet når udviklingscyklusen er kort og nye features releases ofte

1. Agil softwareudvikling 2. Behavior Driven Development 3. Automatiseret test 4. Kort pause (10 min) 5. Vores udviklingsproces 6. Continuous Integration

Agil softwareudvikling

Det agile manifest Individer og interaktioner over processer og værktøjer Fungerende software over omfattende dokumentation Samarbejde med kunden over kontraktforhandlinger Reagere på ændringer over at følge en plan

Behavior Driven Development

TDD

http://dannorth.net/introducing-bdd/ I had a problem. While using and teaching agile practices like test-driven development (TDD) on projects in different environments, I kept coming across the same confusion and misunderstandings. Programmers wanted to know where to start, what to test and what not to test, how much to test in one go, what to call their tests, and how to understand why a test fails. Dan North, 2006

Eksempel 1 Egenskab: Fritekstsøgning på arrangement For at kunne finde arrangementer der kunne interessere mig Som medlem af IDA Vil jeg gerne kunne foretage en fritekstsøgning på titel! Baggrund: Givet arrangementet Gå-hjem-møde: Automatiseret Test & Continuous Integration eksisterer! Scenarie: Søgning på del af titel Givet jeg er på siden Arrangementer Når jeg udfører en fritekstsøgning på teksten Continuous Integration Så skal søgeresultatet indeholde arrangementet Gå-hjemmøde: Automatiseret Test & Continuous Integration

Skriv din test i Gherkin (på dansk) Egenskab: [Titel på feature] For at [opnå et givent mål] Som [bruger/rolle] Vil jeg have [feature]! Baggrund: [Valgfri beskrivelse] Givet [Forudsætning]! Scenarie: [Valgfri beskrivelse] Givet [Forudsætning] Når [Erklæring] Og [en anden erklæring] Så [Postcondition] Men [en anden postcondition]! [Flere scenarier]

Eller på engelsk Feature: [Title of the feature] In order to [achieve some goal] As a [user/role] I want to [do action]! Background: [Optional description] Given [Precondition]! Scenario: [Optional description] Given [Precondition] When [Statement] And [another statement] Then [Postcondition] But [another postcondition]! [more scenarios]

Eksempel 2 Feature: One or more images available on ads when First Class Member In order to differentiate the memberships As a site owner The First Class Members can upload multiple images per ad! Scenario Outline: Create an ad with images Given I am on homepage And I log in as the user "First Class Seller" When I create the ad "Cocktail Dress" with <Number of images> Then I should see <Message>! Examples: Number of images Message 0 "Billede af annoncen skal udfyldes" 1 "Product Cocktail Dress er blevet oprettet" 3 "Product Cocktail Dress er blevet oprettet"

Automatiseret test

DEMO

Cucumber for Ruby JBehave for Java NBehave and SpecFlow for C# Freshen for Python Behat for PHP

DEMO

DEMO

10 minutters pause

Continuous Integration og hvordan vi gør det

Præmissen for at vi kan gøre hvad vi gør i Reload Vi har rigtig dygtige folk der kan alt Vores folk må alt (f.eks. release til produktion) Vi gifter os ikke med værktøjer eller processer og tager dem regelmæssigt op til revurdering - findes der et bedre værktøj til opgaven bruger vi det hellere end at hænge i fortiden.

Omstændigheder og råstoffet Vi er i et felt der traditionelt er lidt rodet, præget af travlhed og manglende best practices En dygtig webudvikler er ikke nødvendigvis højtuddannet Vi går derfor efter dygtige (uagtet baggrund), og sikre kvaliteten vha. væktøjer, process og kultur.

Et kik i værktøjskassen! (pr. september 2014) SCM: Git (hosted hos Github) Issuetracker: JIRA Build: Jenkins, CircleCI, Grunt, Drake (hjemmebrygget) Codestyle og lignende: Scrutinizer, phploc, phpcs, pmd Udviklingsværktøj: PhpStorm, Sublime, emacs, vim Vi kan godt lide cloudløsninger!

Tech Vi arbejder efter Continuous Integration - dvs få branches der lever i kort tid (timer til få dage)! Branch + merge pr. issue

Et par vigtige detaljer Ideelt har vi den fulde kode-base samlet i ét repository. Der er ikke noget i vores sites der skal compiles. Vi kan release direkte fra Git. Dvs, det der ligger i produktion er det samme bit for bit som det der ligger i vores repository

Udviklingsprocess Implementering af et issue Review Test (gentag til sprintet er slut) Release

Implementering Gennemlæse issue Branche af fra develop Implementere rettelsen lokalt Test lokalt DEMO

Review Målet med et review er at få en andens øjne på koden. Vi har ikke nogen formelle regler for et review. Vi bruger vi Githubs udemærkede pull-requests DEMO

Test Deployment til et test-miljø Verifikation af tester / forretningen Branche af fra develop Implementere rettelsen lokalt Test lokalt DEMO

Release Udviklingsbranchen merges i release Evt sidste automatiske tests Der deployes - evt bare med et git checkout

Fremtiden - ting på vores ønskeliste Blive bedre til unittests - Drupal (og en del andre CMS-systemer) har syltet tingene sammen Blive bedre til at styre konfiguration vs kode Begynde at teste imod kendte konfigurations og indholds baselines Automatiske deployments i forbindelse med merge Optimere endnu mere på processen :)

Spørgsmål

Kontakt os: rikke@reload.dk mads@reload.dk!!