Wat is workflowtesten bij softwaretesten? met voorbeelden
⚡ Slimme samenvatting
Workflowtesten bevestigen dat elke reeks stappen binnen een applicatie nog steeds het bedrijfsproces weerspiegelt waarvoor deze is ontwikkeld. Hierbij wordt elke fase, overdracht en afhankelijkheid gecontroleerd, van de eerste actie tot het uiteindelijke resultaat.

Wat is workflowtesten?
Workflowtesten Workflowtesten is een vorm van softwaretesten waarbij wordt gecontroleerd of elke softwareworkflow het betreffende bedrijfsproces nauwkeurig weergeeft. Een workflow is een reeks taken die een gewenst resultaat opleveren en bestaat meestal uit meerdere fasen of stappen. Voor elk bedrijfsproces wordt het testen van deze opeenvolgende stappen workflowtesten genoemd.
Het onderscheid dat ertoe doet, is de reikwijdte. Een enkele testcase Een workflowtest vraagt of een bepaalde functie het juiste antwoord geeft. Een workflowtest vraagt of tien van die functies, uitgevoerd in de volgorde waarin een echte gebruiker ze volgt, nog steeds het resultaat opleveren dat het bedrijf verwacht. Om die reden hoort workflowtesten thuis bij de procesgerichte onderdelen van de test. soorten softwaretesten catalogus in plaats van met technieken op eenheidsniveau.
Voorbeeld van workflowtest
Controleer bijvoorbeeld of het systeem op het platform van de gebruiker kan worden geïnstalleerd en of het correct functioneert.
Een beter voorbeeld is een online bestelling. De klant voegt een artikel toe aan het winkelmandje, voert een kortingscode in, selecteert een bezorgoptie, betaalt en ontvangt een bevestigingsmail, terwijl het magazijn een orderverzamelinstructie ontvangt. Elk van deze stappen kan afzonderlijk succesvol zijn, maar toch als geheel mislukken: de korting wordt mogelijk niet verwerkt na de betaling, of het bericht van het magazijn verlaat de wachtrij mogelijk nooit.
Het testen van workflows gebeurt in fasen. Zo voer je workflowtesten uit.
- OpstartfaseDeze fase omvat de initiële testplanning en het testen van het prototype.
- UitwerkingsfaseDeze fase omvat het vaststellen van de basiswaarden voor de testarchitectuur.
- BouwfaseDeze fase omvat uitgebreide tests bij elke build.
- OvergangsfaseDeze fase omvat regressietests en de oplossingen opnieuw testen.
Hoe voer je workflowtesten uit?
Het bovenstaande fasemodel beschrijft wanneer het werk plaatsvindt. De onderstaande volgorde beschrijft wat een tester daadwerkelijk doet binnen elk van die fasen.
- Breng het bedrijfsproces in kaart. Breng de workflow exact in kaart zoals die in de praktijk werkt, inclusief elk beslissingsmoment, goedkeuring en overdracht tussen afdelingen. Een businessanalist is doorgaans de snelste manier om een nauwkeurige kaart te maken. bedrijfsanalist De documentatie dient als referentiepunt voor de controle van de kaart.
- Stel instap- en uitstapcriteria in. Leg vast in welke toestand het systeem zich moet bevinden voordat de workflow start en in welke toestand het bewijst dat de workflow is voltooid. Zonder beide gegevens zijn testers het oneens over de vraag of een run geslaagd is.
- Ontwerp de testgevallen. Schrijf één case per pad door de workflow, niet één per scherm. Nummer de stappen, geef het verwachte resultaat voor elke stap aan en geef elke case een unieke identificatiecode, zodat defecten kunnen worden opgespoord. tracterug naar een pad.
- Bereid realistische testgegevens voor. Hergebruik geanonimiseerde, op de productie gebaseerde gegevens in plaats van verzonnen waarden. Kortingscodes, belastingregels en adresformaten zijn veelvoorkomende voorbeelden waar synthetische data echte gebreken verbergen.
- Voer eerst het primaire pad uit. Controleer of de workflow volledig is afgerond voordat er opzettelijk iets wordt verbroken. Een fout op dit punt maakt elk negatief resultaat dat daarop volgt ongeldig.
- Breek de ketting opzettelijk. Een proces halverwege afbreken, een ongeldige waarde invoeren op een beslissingspunt, een sessie laten verlopen en een goedkeuring afwijzen. De interessante fouten zitten in deze onderbroken paden, niet in het primaire pad.
- Rapporteren, corrigeren en opnieuw testen. Registreer elk defect bij de stap die het heeft veroorzaakt en voer vervolgens de hele workflow opnieuw uit na de correctie. Een gecorrigeerde stap verplaatst de fout vaak één stap verder in de keten.
Stabiele workflows die bij elke release worden herhaald, zijn de beste kandidaten voor automatisering, omdat dezelfde stappen in dezelfde volgorde elke keer identiek worden uitgevoerd en het script zichzelf binnen enkele cycli terugverdient.
Wie gaat de workflowtesten uitvoeren?
Het testen van workflows is een gezamenlijke taak, omdat geen enkele rol het hele proces overziet. Vier rollen dragen de last, elk met hun eigen verantwoordelijkheden.
- Test-ingenieur
- Plan testdoelen en planning
- Testgevallen en procedures definiëren
- Evalueer testresultaten
- Componenteningenieur
- Ontwikkeling van testcomponenten
- Automatiseer een deel van de testprocedures
- Integratietester
- Uitvoerend integratietests en het melden van defecten
- Systeemtester
- Uitvoerend systeemtests en het melden van defecten
Wat te testen in een workflow
Softwareworkflows worden gedocumenteerd in het document met bedrijfsvereisten, en dat document is de bron van waarheid voor de testdekking. Workflowtesten omvatten ook onderdelen van systeem- en integratietesten.
Een volledige controle van een workflow omvat meer dan alleen de schermen die de gebruiker ziet.
- Volgorde: De stappen worden uitgevoerd in de gedocumenteerde volgorde en stappen kunnen niet worden overgeslagen of in een andere volgorde worden herhaald.
- Gegevensoverdracht: Waarden die vroeg in de keten worden ingevoerd, blijven ongewijzigd behouden tot de laatste stap en tot elk daaropvolgend systeem.
- Rollen en machtigingen: Elke stap is alleen beschikbaar voor de rol die bevoegd is om deze uit te voeren.
- Onderbroken paden: Annulering, time-out, afwijzing en opnieuw proberen laten de workflow in een gedefinieerde staat achter.
- Artefacten: Het workflow-testmodel omvat testgevallen, testprocedures, testcomponenten en testsubsystemen, zodat elk van deze onderdelen achtereenvolgens wordt geverifieerd.
- Kennisgevingen: E-mails, waarschuwingen en berichten in de wachtrij worden eenmaal verzonden, met de juiste inhoud, in de juiste stap.
Workflowtesten versus end-to-end testen versus systeemtesten
Deze drie technieken overlappen elkaar voldoende om verwarring te kunnen veroorzaken, maar ze beantwoorden wel verschillende vragen. De tabel geeft de grenzen aan.
| Aspect | Workflowtesten | End-to-end testen | Systeem testen |
| Vraag beantwoord | Sluit de software aan op de bedrijfsprocessen? | Werkt het hele traject correct in alle aangesloten systemen? | Voldoet het samengestelde systeem aan de eisen? |
| dekkingseenheid | Eén bedrijfsproces, stap voor stap. | Eén gebruikerstraject, van front-end tot back-end. | De complete applicatie-build |
| Primaire referentie | Document met zakelijke vereisten | Gebruikersreis in kaart | Systeemvereistenspecificatie |
| Typische eigenaar | Test engineer met input van een business analyst | Automatiserings- of QA-ingenieur | Systeemtester |
In de praktijk is een workflowtest vaak de specificatie en end-to-end test is opgebouwd uit, terwijl systeem testen zorgt voor de stabiele build waarop de workflow draait.
Beste praktijken en veelvoorkomende uitdagingen
Teams die baat hebben bij het testen van workflows, volgen doorgaans dezelfde kleine set gewoontes.
- Geef prioriteit aan de werkprocessen die inkomsten- of regelgevingsrisico's met zich meebrengen, boven de zeldzame processen.
- Beschrijf elke stap en het verwachte resultaat in duidelijke, ondubbelzinnige taal.
- Zorg voor een herbruikbare, realistische testdataset, zodat de resultaten in verschillende omgevingen vergelijkbaar blijven.
- Test elke workflow met geldige en ongeldige invoer op elk beslissingspunt.
- Werk de testgevallen bij zodra het onderliggende bedrijfsproces verandert.
De terugkerende obstakels zijn net zo voorspelbaar.
- Niet-gedocumenteerde processen: De workflow zit in iemands hoofd, dus testers valideren aan de hand van een aanname.
- Lange uitvoeringstijden: Een workflow met goedkeuringsprocedures kan uren duren, waardoor de frequentie waarmee deze handmatig wordt uitgevoerd beperkt is.
- Omgevingsafwijking: De systemen verderop in de keten zijn vastgelopen of verouderd, en defecten komen pas tijdens de productie aan het licht.
- Kwetsbare automatisering: Scripts die gekoppeld zijn aan de schermindeling, worden onderbroken wanneer de interface verandert, zelfs als het proces zelf niet verandert.
- Gegevensconflicten: Parallelle uitvoeringen verwerken dezelfde gegevens, wat leidt tot fouten die op productdefecten lijken.
