SlideShare a Scribd company logo
1 of 25
Download to read offline
1,3 miljoen regels mission critical code
omzetten naar C++, hoe test je dat?
XXXXXX Najaarsevenement 2016
Jaap Kuilman
11 oktober 2016
Introductie
2
Jaap Kuilman
• Testconsultant bij InTraffic
• Ervaring in het OV-Domein
• Verantwoordelijk voor testen in dit project bij
InTraffic
• Begeleiden testers bij het uitvoeren van het
testproces
Wat doet InTraffic
3
Spoor
Inframonitoring
Weg
Reisinformatie
• Het systeem Procesleiding Rijwegen (PRL)
• Conversie PRL van PASCAL naar C++
• Ontwikkeling van een convertertool
• Testen of de geconverteerde code voldoet
• Conclusie
Inhoud presentatie
4
Het systeem Procesleiding Rijwegen
• De treindienstleiders kunnen met PRL ook handmatig seinen en wissels bedienen en
handmatig rijwegen instellen voor de treinen.
• PRL helpt bij het signaleren van storingen.
• PRL draait op de 13 verkeersleidingsposten.
• PRL is een bedrijfskritisch systeem en dat vereist 24/7 beschikbaarheid.
5
Het spoorwegnet in Nederland is druk en
complex.
Procesleiding Rijwegen (PRL) stelt de
rijwegen van de treinen automatisch in.
Het systeem Procesleiding Rijwegen
• PRL bestaat uit een 50 taken (executables)
die met elkaar communiceren.
• Bevat 1,3 miljoen regels code.
• Groot deel in PASCAL en een klein deel in C
en C++. Het draait op VMS.
• PRL is al operationeel sinds 1994. Sindsdien
wordt er continue aan doorontwikkeld.
6
Kenmerken
Conversie PRL, van PASCAL naar C++
7
• Per 2020 hardware platform OpenVMS verlaten
o kritische massa ontbreekt
o kennis en kunde verdwijnt
• Conversie van Pascal naar C++.
Een noodzakelijke stap in portering naar Linux, omdat
Linux geen Pascal ondersteunt.
• Automatisering van conversie van 1,3 miljoen regels
code is rendabel
Conversie PRL is onderdeel van het
ProRail programma “Slimme Renovatie
Procesleiding”
Conversie PRL, van PASCAL naar C++
8
ProRail
• Opdrachtgever voor InTraffic
• Sparring partner voor technische issues
• Voert validatie en ketentesten uit
Cornerstone
• Opdrachtnemer van InTraffic
• Ruime ervaring in taalconversies
• Specialist in automatische conversie
InTraffic
• Spoorse kennis en kennis van software ontwikkeling en
testen
• Voert handmatige conversie, integratie en systeemtest
uit
Samenwerking
Conversie PRL, van PASCAL naar C++
9
• Als de geconverteerde PRL functioneel gelijk is aan de
Pascal versie van PRL.
• Responstijden en CPU belasting wijken niet meer dan
10% t.o.v. Pascal versie.
• in geen geval zullen er taalconstructies zijn toegepast
die latere migratie naar Linux bemoeilijken.
Acceptatie
Ontwikkelen van een convertertool
10
Methode conversie
• Metafoor: Bij het vertalen van een
boek wordt niet bladzijde voor
bladzijde vertaald maar worden
woorden of zinconstructies die in
het boek voorkomen in één keer
voor het gehele boek vertaald.
• Principe: Een code constructie
wordt altijd op dezelfde manier
vertaald door de gehele sourcecode
heen.
Testen of de geconverteerde code voldoet
11
• Oplevering testbaar conversie-
resultaat in clusters
• Bouw, integratie en test
Testen: aansluiten op conversie
Testen of de geconverteerde code voldoet
12
Integratie
• Hybride testomgeving met altijd de
volledige applicatie
• Beheersbaarheid: in stappen
integreren door PASCAL taken te
vervangen door C++ taken
• Flexibiliteit: geleidelijk opbouw van
complexiteit bepaalt de
Integratievolgorde
Testen of de geconverteerde code voldoet
13
Testaanpak
Algemeen
• Automatische conversie:
taalconstructie één keer goed
geconverteerd betekent alle keren
goed geconverteerd
Testen in eerste clusters:
• Complexe taalconstructies
• Functioneel eenvoudige taken
Testen in latere clusters:
• Eenvoudige taalconstructies
• Functioneel complexe taken
14
Testproces
Testen of de geconverteerde code voldoet
Intake test
Statische
test
Integratie
test
Systeem
test
Conversie
Resultaat
Voor elk cluster
Tussenlevering en
eindlevering
• Intake test: is verder testen zinvol?
• Statische test: controle op onderhoudbaarheid
• Integratie test: dynamische test voor aantonen integrale gedrag
• Systeemtest: voldoen aan de acceptatiecriteria
Testen of de geconverteerde code voldoet
15
Testproces is volledig gestuurd door risico’s
Risico’s
• Sturen het testproces
• Productrisicomanagement:
een continue proces
• Proces in 4 stappen
• Productrisico's
- Indeling volgens FMEA
- Initieel een PRA
- Ingedeeld naar kwaliteitskenmerk
- Gerelateerd aan de testsoorten
Testresultaten
• Meenemen van de opdrachtgever in
testresultaten creëert draagvlak en
betrokkenheid
Statische test: controle op onderhoudbaarheid
Testen of de geconverteerde code voldoet
16
Risico’s
• Gerelateerd aan onderhoudbaarheid
Acceptatie criterium
• Geen taalconstructies die migratie
naar Linux bemoeilijken.
Code analyse tool
• Tool Flexelint
• Code standaard: High integrity C++
Codereview
• M.b.v. Checklist
- Leesbaarheid (High integrity C++)
Testen of de geconverteerde code voldoet
17
Gebruik van testautomatisering en tooling
Automatische Test Framework
• Eigen ontwikkeling: geen geschikte
tooling op de markt
• ATF simuleert interfaces en
controleert verwachte resultaten
Opbouw
• SPIRA voor opslag van testcases en
vastlegging van testresultaten
• SoapUI voor testuitvoering
• Keyword-driven testing
• Drivers
Gebruik
• Behalen van een hoge testdekking
• Reproduceerbaar testresultaat
Testen of de geconverteerde code voldoet
18
Intake test: is verder testen zinvol?
Geconverteerde library functies
• Automatische unittesten
• Specifiek geschreven code om
library functies te testen
Geconverteerde taak
• PRL in PASCAL omgeving
• Automatische Test Framework
• Elke test 1 geconverteerde taak
• Test van een eenvoudig “goed” pad
19
Testen of de geconverteerde code voldoet
Integratie test: dynamische test voor aantonen integrale gedrag
Risico’s
• Gerelateerd aan:
- Functionele correctheid
- Koppelbaarheid
- Betrouwbaarheid
- Performance
Testen
• PRL in PASCAL omgeving +
geconverteerde taken
• Automatische Test Framework
• Geen regressie tegenover
voorgaande clusters
20
Testen of de geconverteerde code voldoet
Integratie test: Functionele testen
In eerste clusters
• Complexe taalconstructies
• Functioneel eenvoudige taken
• Codepaden in PASCAL
• Analyse tool t.b.v. codepaden
• Statementcoverage
In latere clusters
• Eenvoudige taalconstructies
• Functioneel complexe taken
• Op basis van functionaliteit
Testen of de geconverteerde code voldoet
21
Focus
• Vanaf eerste clusters
Meten
• Responstijden
• CPU belasting
• Dynamisch geheugengebruik
• Schijfgebruik
• Verwerkingssnelheid
• Opstartgedrag applicatie
Test
• Tooling: Total Time Tracking Tool
• Resultaat relateren aan PASCAL
Integratie test: Performance testen
Testen of de geconverteerde code voldoet
22
Systeem test: voldoen aan de acceptatiecriteria
Randvoorwaarden
• Applicatie is volledig geïntegreerd
• “Representatieve” testomgeving
Risico’s
• Gerelateerd aan:
- Functionele correctheid
- Koppelbaarheid
- Performance
- Betrouwbaarheid
Acceptatiecriteria
• betreft functioneel gedrag
• betreft responsetijden en
CPU belasting
Testen of de geconverteerde code voldoet
23
Gevonden fouten
Conclusie
24
• Zoek samenwerking met een partij, gespecialiseerd in automatische code conversie.
• Bij automatische conversie hoeft niet alle code getest te worden: een taalconstructie één keer
goed geconverteerd betekent alle keren goed geconverteerd.
• Start codeconversie met een functioneel eenvoudige taak en test deze grondig.
• Continue monitoren van productrisico’s op basis van testresultaten om het testproces bij te sturen.
• Gebruik een testomgeving waar het mogelijk is om bestaande applicatiedelen en geconverteerde
applicatiedelen met elkaar te laten samenwerken.
• Met geautomatiseerd testen kun je in korte tijd vaststellen of aan het acceptatiecriterium van
functioneel gelijk gedrag is voldaan met hoge testdekking en gegarandeerde
reproduceerbaarheid.
Vragen
25

