Hoe bepaal je welke omgeving (OTAP) je gaat testen?
- Zorg voor een command line aanroep waarin je de omgeving meegeeft.
- Dan kan dat ook goed vanuit de pipelines op de verschillende omgevingen aangeroepen worden.
Hoe ga je om met Page Objects?
- Probeer vooral ook samen te werken met de frontend developer. Indien hij al component testen op orde heeft, zal hij hopelijk al Page Objects gemaakt hebben. En zo niet dan is het handig om deze eenmalig aan te maken, en zowel voor component testen als ook voor systeem testen te gebruiken.
Hoe bepaal je welke testen wel en niet uitgevoerd worden?
- Gebruik tags om te bepalen welke testen je wanneer wilt draaien.
Hoe bepaal je of testen in een retry moeten?
- Bij voorkeur geen automatische retry, omdat daardoor flakey testen snel geaccepteerd worden.
- Indien bijvoorbeeld een element niet beschikbaar is, dan kun je binnen een test wel middels polling checken of na verloop van tijd, of na een refresh bijvoorbeeld, een element wel beschikbaar is.
- Hoe zorg je voor hergebruik van je code (common components)
- Gebruik bijvoorbeeld een constants file voor constante waardes zoals eventuele wait times.
- Common components maken onderhoud makkelijker, dat hoeft nog maar op 1 plek. Echter als het toch niet helemaal common blijkt te zijn, dus in de ene test moet een component net iets anders werken dan in een ander component. Dan krijg je al snel dat je last krijgt van common components. Het is dus zeker niet een must. Kies er een wijze balans in.
Hoe ga je om met file/folderstructuur?
- Zorg dat bestanden niet te veel dingen bevatten. Zorgen dat een file 1 functie heeft, “single responsibility”.
- Zorg dat een file een duidelijke naam heeft. Wat is het doel van je test?
- Maar ook voor folder namen geldt, zorg dat ze 1 doel hebben, en dat de naamgeving daar naar is. (single responsibility).
- Gebruik voor classes altijd een zelfstandig naamwoord.
Hoe ga je om met secrets?
- Zorg voor een keystore met wachtwoorden die je raadpleegt vanuit je code.
- Zorg dat de wachtwoorden voor deze keystore niet in GIT worden opgeslagen, maar dat deze lokaal in een secrets file staan.