Kwaliteit van Software

Vergelijkbare documenten
13/07/2012. Op naar Product Quality Monitoring René Tuinhout. Agenda. Tijdsindeling. K o f f i e p a u z e. TestNet Summerschool, juni 2012

Product Quality Management, onze toekomst René Tuinhout

End-to-End testen: de laatste horde

Continuous testing in DevOps met Test Automation

Risk & Requirements Based Testing

Satisfy the real (and changing) customer expectation

Test rapportage Waarom eigenlijk?

Stichting NIOC en de NIOC kennisbank

De brug tussen requirement engineer en gebruiker

Master Software Engineering. Inhoud, begeleiding, tentamen dr. Anda Counotte Docent en mentor

Wie durft? Kwaliteit rapporteren voor het IT project start! Bart-Jan de Leuw TestNet 10 mei 2011

Software Test Plan. Yannick Verschueren

Requirements Traceability. Marcel de Baas, Jan Bank, Edwin Buisman, Frits Jacobs, Kitty Spaas, Erik Venema, Arno Zandman

Pagina 1/6. Joris Van Geet! :59 Comment: 1pt voor iteratief 1pt voor incrementeel niets voor een voorbeeldje

Continuous Delivery. Sander Aernouts

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

GAMP Toegepast op de DeskTopXorter Besturing DeskTopXorter

Software Test Plan. Yannick Verschueren

De praktische kant van de Cloud De Cloud en modellen maken pay per use mogelijk

Welke standaard is het beste? 4 december 2008, Bianca Scholten, bianca.scholten@task24.nl, tel

Teststrategien. Pieter van den Hombergh. 20 februari Fontys Hogeschool voor Techniek en Logistiek Software Engineering

Auditen van Agile projecten

Testen onder architectuur in de cloud

RISICO MANAGEMENT, BASIS PRINCIPES

SEN1 Software Engineering 1

Adding value to test tooling

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo

Software Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar

Adding value to test tooling

Teststrategien. Hebben we wel het juiste gebouwd? Pieter van den Hombergh. 20 februari 2014

Product Risico Analyse

Jurian van de Laar & Wim van Rooij Toepassing van teststrategie in de praktijk met TMM

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

Benefits Management. Continue verbetering van bedrijfsprestaties

Voor en nadelen (spatieel) gedistribueerd

Software Quality Assurance Plan

ISO 25010: Een introductie SYSQA B.V.

Software Test Document

TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010

Big Data en Testen samen in een veranderend speelveld. Testnet 10 april 2014 Paul Rakké

Extended ISO 9126: Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Scaled agile bij APG (GPS)

ERP Testing. HP Nijhof. Testmanager. Testnet November 2005

TFS als perfecte tool voor Scrum

Teststrategie met behulp van heuristieken

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam.

Het menselijk leven gaat boven alles. Chris C. Schotanus

Medical device software

Enterprisearchitectuur

J2EE/.NET en de rol Applicatie Architectuur

ARE methodiek Het ontwikkelen van Informatie Elementen

Werkgroep ISO TestNet thema-avond 9 oktober 2014

Clean code improves test quality

Contractmanagement voor Software-ontwikkeling

Inhoudsopgave 1. Opdrachtformulering Beschouwingsgebied Binnen de opdracht Buiten de opdracht

Readiness Assessment ISMS

NFR & Architectuur: Twee handen op één buik. Remco de Boer

Agenda. Introductie Aan het werk Conclusie / restrospective

Data en Applicatie Migratie naar de Cloud

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

De tester als bruggenbouwer

Standaarden, standaarden en nog meer standaarden. Erwin Folmer Nederland Open in Verbinding

Process Mining and audit support within financial services. KPMG IT Advisory 18 June 2014

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Vraag 1... Vraag 2... Vraag 3...

Software Test Documentation

VALUE ENGINEERING: THE H E G A G ME! E

DevSecOps Een buzzword of toch een noodzakelijke stap richting Secure DevOps?