More Related Content

Similar to Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat?

Testnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = MonitorenTestnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = MonitorenIde Koops
 
TOPAAS Versie 2.0, een praktische inleiding
TOPAAS Versie 2.0, een praktische inleidingTOPAAS Versie 2.0, een praktische inleiding
TOPAAS Versie 2.0, een praktische inleidingJaap van Ekris
 
Asl bi sl metrics themasessie 2013 devops sogeti
Asl bi sl metrics themasessie 2013   devops sogetiAsl bi sl metrics themasessie 2013   devops sogeti
Asl bi sl metrics themasessie 2013 devops sogetiHarold van Heeringen
 
TMap suite workshop testnet summer school 2015
TMap suite workshop testnet summer school 2015TMap suite workshop testnet summer school 2015
TMap suite workshop testnet summer school 2015Rik Marselis
 
Introductie robot framework
Introductie robot frameworkIntroductie robot framework
Introductie robot frameworkchristiantester
 
Requirements en testing
Requirements en testingRequirements en testing
Requirements en testingPim Snel
 
20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatform
20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatform20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatform
20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatformKING
 
TOPdesk Partner event slides 10-11-2016
TOPdesk Partner event slides 10-11-2016TOPdesk Partner event slides 10-11-2016
TOPdesk Partner event slides 10-11-2016TOPdesk
 
Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)Edwin Groenewegen
 
DynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerDynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerABC-GROEP.BE
 
Themasessie 'Naar toekomstbestendige dienstverlening' - 2016
Themasessie 'Naar toekomstbestendige dienstverlening' - 2016Themasessie 'Naar toekomstbestendige dienstverlening' - 2016
Themasessie 'Naar toekomstbestendige dienstverlening' - 2016arjenne
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatiemenfey
 
Automatisch testen van datawarehouses
Automatisch testen van datawarehousesAutomatisch testen van datawarehouses
Automatisch testen van datawarehousesmkompagne
 
Naar een toekomstbestendige dienstverlening - Themasessie 2016
Naar een toekomstbestendige dienstverlening - Themasessie 2016Naar een toekomstbestendige dienstverlening - Themasessie 2016
Naar een toekomstbestendige dienstverlening - Themasessie 2016TOPdesk
 
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
Als Het Goed Is Hoef Je Niet Te Testen   Slide ShareAls Het Goed Is Hoef Je Niet Te Testen   Slide Share
Als Het Goed Is Hoef Je Niet Te Testen Slide ShareBigBirdNL
 
Service Orientatie
Service OrientatieService Orientatie
Service Orientatieguest7decb
 
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileBPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileRik Marselis
 
Aanvraag Technisch applicatiebeheerder
Aanvraag Technisch applicatiebeheerderAanvraag Technisch applicatiebeheerder
Aanvraag Technisch applicatiebeheerderWilco Mulderij
 
Het wat, hoe en waarom van gidistribueerde componenten
Het wat, hoe en waarom van gidistribueerde componentenHet wat, hoe en waarom van gidistribueerde componenten
Het wat, hoe en waarom van gidistribueerde componentenPatrick Koning
 
