Ontwikkelen en testen van e-business: beheerste dynamiek



Vergelijkbare documenten
RAD Rapid application development. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

TESTEN VOLGENS TMAP, EEN KORTE INTRODUCTIE. 1. Inleiding. 2. TMap methode. Kwaliteit zonder gestructureerd testen is toeval.

Regressietesten. De aanpak en aandachtspunten. Algemene informatie voor medewerkers van: SYSQA B.V.

RAD en testen. Een aanpak. Algemene informatie voor medewerkers van SYSQA B.V.

Evo Evolutionary Project Management. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Anko Tijman Een agile teststrategie op basis van MoSCoW

Testaanpak: leidraad voor het kiezen van een testtechniek

Sjabloon detailtestplan. <<Organisatie>>

EISEN AAN TESTPLANNEN

Mastertestplan <<Naam project>> <<Organisatie>>

PROQA Project Quality Assurance. Checklist. Behorend bij het PROQA-assessment SYSQA B.V.

Testen bij DWH-projecten

Testing University. A fool with a tool is still a fool

Examen TMPA Test Management Approach (TMap) Professional Advanced

Agile systeemontwikkeling. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Van Risicoanalyse tot Teststrategie

Testen. Presentatie. Open-i Software Services BV, Maarssen Datum : Versie : 1.2

TESTAUTOMATISERING IN EEN ETL-OMGEVING

Checklist risicofactoren IT-projecten

Testplan IpMEDT3 project

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

14/11/2010. Een duurzame testaanpak voor een veranderd informatiesysteem. Agenda. Wie is Albert?

Sjabloon testplan op basis van SYSQA -teststrategieaanpak. <<Organisatie>>

Data Warehouse. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

ISTQB Foundation level. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

Een duivelse samenwerking (Projectmanagement vs. Testmanagement) Albrie Beemer & Erik Bits 18 april 2012

Organisatie SYSQA B.V. Pagina 1 van 6 Titel Overzicht Versie 1.0 Onderwerp Overzicht blackbox testtechnieken Datum 15 februari 1996

Procesvisie op Maat. Op basis van het Master Test Plan wordt een gedetailleerd testplan voor elke fase opgesteld.

ISACA round-table 7 december 2009 Rik Marselis

Martin van Leeuwen Happy Testing

Project methodiek. Auxilium BV Oude Delft CD Delft. T: F: E:

Titel, samenvatting en biografie

Voorbeeldexamen. Testen Foundation. Editie maart 2012

TestFrame. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

Adding value to test tooling Hoe en waarom DevOps de wereld van performance testen verandert

Subwerkgroep Methoden. Toelichting inhoud en voortgang tot nu toe

Unified Process. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Woordenlijst bij TMap

Bijlage 3: Master testplan

Webtesten onder schaarste

TESTEN IN DE LOGISTIEKE E-COMMERCEKETEN

Vrijgaveadvies. Project <naam project>

Kwaliteitsbewaking en testen in ICT beheerorganisaties

Sjabloon testplan o.b.v. situationeel testen. <<Organisatie>>

Workshop verkrijgen requirements. Draaiboek requirementsontwikkeling sessie. SYSQA B.V. Almere

Kwaliteit van testen. Onbeheersbaar of ongecontroleerd? thema

Te hoog gemikte silver bullets missen doel Te hoog gemikte silver bullets missen doel

Whitepaper. Exploratory Testing. Waarom doen we dat niet altijd? door Dennis Joele

TESTEN % ITIL & ASL & BISL WAT HEEFT EEN TESTER AAN ITIL? EEN PRAKTISCH HULPMIDDEL OF BUREAUCRATISCHE BALLAST?

Eibert Dijkgraaf Kijk verder dan je test neus lang is: Life Cycle Testing Scan Voorjaarsevent Testnet: 30 juni 2008

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

Riskpoker - Confirmation - Planningpoker. Opfrissing TMap NEXT in scrum en toelichting op de opdracht Leo van der Aalst - Jos Punter - Hans Lantink

Auteur Kenmerk Versie 1.0 Datum Bestandnaam Status Definitief. NK Software Testen 2017

Wij testen..maar....wat test jij?

Test Process Improvement Benchmark. SPIder Conferentie 23 september Wim van Uden

Najaarsspecial Oktober 2013

Procesvalidatie voor een veiliger ketentest

Aandachtspunten inzet testtool. Een aanpak. Algemene informatie voor medewerkers van SYSQA B.V.

Offerte / Gemeente Breda / Versie 2.0

