Handmatige testen (IT)Software Tester (Manual QA Engineer)

Wat zijn testomgevingen voor handtesting, waarom worden ze apart van de productieomgeving выделено en wat zijn de kenmerken van hun configuratie?

Slaag voor sollicitatiegesprekken met de Hintsage AI-assistent

Antwoord.

Achtergrond van de vraag

Testomgevingen zijn ontstaan naarmate IT-producten complexer werden. Het creëren van een aparte omgeving stelt testers in staat om nieuwe functionaliteiten veilig te verifiëren, zonder de echte gebruikers en gegevens te beïnvloeden.

Probleem

Wanneer tests plaatsvinden in de productieomgeving, is er een risico van gegevensverlies, verstoring van bedrijfsprocessen of veiligheidsincidenten. Soms verschillen test- en productieomgevingen, wat "onopgemerkte" fouten kan veroorzaken — wijzigingen werken in tests, maar falen in productie (of omgekeerd).

Oplossing

Er worden aparte omgevingen voor tests georganiseerd (test, staging, pre-prod), die zo veel mogelijk overeenkomen met productie. Voor handtesting is het belangrijk dat de API, gegevens, configuratie en zelfs "hardware" nauwkeurig overeenkomen. Bijzondere aandacht wordt besteed aan de isolatie van gebruikersgegevens, configuratie van logging, monitoring en controlegegevens.

Belangrijke kenmerken:

  • De separatie van de omgeving zorgt voor veiligheid en maakt het mogelijk om alle testen uit te voeren.
  • Het maximale overeenkomen met productie vermindert het risico op "verborgen" fouten.
  • De noodzaak voor periodieke vernieuwing van testgegevens en configuraties.

Vragen met een addertje onder het gras.

Mag je een productieomgeving gebruiken voor testen als de testen onschadelijk zijn?

Nee, er blijft altijd een risico bestaan dat de werking voor gebruikers verstoord wordt of dat testgegevens "zichtbaar" worden. Zelfs "onschadelijke" testen kunnen invloed hebben op statistieken of belasting veroorzaken.

Wat is het verschil tussen test-, staging- en pre-prod-omgevingen?

Test — omgeving voor hoofdhand- en geautomatiseerde tests, kan verschillen qua gegevens. Staging/pre-prod — lijkt maximaal op productie, reproduceert infrastructuur en gegevens voor de finale test.

Welke gegevens zijn het meest wenselijk om te gebruiken in een testomgeving: echte, geanonimiseerde of synthetische?

De beste optie zijn geanonimiseerde gegevens, die dicht bij de echte gegevens zijn qua structuur. Echte gegevens schenden de veiligheid, uitsluitend synthetische gegevens weerspiegelen niet het echte gedrag.

Typische fouten en antipatterns

  • Het gebruik van "live" gegevens of productie-servers voor testen.
  • Een te vereenvoudigde testomgeving.
  • Ontbreken van regelmatige vernieuwing van configuraties en gegevens.

Voorbeeld uit de praktijk

Negatief voorbeeld

Het testen van een bugfix gebeurt op productie, na de release wordt de bug alleen in de testomgeving gefixt, met als gevolg een nieuwe fout in productie: klanten klagen massaal.

Voordelen:

  • Snelle test van kleine aanpassingen

Nadelen:

  • Gegevensverlies
  • Mogelijkheid van incidenten in de live service

Positief voorbeeld

Het team controleert handmatig een functie op een aparte staging, testgegevens worden regelmatig bijgewerkt, en tests zijn zo dicht mogelijk bij de realiteit.

Voordelen:

  • Identificatie van complexe bugs vóór de release

Veiligheid van productie

Nadelen:

  • Er zijn middelen nodig om de omgeving te ondersteunen
  • Soms is het moeilijker om "zeldzame" bugs te vinden zonder actuele gegevens