SYSQA Kennissessie Situationeel testen
SYSQA Kennissessie Situationeel testenSYSQA Kennissessie Situationeel testen
SYSQA Kennissessie Situationeel testenSYSQA BV
 

Similar to Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat? (20)

Testnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = MonitorenTestnet Presentatie: Testen = Monitoren
Testnet Presentatie: Testen = Monitoren
 
TOPAAS Versie 2.0, een praktische inleiding
TOPAAS Versie 2.0, een praktische inleidingTOPAAS Versie 2.0, een praktische inleiding
TOPAAS Versie 2.0, een praktische inleiding
 
Asl bi sl metrics themasessie 2013 devops sogeti
Asl bi sl metrics themasessie 2013   devops sogetiAsl bi sl metrics themasessie 2013   devops sogeti
Asl bi sl metrics themasessie 2013 devops sogeti
 
TMap suite workshop testnet summer school 2015
TMap suite workshop testnet summer school 2015TMap suite workshop testnet summer school 2015
TMap suite workshop testnet summer school 2015
 
Introductie robot framework
Introductie robot frameworkIntroductie robot framework
Introductie robot framework
 
Requirements en testing
Requirements en testingRequirements en testing
Requirements en testing
 
20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatform
20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatform20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatform
20160916 leveranciersbijeenkomst softwarecatalogus en stuf-testplatform
 
TOPdesk Partner event slides 10-11-2016
TOPdesk Partner event slides 10-11-2016TOPdesk Partner event slides 10-11-2016
TOPdesk Partner event slides 10-11-2016
 
Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)
 
DynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerDynApps - Case IOK Afvalbeheer
DynApps - Case IOK Afvalbeheer
 
Themasessie 'Naar toekomstbestendige dienstverlening' - 2016
Themasessie 'Naar toekomstbestendige dienstverlening' - 2016Themasessie 'Naar toekomstbestendige dienstverlening' - 2016
Themasessie 'Naar toekomstbestendige dienstverlening' - 2016
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
 
Automatisch testen van datawarehouses
Automatisch testen van datawarehousesAutomatisch testen van datawarehouses
Automatisch testen van datawarehouses
 
Naar een toekomstbestendige dienstverlening - Themasessie 2016
Naar een toekomstbestendige dienstverlening - Themasessie 2016Naar een toekomstbestendige dienstverlening - Themasessie 2016
Naar een toekomstbestendige dienstverlening - Themasessie 2016
 
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
Als Het Goed Is Hoef Je Niet Te Testen   Slide ShareAls Het Goed Is Hoef Je Niet Te Testen   Slide Share
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
 
Service Orientatie
Service OrientatieService Orientatie
Service Orientatie
 
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileBPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
 
Aanvraag Technisch applicatiebeheerder
Aanvraag Technisch applicatiebeheerderAanvraag Technisch applicatiebeheerder
Aanvraag Technisch applicatiebeheerder
 
Het wat, hoe en waarom van gidistribueerde componenten
Het wat, hoe en waarom van gidistribueerde componentenHet wat, hoe en waarom van gidistribueerde componenten
Het wat, hoe en waarom van gidistribueerde componenten
 
SYSQA Kennissessie Situationeel testen
SYSQA Kennissessie Situationeel testenSYSQA Kennissessie Situationeel testen
SYSQA Kennissessie Situationeel testen
 

