Introductie at framework
-
Upload
erwin-heitzman -
Category
Technology
-
view
167 -
download
0
Transcript of Introductie at framework
Introductieautomated testing
framework
Erwin Heitzmanwww.linkedin.com/in/erwinheitzman
Itesso levert wereldwijd geavanceerde hotel software oplossingen binnen de hospitality branche.
Sinds juli 2015 is Itesso een onderdeel van Amadeus, een grote speler binnen Travel IT (meer dan 10,000 medewerkers, actief in 195 landen met een omzet van 3,4 miljard omzet in 2014)
Het hoofdproduct van Itesso is ELS (Enterprise Lodging System), een cloud-native hotel management systeem gebouwd op Microsoft Azure (PaaS)
Een aantal van onze klanten zijn: Fletcher Bastion Van der Valk Magnolia Best Western
Itesso bestaat op het moment uit zo'n 100 medewerkers.
Dev team Er 20 developers werkzaam bij Itesso
5 teams van 4 personen
Elk team bevat: 1 Tester 1 Front end developer 2 Back end developers
Het test team bevat: 2 FE testers 2 BE testers 1 Tester
Doel 2016, 50 developers
Hoe gaan we te werk Agile
Scrum
Maintenance (60 minuten) Resultaten Errors Bugs Wie pakt wat op
Standup (15 minuten) Bevindingen resultaten maintenance Wat heb je gedaan, ga je doen en loop je ergens tegenaan Bugs
VSO
Waarom? Kwaliteit
Standaard
Behouden van deze standaard
In het ergste geval kost het de klant geld
Regressie door snelle groei van bedrijf en/of product
Wat? Single page applicatie
Denk aan: Het aanmaken en beheren van gasten/accounts Het aanmaken van reserveringen Het in-checken en uit-checken Inrichten van prijzen en kamers Status van kamers bijhouden En nog veel meer
Typen tests
Unit testing Integration testing
Automated testing
Unit/Integration testing Bij het inchecken van de code word een build process gestart en worden onderstaande taken
uitgevoerd:• JS validator – valideert op syntax errors• JSHint – valideert op coding standards en mogelijke valkuilen• QUnit – JS unit testing framework
40675 unit tests
Core front end bevat 3000 tests
Core coverage 52,65%
1 minuut en 5 seconden
Bovenstaande tests worden vervolgens samengevoegd en als een group getest, dit is wat we noemen Integration testing
Automated testing 1360 Automated tests
Deze dagelijks worden gedraaid
Complexe senario's
Gemiddelde van 23 seconden per test
JSHint validatie op het framework
TestComplete is een platform waar mee tests geautomatiseerd kunnen worden en ondersteund Windows, Web, Android en iOS applicaties en de volgende talen:
VBScript JScript Delphi C++ C# Python
Typen applicaties, Web, Windows, Android, iOS, WPF, HTML5, Flash, Flex, Silverlight, .NET, VCL en Java.
Zowel functional als back-end testing zoals database testing is te automatiseren.
Selenium is een open-source testing framework voor web applicaties en ondersteunt de volgende talen:
Java, C# Groovy Perl PHP Python Ruby
Selenium automatiseert de browser, dit word vooral voor test doeleinden gebruikt maar ook administratieve taken kun je automatiseren
Test resultaten TestComplete maakt aan het einde van alle tests een overzicht aan dat in HTML is opgebouwd wat
voor iedere developer te benaderen is.
Het overzicht is opgedeeld zoals dat deze ook in TestComplete zelf zijn ingericht.
Pitfalls
Waar loopt men vaak tegen aan
Kunnen we niet alleen unit tests en integration tests draaien?
Recorded tests
Geen framework
Variabelen zorgen voor een robustere setup maar is niet genoeg
Houd het zo simpel mogelijk
Idealiter lijken je tests op een test definitie
Voorbeeld test definitie Test Case 11929:Open Account Receivables from the menu with key combination
Het schrijven van tests als code
Geen idee wat dit doet...
Voorbeeld test
Framework
De stap naar het maken van een framework
Het framework staat los van alles
Tests Framework Applicatie
Architecture
Tests
Framework
Test applicatie
Applicatie
Flexibiliteit vs usability
Perfectie is een illusie Onze testen en framework zijn robuust maar ook wij hebben onze uitdagingen:
Itesso groeit zeer snel en het is mijn taak om het framework met het bedrijf mee te laten groeien
Single page applicatie
Overlap met unit/integration tests
Opsplitsen van het project
De meerwaarde van een framework Voorkomt herhaling van code
Voorkomt fouten
Makkelijk in gebruik
Flexibel en snel als code word gewijzigd
Herbruikbaar