Sjabloon testspecificatie. <<Organisatie>>

Checklist basisontwerp SDM II

Pragmatischer en flexibeler testen, mét zekerheid

BDD/Gherkin. Een introductie

Agenda. Introductie Aan het werk Conclusie / restrospective

Sensemaking en technologische waarde bij GUItestautomatiseringstools

Portal Planning Process

XP Extreme Programming. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Betere dienstverlening financiële organisaties met continuous delivery Flexibeler, efficiënter en in kort tijdsbestek software ontwikkelen

Scrum. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Verschillen in QA aanpak tussen ERP projecten en niet-erp projecten

Test Automatisering? Mislukken Slagen gegarandeerd! Ruud Teunissen - Polteq Test Services BV

voorbeeldexamen I-Tracks Project Participation Foundation (PPF) voorbeeldexamen PPF uitgave oktober 2007

Scrum. Een introductie

Tool Ambitie Resultaat

Je kunt de presentatie na afloop van elke les downloaden. Ga naar : Kies voor de map Systeemontwikkeling

Welkom. Great SAP Test Experience. 23 maart 2015

Hoe test je een pen? Je kunt de presentatie na afloop van elke les downloaden. Ga naar : Kies voor de map Acceptatietesten

Testen en QA bij pakketimplementaties

Samenvatting TMap Next Voor resultaatgericht testen

Testen = Monitoren. Hoe de werkzaamheden van de boodschapper van de koning gaan veranderen. Datum: 30 April 2015

EXIN Projectmanagement Foundation

Testrapport NK Softwaretesten. Team: Testwerk1

Risk And Requirement Based Testing bij Acerta

Inhoudsopgave 1. Opdrachtformulering Beschouwingsgebied Binnen de opdracht Buiten de opdracht

Testrapport Fructasys

Test rapportage Waarom eigenlijk?

De tester als bruggenbouwer

Betreft: Verzoek tot Offerte AmersfoortBreed Cultuureducatie / Website Scholen in de Kunst Datum: 10 oktober 2011

C.A.S.T. Make it as simple as possible, but not simpler. Make IT as simple as possible, but not simpler. Complexiteit. Einstein maakte het simpel

Inhoud. 1. Agile werken. 2. Het belang van Agile werken. 3. Basisprincipes van Agile werken. 4. De meest gebruikte Agile methode: Scrum

RUP Rational Unified Process. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

TMapNext. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

Grenzeloos vertrouwen in een tool!?

VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER

Agile in Projecten minimalisme of strak pak? Richard Weber PMP

Whitepaper Test Management Business case voor geautomatiseerd testen

voorbeeldexamen TMap TMap NEXT Foundation editie juli 2009 inhoud 2 inleiding 3 voorbeeldexamen 15 antwoordindicatie 33 evaluatie TMPF_2.

Testen+ Testaanpak Sogeti testteam bij de Friesland Bank. Versie: 13 februari 2012 André Louwes / Arjan van der Haar

Goed functioneel beheer noodzaak voor effectievere SPI

Transcriptie:

