1
Inleiding, herinneringen aan het softwaretestproces
- De rol van testen in het ontwikkelingsproces.
- Tests: unit, functioneel, enz.
- De verschillende testmethoden.
- Testproces en teststrategie.
- Instrumenten en methoden die in verschillende stadia worden gebruikt.
Praktisch werk
Installatie van enkele gereedschappen.
2
Testbeheer automatiseren
- De dekking van vereisten door tests beheren. Begrip van dekking en granulariteit.
- Ontwikkelingsproces: organisatie van testsuites en casecreatie.
- Moet een test worden geautomatiseerd? Criteria om rekening mee te houden?
- Voorbereiden op automatisering.
- Samenstelling van de testpopulatie.
- Testontwikkeling en -verificatie (Beoordelen)
- Uitvoering, registratie van afwijkingen. Opstellen van incidentenrapport volgens IEEE.
- Anomaliebeheerders. Geautomatiseerde aanmaak van anomalieën.
- Resultaten van testuitvoering analyseren. Testconsolidatie.
Praktisch werk
Gebruik van een testrepository. Opzetten van bruggen naar gerelateerde tools (TestLink/Squash/Quality Center of andere, etc.).
3
Automatisering van eenheidstesten
- Organisatie en best practice voor unit testen.
- Automatiseringscriteria.
- Unit testen: Tests Gedreven Ontwikkeling.
- Het meten van codedekking: dekking van structurele tests, dekking van instructies en takken.
- Statische codeanalyse: toolgebaseerde analyse van niet-uitvoerende broncode (coderingsregels): Checkstyle, Cobertura.
- Automatisering met een configuratiebestand.
- Dynamische codeanalyse: dekking van instructies, vertakkingen, predicaten, enz.
- Automatisering met een dekkingsanalysetool.
- Organisatie van unit tests, peer programming, peer testing.
- Frameworks gebruiken: testscripts beheren, testgegevens beheren, resultaten ophalen.
Praktisch werk
Implementatie van eenheidstests met Junit/TestNG. Integratie in een softwareproductieketen (Ant/Maven, enz.).
4
Integratietesten automatiseren
- Specifieke integratiestrategieën: big-bang, "as we go", incrementeel, etc.
- Bottom-up versus top-down integratie. Gemengde integratie.
- Simulacrum-objecten: stoppers om de aangeroepen functies te simuleren, mocking om een object te vervangen. Frameworks.
- Continue integratie: het opzetten van een configuratiemanager, build builder, beheertools.
- Focus op een softwareconfiguratiebeheerder.
- Automatische storingsmelding.
- Automatische en cyclische uitvoering van softwaretests.
- Focus op een fabrikant.
- Richt u op een continue integratieserver.
Praktisch werk
Gebruik van mock objecten.
Het opzetten van een continue integratie server (Jenkins, Hudson of Continuum).
5
Functionele testautomatisering
- Definitie van functioneel testen, non-regressie.
- De test simuleert gebruikersacties op basis van gebruikersinterfaces (GUI's).
- Bevindingen over functionele testautomatisering.
- Testautomatisering via de GUI, via programmeerinterfaces (API).
- Gereedschapsketen, testrobots, scripting (openbare API's).
- Beheer van testveroudering.
Praktisch werk
Het automatiseren van functionele tests op fat clients en op het web. Gebruik van robots en een publieke softwarelaag (API). Implementatie van een automatiseringstool (Katalon Studio met Selenium/HP QuickTest Pro).
6
Automatisering van systeemtests
- De verschillende soorten systeemtests: prestatie, belasting, stress.
- Bevindingen over prestatietesten.
- Prestatietests, definitie van indicatoren.
- Scripts voor prestatietests. Toolimplementatie en -analyse.
- Belastingtests, stresstests: presentatie van belangrijke indicatoren en tools.
- De testdatabase beheren. Contextbeheer.
Praktisch werk
Een belastingstest opzetten.
7
Samenvatting
- Testautomatisering: directe en indirecte kosten.
- Kwantitatieve voordelen van automatisering: volume, modulariteit, enz.
- Kwalitatieve voordelen van automatisering: bespaarde werkprocedures, geen fouten, vertrouwen, enz.
- Het meten van rendement op investering.