Handout. Hoe testers de kwaliteit van requirements kunnen beïnvloeden. Slechte requirements zijn overal. Testnet thema-avond Requirements.

De laatste ontwikkelingen op het gebied van NEN-EN normering de nieuwe norm is compleet

RUM. requirements Management. SPIder session Project. driven by requirements 25th april. Risk assessed User

2 e webinar herziening ISO 14001

Hoezo SE light? Niels Malotaux

BiZZdesign. Bouwen van sterke en wendbare organisaties met behulp van standaarden, methode, technieken en tools. Research & Development

CMM 3: levert het wat op?

Aanpak IT architectuur en ontwerp voor ketentransparantie in de melkveesector

Architecten-debat 21 juni 2006 PI GvIB Themamiddag. Renato Kuiper. Principal Consultant Information Security

Adam Marciniec, Grzegorz Budzik Zaborniak

Hoe start ik een test competence center of excellence? Thomas Veltman

Hans Jurgen Kroon Industrial HVAC Control Solutions

SMART requirements schrijven

Process & IT: eerst KIEZEN maakt het DOEN daarna zoveel makkelijker

Model Driven Development. Kosten, baten, organisatie

ISO CTG Europe

Softwareproductkwaliteit

Marc Koper/ Bas M. Dam A Tool with a Fool is only a tool Voorjaarsevent Testnet: 30 juni 2008

Requirements Management Werkgroep Traceability

(NPR) 5325 Opleveren en overdragen van software

PLANET AGILE. Projecten opleveren met het oog op toekomstige generaties: Hoe doe je dat met Agile? Manfred van Veghel 17E BPUG SEMINAR

Martin van Leeuwen Happy Testing

Integratie in de praktijk

General info on using shopping carts with Ingenico epayments

Software Engineering Groep 3

Quality Gates: De overdracht tussen ontwikkelaars en testers geregeld

Ketenregie 2 oktober Ketenregie in Agile / DevOps: Noodzaak? Quality Experience Day

Transcriptie:

Kwaliteit van Software Viktor Clerc, vclerc@cibit.nl Jaap van Ekris, jvekris@cibit.nl Kwaliteit van software? 2 1

Kwaliteit van software? (2) 3 Of wat abstracter 4 2

Kwaliteit van software? (3) 5 Agenda Wat is kwaliteit? QUINT Twee casussen Vooraf borgen van softwarekwaliteit Achteraf vaststellen van softwarekwaliteit 6 3

Kwaliteit Wat is kwaliteit? The totality of characteristics of an entity that bear on its ability to satisfy stated and implied needs (ISO 8402) 7 It is all about the details... NASA Mars Climate Orbiter (1999) NASA lost a $125 million Mars orbiter because a Lockheed Martin engineering team used English units of measurement while the agency's team used the more conventional metric system for a key spacecraft operation, according to a review finding released Thursday. The units mismatch prevented navigation information from transferring between the Mars Climate Orbiter spacecraft team in at Lockheed Martin in Denver and the flight team at NASA's Jet Propulsion Laboratory in Pasadena, California. http://www.cnn.com/tech/space/9909/30/mars.metric.02/ 8 4

Het belang van kwaliteit Kwaliteit is geen add-on Je doet het er niet even bij... Kwaliteit is echter wel vaak onderbelicht Kwaliteit kost geld Investeringen in kwaliteit zie je niet terug Het niet leveren van kwaliteit kost vaak meer Quality is free (Crosby, 1979) Cost of quality versus cost of non-quality Je kunt niet vroeg genoeg beginnen met kwaliteit! 9 Kwaliteit kost geld Cost of Quality Andere werkprocessen, meer Quality Assurance Meer aandacht voor testen Ander design Andere tools Cost of Non-Quality De kosten die volgen uit het niet hebben van voldoende kwaliteit op enig moment Failures Afwijzing (en aansprakelijkheid) Imagoschade 10 5