Ontwikkelen en testen van e-business: beheerste dynamiek Het ontwikkelen en gestructureerd testen van administratieve systemen is gebaseerd het watervalprincipe. Bij het ontwikkelen volgens het watervalprincipe worden een aantal fases achter elkaar doorlopen. Deze fasen worden afgesloten met een mijlpaalproduct. Bij de ontwikkeling van e-business applicaties wordt over het algemeen systeemontwikkelingsmethodes gebruikt die gebaseerd zijn op Rapid Application Development (RAD) of een daarvan afgeleide methodein dit artikel gaan de auteurs in op de fasering van het ontwikkelen en testen van een e-business applicatie conform RAD. Bij de ontwikkeling van een e-businessapplicatie wordt een aantal eisen gesteld aan het ontwikkel- en testproces. In de eerste plaats dient de applicatie aan een aantal belangrijke kwaliteitscriteria te voldoen, zoals juistheid, snelheid, beveiliging en gebruikersvriendelijkheid. Ook op het internet geldt: There is never a second chance for a first impression. Als de gebruiker niet tevreden is over de applicatie omdat deze niet werkt zoals de gebruiker verwacht de applicatie is bijvoorbeeld niet gebruikersvriendelijk is of te langzaam klaagt deze potentiële klant niet; hij zapt. De kwaliteit van de applicatie dient dus hoog te zijn omdat het afbreukrisico op internet bijzonder hoog is. In de tweede plaats is in de internetwereld de time to market belangrijk. Als wel ruim de tijd wordt genomen om een applicatie te ontwikkelen, heeft de concurrentie eventueel haalbare voordelen ingevuld. Deze eisen aan het ontwikkelproces hebben tot gevolg dat er feitelijk veel behoefte is aan gestructureerd ontwikkelen en gestructureerd testen; maar daar is hier beperkt de tijd voor. Een dilemma waar met watervalmethoden zoals SDM en de huidige testmethoden niet uit te komen is. Rapid Application Development (RAD) heeft als voordeel dat in korte tijd een werkend systeem kan worden opgeleverd, dit voordeel mag niet teniet worden gedaan door een langdurig testtraject. Daarom dient het testen te worden afgestemd op RAD. In dit artikel wordt allereerst op de hoofdlijnen van systeemontwikkeling conform RADprincipes ingegaan. Daarna wordt er een alternatieve testaanpak gepresenteerd die de geschetste nadelen ondervangt. Ontwikkelen conform RAD. Het ontwikkelproces conform RAD-principes kenmerkt zich door: 1. hoge betrokkenheid van de opdrachtgever en gebruikers; 2. toepassing van time-box principes; 3. iteratief ontwikkelen. De hoge betrokkenheid van de opdrachtgever komt tot uitdrukking in de aanwezigheid en actieve participatie van de opdrachtgever in alle fases van systeemontwikkeling. Volgens RAD dienen de gebruikers betrokken te zijn. Bij e-business geldt het praktische probleem dat de gebruikers een grote, soms anonieme groep vormen. De opdrachtgever, of vertegenwoordigers van de opdrachtgever, vervullen dan deze rol en treden op alsof zij de gebruikers zijn. Als de toekomstige gebruiker wel bekend is kan hij benaderd worden en gevraagd worden deel te nemen in het project. Per zogenaamde timebox, een vaststaande hoeveelheid tijd die over het algemeen redelijk kort is, wordt getracht een afgebakende hoeveelheid functionaliteit te realiseren. De lengte van de timebox staat vast, als er tijdsdruk ontstaat wordt er minder ontwikkeld, de timebox wordt niet verlengd. Het iteratieve karakter van RAD komt tot uiting in de ontwerp- en ontwikkelfasen van de systeemontwikkeling. Het iteratieve karakter houdt het continue, achterelkaar herhalen van ontwerp en bouw in. Steeds wordt in een timebox een nieuw stukje functionaliteit gerealiseerd of de functionaliteit die in een eerdere timebox is gerealiseerd aangepast of uitgebreid. Door het werken in timeboxen en iteratief ontwikkelen ontstaan voordelen: het systeem wordt snel gerealiseerd, overengineering wordt voorkomen en er wordt veel

doelgerichter gewerkt. Om commerciële redenen kan eventueel gestart worden met een beperkte versie van het systeem. Het ontwikkelproces conform RAD bestaat uit de volgende fases: joint requirements planning (JRP); joint application design (JAD); prototyping; realisatie; implementatie; o verall planning en beheer. JRP JAD Prototype Realisatie Implementatie Overall Planning en Beheer Realisatieproces Joint requirements planning (JRP) Doel van de JRP-fase is dat opdrachtgever en project overeenstemming bereiken over de te bouwen functionaliteit, kwaliteitseisen, het ontwikkelproces en de projectorganisatie. De JRP is het beste te vergelijken met de definitiestudie uit SDM. Tijdens de JRP worden één of meerdere workshops georganiseerd. Deelnemers zijn het management van de opdrachtgever,bij voorkeur vertegenwoordigers van de gebruikers en enkele leden van het realisatieteam. De workshop staat onder leiding van een onafhankelijke workshop leider, ook wel vaak facilitator genoemd. Tijdens de JRP wordt de rechtvaardiging dat het systeem gebouwd gaat worden en de requirements vastgesteld. Vervolgens worden de functies die het systeem uit gaat voeren vastgesteld. Over het algemeen levert de JRP de rechtvaardiging, requirements en de architectuur van het systeem op. Joint application design (JAD) Doelstelling van de JAD-fase is het gezamenlijk ontwerpen van verschillende functies van het systeem. JAD gebeurt eveneens in workshopsessies onder leiding van een facilitator. Deelnemers zijn in dit geval de ontwerpers/ontwikkelaars (bij RAD zijn deze functies soms gecombineerd), de opdrachtgever en mogelijk eindgebruikers en eventueel de architect. Tijdens de sessie worden de functies tot op detail ontworpen. Hierbij wordt zoveel mogelijk gebruik gemaakt van hulpmiddelen zoals brown paper of ontwerptools. Doel is dat de ontwerpers/ontwikkelaars een goed besef krijgen van wat de eisen en wensen van de opdrachtgever en de gebruikers zijn, en er een ontwerp gerealiseerd wordt dat aan deze eisen voldoet. Door de actieve manier van samenwerken wordt getracht de communicatiemuur te doorbreken. Bij e-businessapplicaties proberen de deelnemers dus gezamenlijk vanuit de uiteindelijke gebruiker de applicatie te bekijken. Prototyping Doel van de fase prototyping is het gezamenlijk ontwerpen van een prototype van het systeem. Prototyping is een technieken om snel een ruwe versie van het ontworpen systeem te bouwen. Prototyping is vooral geschikt voor het ontwerpen van de user interface. Op basis van het prototype kan de opdrachtgever en, indien aanwezig, de gebruiker het toekomstige systeem beoordelen en eventuele verbeteringen aanbrengen. Omdat het succes van e- businessapplicaties in hoge mate afhankelijk is van de user interface, is het toepassen van