Testen van 1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat?

  • 1. 1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat? XXXXXX Najaarsevenement 2016 Jaap Kuilman 11 oktober 2016
  • 2. Introductie 2 Jaap Kuilman • Testconsultant bij InTraffic • Ervaring in het OV-Domein • Verantwoordelijk voor testen in dit project bij InTraffic • Begeleiden testers bij het uitvoeren van het testproces
  • 4. • Het systeem Procesleiding Rijwegen (PRL) • Conversie PRL van PASCAL naar C++ • Ontwikkeling van een convertertool • Testen of de geconverteerde code voldoet • Conclusie Inhoud presentatie 4
  • 5. Het systeem Procesleiding Rijwegen • De treindienstleiders kunnen met PRL ook handmatig seinen en wissels bedienen en handmatig rijwegen instellen voor de treinen. • PRL helpt bij het signaleren van storingen. • PRL draait op de 13 verkeersleidingsposten. • PRL is een bedrijfskritisch systeem en dat vereist 24/7 beschikbaarheid. 5 Het spoorwegnet in Nederland is druk en complex. Procesleiding Rijwegen (PRL) stelt de rijwegen van de treinen automatisch in.
  • 6. Het systeem Procesleiding Rijwegen • PRL bestaat uit een 50 taken (executables) die met elkaar communiceren. • Bevat 1,3 miljoen regels code. • Groot deel in PASCAL en een klein deel in C en C++. Het draait op VMS. • PRL is al operationeel sinds 1994. Sindsdien wordt er continue aan doorontwikkeld. 6 Kenmerken
  • 7. Conversie PRL, van PASCAL naar C++ 7 • Per 2020 hardware platform OpenVMS verlaten o kritische massa ontbreekt o kennis en kunde verdwijnt • Conversie van Pascal naar C++. Een noodzakelijke stap in portering naar Linux, omdat Linux geen Pascal ondersteunt. • Automatisering van conversie van 1,3 miljoen regels code is rendabel Conversie PRL is onderdeel van het ProRail programma “Slimme Renovatie Procesleiding”
  • 8. Conversie PRL, van PASCAL naar C++ 8 ProRail • Opdrachtgever voor InTraffic • Sparring partner voor technische issues • Voert validatie en ketentesten uit Cornerstone • Opdrachtnemer van InTraffic • Ruime ervaring in taalconversies • Specialist in automatische conversie InTraffic • Spoorse kennis en kennis van software ontwikkeling en testen • Voert handmatige conversie, integratie en systeemtest uit Samenwerking
  • 9. Conversie PRL, van PASCAL naar C++ 9 • Als de geconverteerde PRL functioneel gelijk is aan de Pascal versie van PRL. • Responstijden en CPU belasting wijken niet meer dan 10% t.o.v. Pascal versie. • in geen geval zullen er taalconstructies zijn toegepast die latere migratie naar Linux bemoeilijken. Acceptatie
  • 10. Ontwikkelen van een convertertool 10 Methode conversie • Metafoor: Bij het vertalen van een boek wordt niet bladzijde voor bladzijde vertaald maar worden woorden of zinconstructies die in het boek voorkomen in één keer voor het gehele boek vertaald. • Principe: Een code constructie wordt altijd op dezelfde manier vertaald door de gehele sourcecode heen.
  • 11. Testen of de geconverteerde code voldoet 11 • Oplevering testbaar conversie- resultaat in clusters • Bouw, integratie en test Testen: aansluiten op conversie
  • 12. Testen of de geconverteerde code voldoet 12 Integratie • Hybride testomgeving met altijd de volledige applicatie • Beheersbaarheid: in stappen integreren door PASCAL taken te vervangen door C++ taken • Flexibiliteit: geleidelijk opbouw van complexiteit bepaalt de Integratievolgorde
  • 13. Testen of de geconverteerde code voldoet 13 Testaanpak Algemeen • Automatische conversie: taalconstructie één keer goed geconverteerd betekent alle keren goed geconverteerd Testen in eerste clusters: • Complexe taalconstructies • Functioneel eenvoudige taken Testen in latere clusters: • Eenvoudige taalconstructies • Functioneel complexe taken
  • 14. 14 Testproces Testen of de geconverteerde code voldoet Intake test Statische test Integratie test Systeem test Conversie Resultaat Voor elk cluster Tussenlevering en eindlevering • Intake test: is verder testen zinvol? • Statische test: controle op onderhoudbaarheid • Integratie test: dynamische test voor aantonen integrale gedrag • Systeemtest: voldoen aan de acceptatiecriteria
  • 15. Testen of de geconverteerde code voldoet 15 Testproces is volledig gestuurd door risico’s Risico’s • Sturen het testproces • Productrisicomanagement: een continue proces • Proces in 4 stappen • Productrisico's - Indeling volgens FMEA - Initieel een PRA - Ingedeeld naar kwaliteitskenmerk - Gerelateerd aan de testsoorten Testresultaten • Meenemen van de opdrachtgever in testresultaten creëert draagvlak en betrokkenheid
  • 16. Statische test: controle op onderhoudbaarheid Testen of de geconverteerde code voldoet 16 Risico’s • Gerelateerd aan onderhoudbaarheid Acceptatie criterium • Geen taalconstructies die migratie naar Linux bemoeilijken. Code analyse tool • Tool Flexelint • Code standaard: High integrity C++ Codereview • M.b.v. Checklist - Leesbaarheid (High integrity C++)
  • 17. Testen of de geconverteerde code voldoet 17 Gebruik van testautomatisering en tooling Automatische Test Framework • Eigen ontwikkeling: geen geschikte tooling op de markt • ATF simuleert interfaces en controleert verwachte resultaten Opbouw • SPIRA voor opslag van testcases en vastlegging van testresultaten • SoapUI voor testuitvoering • Keyword-driven testing • Drivers Gebruik • Behalen van een hoge testdekking • Reproduceerbaar testresultaat
  • 18. Testen of de geconverteerde code voldoet 18 Intake test: is verder testen zinvol? Geconverteerde library functies • Automatische unittesten • Specifiek geschreven code om library functies te testen Geconverteerde taak • PRL in PASCAL omgeving • Automatische Test Framework • Elke test 1 geconverteerde taak • Test van een eenvoudig “goed” pad
  • 19. 19 Testen of de geconverteerde code voldoet Integratie test: dynamische test voor aantonen integrale gedrag Risico’s • Gerelateerd aan: - Functionele correctheid - Koppelbaarheid - Betrouwbaarheid - Performance Testen • PRL in PASCAL omgeving + geconverteerde taken • Automatische Test Framework • Geen regressie tegenover voorgaande clusters
  • 20. 20 Testen of de geconverteerde code voldoet Integratie test: Functionele testen In eerste clusters • Complexe taalconstructies • Functioneel eenvoudige taken • Codepaden in PASCAL • Analyse tool t.b.v. codepaden • Statementcoverage In latere clusters • Eenvoudige taalconstructies • Functioneel complexe taken • Op basis van functionaliteit
  • 21. Testen of de geconverteerde code voldoet 21 Focus • Vanaf eerste clusters Meten • Responstijden • CPU belasting • Dynamisch geheugengebruik • Schijfgebruik • Verwerkingssnelheid • Opstartgedrag applicatie Test • Tooling: Total Time Tracking Tool • Resultaat relateren aan PASCAL Integratie test: Performance testen
  • 22. Testen of de geconverteerde code voldoet 22 Systeem test: voldoen aan de acceptatiecriteria Randvoorwaarden • Applicatie is volledig geïntegreerd • “Representatieve” testomgeving Risico’s • Gerelateerd aan: - Functionele correctheid - Koppelbaarheid - Performance - Betrouwbaarheid Acceptatiecriteria • betreft functioneel gedrag • betreft responsetijden en CPU belasting
  • 23. Testen of de geconverteerde code voldoet 23 Gevonden fouten
  • 24. Conclusie 24 • Zoek samenwerking met een partij, gespecialiseerd in automatische code conversie. • Bij automatische conversie hoeft niet alle code getest te worden: een taalconstructie één keer goed geconverteerd betekent alle keren goed geconverteerd. • Start codeconversie met een functioneel eenvoudige taak en test deze grondig. • Continue monitoren van productrisico’s op basis van testresultaten om het testproces bij te sturen. • Gebruik een testomgeving waar het mogelijk is om bestaande applicatiedelen en geconverteerde applicatiedelen met elkaar te laten samenwerken. • Met geautomatiseerd testen kun je in korte tijd vaststellen of aan het acceptatiecriterium van functioneel gelijk gedrag is voldaan met hoge testdekking en gegarandeerde reproduceerbaarheid.