Extended ISO 9126 - Quint 11 Eisen aan een softwareproduct Kwaliteit zo vroeg mogelijk expliciet maken! We hebben Quint/ISO9126, dus waarom niet include Quint.*; Quint beschrijft geen eisen Het implementeren van kwaliteitseisen kost (ook) tijd en geld Kwaliteitseisen kunnen onderling conflicteren Dus: selectie/prioriteitstelling kwaliteitsaspecten noodzakelijk aspecten met hoge prioriteit uitwerken tot concrete kwaliteitseisen ten behoeve hiervan activiteiten opnemen in requirementsanalyseproces! 12 6

Borging vooraf: definieer een kwaliteitskader Stel de kwaliteitscriteria vast inclusief te verwachten maatregelen Op basis van Quint, maar ook overige open of bedrijfsstandaarden De praktijk leert: Maar al te vaak zijn kwaliteitseisen niet geïdentificeerd! Dus dient te verwachten kwaliteit achteraf geconcretiseerd gemaakt te worden, om te kunnen toetsen 13 Kwaliteit is situationeel bepaald Bijna nooit alles even belangrijk, veel is afhankelijk van de context Webapplicatie voor luchtvaartmaatschappij Bijna altijd herkenbaar beeld voor belanghebbenden Air Traffic Control Systeem 14 7

A tale of 2 systems... We begeven ons in het domein van een vliegveld Diverse informatiesystemen voor diverse doelgroepen 1. Een luchtverkeersleidingssysteem...... houdt de vliegtuigen uit elkaar, en leidt ze van of naar het vliegveld 2. Een on-line vluchtboekingssysteem...... lok en leidt reizigers naar het vliegveld 15 De architectuur 16 8

Borging vooraf: via werkprocessen en methodieken IEC61508 ISO9001 als basis German V-model Risico-analyse drijft alle ontwerpbeslissingen Customized process op basis van SIL-levels Een geaccepteerde norm door overheid en industrie Sterke correlatie met systeembetrouwbaarheid 17 The V-model Functional requirements Acceptance test Fagan inspections Formal design methods Risk analysis Design Validation Design Verification Reviews Formal design methods Risk analysis Design Validation Design Verification Reviews Technical Specifications Detailed Design Only Safe subsets allowed Coding standard Automated verification Peer Reviews Code inspections Coding 18 Integration test unit test Systeem test Structured testing Risk based testing Verification of completeness Reviews Structured testing Risk based testing Verification of completeness Reviews 9

Inkomende Partylijn Inkomende Verwerking Beeldstand Afbreukrisico s uitval van het systeem! Functioneel gedrag Response-snelheid Tolerantie van (gebruikers) fouten uit de omgeving Faalgedrag van componenten Begrijpbaarheid van het systeem Accuraatheid gegevens Detectie Filedetectie OR OR AND Lus Detectorstat Onderstation Verwerking via VICNet Signalering Verwerking via Partylijn AND OR Beeldstand Onderstation 1 FEP TOP Uitgaande FEP Uitgaande Partylijn OR Onderstation 2 OR Beeldstand Onderstation 3 19 Onderstation Matrixbord Onderstation Matrixbord Onderstation OR Matrixbord Borging vooraf: definieer een kwaliteitskader met maatregelen (2) Performance Performance Modelling, queueing networks) Changeability, Recoverability, Fault tolerance Scenario-analyse (change scenario s, failure scenario s,...) Maintainability Refactoring, code-analyse Learnability Gebruikers-vragenlijsten Usability Aantal benodigde clicks 20 10