prototyping dus belangrijk. Bij RAD dienen de gebruikers het prototype te beoordelen. Bij e- business zijn de eindgebruiker niet altijd bekend, ze vormen zeker geen onderdeel van de organisatie van de opdrachtgever. Indien de toekomstige gebruikers uit een beperkte groep bekende personen of organisaties bestaan, kan de opdrachtgever proberen een vertegenwoordiging hiervan uit te nodigen om het prototype te beoordelen. Als vanzelfsprekend heeft dit ook commerciële voordelen. Als de groep toekomstige gebruikers niet bestaat uit een beperkte groep bekende personen of organisaties, kan getracht worden een representatieve afvaardiging van (potentiële) gebruikers het prototype te laten beoordelen. Realisatie Op basis van de requirements (JRP), het ontwerp (JAD) en het prototype wordt de e- businessapplicatie ontwikkeld. Delen van het systeem kunnen beoordeeld worden door de opdrachtgever; dit kan ook geïntegreerd worden in het testproces. Implementatie De implementatie kan plaatsvinden als het hele systeem af is, het kan gefaseerd gebeuren. Als vanzelfsprekend dienen de afzonderlijke delen bruikbaar te zijn en meerwaarde te hebben voor de gebruiker. Het kan bij e-business zelfs voordelen hebben het systeem in delen beschikbaar te stellen. Iedere keer als er weer een deel is geïmplementeerd, zijn de gebruikers aangenaam verrast en kunnen zij meer. Voorwaarde is wel dat de eerste versie voldoende functionaliteit bevat zodat de gebruiker voldoende redenen heeft het systeem te gebruiken. Ook is het een eis dat nieuwe versies foutloos zijn. Eén slechter ervaring kan het verlies van gebruikers veroorzaken. Het testproces Het ontwikkelproces is bij e-business, zoals uit bovenstaande blijkt, een dynamisch, flexibel proces met hoge betrokkenheid van de opdrachtgever en mogelijke gebruikers. Dat geldt niet voor het klassieke testproces zoals we dat kennen. Bij het testproces zoals wij dat kennen is sprake van een aantal fases die elkaar opvolgen. Daarom dient het testproces aangepast te worden bij het toepassen van RAD of een daarvan afgeleide methode. Het testproces bestaat uit de volgende fases: teststrategie voorbereiding specificatie uitvoering testafronding Inzet testtools Test Strategie Voorbereiding Specificatie Uitvoering Test Afronding Overall Planning en Beheer Testproces Teststrategie Het testproces start met het opstellen van een teststrategie. In de teststrategie wordt gesteld wat het doel van de test is en wat op welke manier getest gaat worden. Als input hiervoor worden de rechtvaardiging en de requirements van het systeem genomen. Tijdens de test dient namelijk vastgesteld te worden of het uiteindelijke systeem tegemoet komt aan de rechtvaardiging en de requirements. Eén van de eindproducten van de teststrategie is een lijst eisen en acceptatiecriteria die alle stakeholders aan het systeem stellen (H.J.J.

Cannegieter, kwaliteitszorg in ICT-projecten, 2001). Tevens is in de teststrategie aangegeven op welke wijze wordt vastgesteld hoe aan de eisen en acceptatiecriteria is voldaan. Voorbereiding Nu bekend is wat getest moet worden, wordt het testproces verder ingericht. Zaken als organisatie, infrastructuur, mijlpalen en bijbehorende producten worden gedefinieerd. Bij voorkeur worden ook sjablonen en andere hulpmiddelen gemaakt om de testspecificatie en uitvoering te ondersteunen. Een andere belangrijke activiteit is de beoordeling of testtools bij dit project meerwaarde hebben. De implementatie van testtools wordt dan tijdens deze fase voorbereid (Één, twee, drie, test, Computable 25 februari 2000). Specificatie Het hart van testen is en blijft het specificeren van testgevallen. In de klassieke testaanpak gebeurt dat nadat het ontwerp is gemaakt. Mede hierdoor kost het testtraject, mits het om een kwalitatief goed testtraject gaat, veel tijd, wat een negatief effect heeft op de doorlooptijd. Daarom dient er bij RAD in combinatie met e-business eerder gestart te worden met het specificeren van testgevallen. Het specificeren van testgevallen dient dus gelijk op te lopen met het ontwerp en de bouw. Dit pleit ervoor dat de tester ook aanwezig is bij de JADsessies. Op basis van de informatie uit de JAD-sessies kan de tester direct testgevallen maken. Door de testspecificaties naast de functionele specificaties te leggen kunnen lacunes en misinterpretaties in beide documenten gevonden worden. Als de testspecificaties toch gebaseerd worden op de functionele specificaties is er een kortere tijd voor de testvoorbereiding. Mogelijk is het natuurlijk wel, het specificeren van testgevallen is dan eenvoudiger. Het specificeren van testgevallen kan door (vertegenwoordigers van) gebruikers gebeuren. Het professioneel toepassen van testtechnieken blijft echter van groot belang. Het gebruik van testtechnieken bepaalt in hoge mate de professionaliteit van de test. Toekomstige gebruikers kunnen daarom opgeleidt worden tot tester. Gegeven het eerder genoemde afbreukrisico is het inzetten van professionele testers vaak te prefereren. Bij e-business kunnen testers zich over het algemeen makkelijk in de rol van gebruiker plaatsen. Uitvoering De uitvoering van testgevallen dient zo vroeg mogelijk plaats te vinden. Het beoordelen van de user interface is bij e-business al mogelijk als het prototype klaar is. De eerste versie van het systeem kan ook direct getest worden. Bevindingen worden dan direct meegenomen. Ook in de uitvoeringsfase heeft de inzet van professionele testers een kwaliteitsverhogend effect op het testproces. Bij nieuwe versies van het systeem wordt de uitgebreide of aangepaste software getest. Het is, zeker als het om een nieuwe implementatie bij e-business gaat, echter minstens zo belangrijk dat de onveranderde delen van het systeem ook onveranderd werken. Dit betekend dus regressietesten. Daarom is het conserveren van testscripts van groot belang. Als bij de regressietest blijkt dat delen van de testscripts niet worden bewaard, dan wel onduidelijk of onjuist zijn, kost dit direct meer tijd. Testafronding Een deel van de testafronding, het conserveren van testware, dient te gebeuren tijdens de specificatie en uitvoeringsfase. Bij het afsluiten van het traject dient het echter zodanig geconserveerd te worden dat ook andere partijen gebruik kunnen maken van de testware. Inzet testtools Door het grote aantal hertests bij RAD, en dus vaak bij e-business, is de inzet van testtools die de testuitvoering automatiseren mogelijk zeer voordelig. Het onderzoek of testtools ingezet dienen te worden gebeurt tijdens de voorbereiding. De inzet vindt plaats tijdens de specificatie en uitvoering. De voordelen worden vooral benut tijdens de uitvoering.

Overall planning en beheer Het gehele testproject dient optimaal afgestemd te worden op de overige projectactiviteiten. Bij e-business zijn de eisen aan snelheid en kwaliteit zodanig hoog dat goede afstemming en strakke organisatie onontbeerlijk zijn. Bovenstaande testfasering leidt tot een testtraject wat aan de ene kant aansluit op de flexibiliteit en dynamiek van een e-businessproject. Aan de andere kant biedt bovenstaande testfasering voldoende zekerheden dat aan de vaak hoge kwaliteitseisen van een e- businessapplicatie wordt voldaan. Dit wordt bereikt door de testers vroeg te betrekken bij het ontwikkelproces en de specificatie en uitvoering mee te laten itereren met het ontwerp en ontwikkeling van de applicatie. Op deze manier draagt testen bij tot het succes van e- business in plaats van een remmende factor te zijn. Jan Gieles en Jan Jaap Cannegieter. Jan Gieles is directeur van SYSQA B.V. Jan Jaap Cannegieter is productmanager van SYSQA B.V.