Het kan ook anders... Een verschuiving van een waterval-aanpak naar meer iteratief georganiseerde aanpak Eisen zijn nooit volledig helder! Frequenter belanghebbenden waaronder opdrachtgever) informeren Continue integratie ( altijd een werkend systeem ) 21 Borging vooraf: definieer een kwaliteitskader met maatregelen (3) Er is een architectuurbeschrijving Diagrammen zijn in UML opgesteld Architectuur verdeelt systeem in lagen Architectuur is service-georiënteerd Interfaces zijn gedefinieerd met pre- en postcondities Er staan geen literals (constanten) in statements Namen van variabelen beginnen met een kleine letter Ontwerpbeslissingen zijn onderbouwd De werking van algoritmen is formeel correct bewezen Uitwijk- en testomgevingen zijn beschreven Afwezigheid van deadlocks is aangetoond De applicatie is runtime schaalbaar (en dat is beschreven) Architectuurbeslissingen zijn traceerbaar naar eisen 22 11

Borging vooraf: definieer een kwaliteitskader met maatregelen (3) Er is een architectuurbeschrijving Diagrammen zijn in UML opgesteld Architectuur verdeelt systeem in lagen Architectuur is service-georiënteerd Interfaces zijn gedefinieerd met pre- en postcondities Er staan geen literals (constanten) in statements Namen van variabelen beginnen met een kleine letter Ontwerpbeslissingen zijn onderbouwd De werking van algoritmen is formeel correct bewezen Uitwijk- en testomgevingen zijn beschreven Afwezigheid van deadlocks is aangetoond De applicatie is runtime schaalbaar (en dat is beschreven) Architectuurbeslissingen zijn traceerbaar naar eisen 23 Borging vooraf: definieer een kwaliteitskader met maatregelen (4) Inhoud Detail Hoog Middel Laag Hoog gebruik lagenarchitectuur gebruik J2EE patterns uit boek [xyz] gebruik Java Code Conventions Uitwerking arch. regels Laag gebruik MVC met listeners voor presentatielaag methoden moeten al hun gebruikte resources vrijgeven variabelen moeten bij declaratie geïnitialiseerd worden Reference 24 12

Borging tijdens ontwikkeling: definieer een kwaliteitskader met maatregelen Metrieken geven inzicht in de kwaliteit van software, bijvoorbeeld metrieken ten behoeve van analyseerbaarheid: 25 Risk based testing als a test-strategy IEC61508 vereist bewijs van compleetheid en bewuste beslissingen over rest-risico s IEC61508 verwacht bepaalde methoden Simulation Formal proofs Static analysis Dynamic analysis and Black Box testing Probabilistic testing Functional testing Failure analysis Performance testing Interface testing 26 13

Kun je ook alles testen? Praktisch is niet alles haalbaar: TIjd en middelen zijn beperkt Complex systeemgedrag is moeilijk te doorgronden Redundantie kan ook problemen maskeren Safety Critical kan ook betekenen: dodelijk voor testers Falen van het systeem Falen van veiligheidssystemen Onverwacht gedrag van het systeem Testen kan wel eens meer risico introduceren dan het reduceert Het kan altijd fout gaan, maar dat is wat je wilt voorkomen Met testen haal je ook gekke dingen uit met een systeem Je kunt een test-omgeving niet volledig beheersen 27 De praktijk... Vanuit een reviewperspectief Kwaliteitseisen verkrijgen (of achteraf meehelpen definiëren) Op zoek naar genomen maatregelen Symptomen Gebrekkige (geen?) documentatie Architect is reeds van het project af Dit project is zo uniek, dat... (geen van de criteria van toepassing is) 28 14

Zorg voor helderheid over verwachtingen vooraf Borg die ook Maar wel op een manier die past bij de werkwijze van het project 29 Referenties http://c2.com/cgi/wiki?qualityassuranceisnotqualityc ontrol Architecten blinken uit in onduidelijkheid, MvE, MM Fagan, M.E., Design and Code inspections to reduce errors in program development, 1976, IBM Systems Journal, Vol. 15, No 3, Page 258-287 30 15

Meer informatie? Viktor Clerc, vclerc@cibit.nl Jaap van Ekris, jvekris@cibit.nl 31 16