Vad är Workflow Testing in Software Testing? med exempel

⚡ Smart sammanfattning

Arbetsflödestestning bekräftar att varje stegsekvens i en applikation fortfarande speglar den affärsprocess den byggdes för, och kontrollerar varje steg, överlämning och beroende från den första åtgärden till det slutliga resultatet.

  • 🔄 Definition: Ett arbetsflöde är en serie uppgifter som producerar ett önskat resultat över flera steg.
  • 🏢 Affärsanpassning: Varje testad sekvens måste matcha processen som beskrivs i affärskravdokumentet.
  • 🧩 Omfattning: Täckningen bygger på både integrationstester och systemtester för varje build.
  • 📅 Fyra faser: Initiering, utarbetning, konstruktion och övergång har alla ett annat testfokus.
  • 👥 roller: Testingenjörer, komponentingenjörer, integrationstestare och systemtestare delar på arbetet.
  • ???? Gränser: Helhetstestning sträcker sig över system, medan arbetsflödestestning följer en enda affärsprocess.
  • 🛠️ Öva: Prioritera intäktskritiska flöden, använd realistisk data och testa om när processen ändras.

Arbetsflödestestning förklarad med affärsprocesssteg, roller och exempel

Vad är Workflow Testing?

Arbetsflödestestning är en typ av mjukvarutestning som kontrollerar att varje mjukvaruarbetsflöde korrekt återspeglar den givna affärsprocessen. Ett arbetsflöde är en serie uppgifter som producerar ett önskat resultat, och det involverar vanligtvis flera steg eller steg. För alla affärsprocesser definieras testning av dessa sekventiella steg som arbetsflödestestning.

Den skillnad som spelar roll är omfattningen. En enda testfall frågar om en funktion returnerar rätt svar. Ett arbetsflödestest frågar om tio av dessa funktioner, exekverade i den ordning en verklig användare följer dem, fortfarande levererar det resultat som verksamheten förväntar sig. Av den anledningen hör arbetsflödestestning hemma bland de processorienterade posterna i typer av mjukvarutestning katalog snarare än med tekniker på enhetsnivå.

Exempel på arbetsflödestestning

Kontrollera till exempel att systemet kan installeras på användarens plattform och att det körs korrekt.

Ett mer detaljerat exempel är en onlinebeställning. Kunden lägger till en vara i varukorgen, använder en rabattkod, väljer ett leveransalternativ, betalar och får ett bekräftelsemejl medan lagret får en plockningsinstruktion. Var och en av dessa steg kan passera isolerat och ändå misslyckas som en kedja: rabatten kanske inte överlever betalningssteget, eller så kanske lagermeddelandet aldrig lämnar kön.

Arbetsflödestestning görs i faser. Så här kommer du att utföra arbetsflödestestning.

  • InledningsfasenDenna fas inkluderar inledande testplanering och prototyptestning.
  • Utarbetande fasDenna fas inkluderar att grundlägga testarkitekturen.
  • ByggfasenDen här fasen inkluderar omfattande tester vid varje byggnation.
  • ÖvergångsfasDenna fas inkluderar regressionstest och testa korrigeringar igen.

Hur man utför arbetsflödestestning

Fasmodellen ovan beskriver när arbetet sker. Sekvensen nedan beskriver vad en testare faktiskt gör inom någon av dessa faser.

  1. Kartlägg affärsprocessen. Rita arbetsflödet exakt så som verksamheten kör det, inklusive varje beslutspunkt, godkännande och överlämning mellan avdelningar. En affärsanalytiker är oftast den snabbaste vägen till en korrekt karta, och affärsanalytiker Dokumentationen är den referens som kartan kontrolleras mot.
  2. Ställ in in- och utträdeskriterier. Registrera det tillstånd systemet måste vara i innan arbetsflödet startar och det tillstånd som bevisar att det är klart. Utan båda är testarna oense om huruvida en körning godkändes.
  3. Designa testfallen. Skriv ett fall per väg genom arbetsflödet, inte ett per skärm. Numrera stegen, ange det förväntade resultatet för varje steg och ge varje fall en unik identifierare så att fel kan identifieras. tractillbaka till en stig.
  4. Förbered realistiska testdata. Återanvänd anonymiserade produktionsformade register snarare än påhittade värden. Rabattkoder, skatteregler och adressformat är de vanligaste ställena där syntetisk data döljer verkliga defekter.
  5. Kör den primära sökvägen först. Bekräfta att arbetsflödet slutförs från början till slut innan något avsiktligt bryts. Ett fel här ogiltigförklarar alla negativa resultat som följer.
  6. Bryt kedjan med flit. Avbryt halvvägs, skicka in ett ogiltigt värde vid en beslutspunkt, timeouta en session och avvisa ett godkännande. De intressanta defekterna finns i dessa avbrutna banor, inte i den primära.
  7. Rapportera, åtgärda och testa igen. Logga varje fel mot det steg som orsakade det och kör sedan hela arbetsflödet igen efter att det har åtgärdats. Ett reparerat steg flyttar ofta felet ett steg längre ner i kedjan.

Stabila arbetsflöden som upprepar varje utgåva är de starkaste kandidaterna för automatisering, eftersom samma ordnade steg körs identiskt varje gång och skriptet betalar sig självt inom några cykler.

Vem kommer att utföra Workflow Testing?

Arbetsflödestestning är delat arbete, eftersom ingen enskild roll ser hela kedjan. Fyra roller bär bördan, var och en med sina egna ansvarsområden.

  • Testingenjör
    • Planera testmål och schema
    • Definiera testfall och procedurer
    • Utvärdera testresultat
  • Komponentingenjör
    • Utveckling av testkomponenter
    • Automatisera några av testprocedurerna
  • Integrationstestare
  • Systemtestare

Vad man ska testa i ett arbetsflöde

Programvaruarbetsflöden dokumenteras i affärskravsdokumentet, och det dokumentet är källan till sanningen för täckningen. Arbetsflödestestning kommer också att involvera delar av system- och integrationstester.

En fullständig genomgång av ett arbetsflöde undersöker mer än de skärmar som användaren ser.

  • Sekvens: Stegen utförs i den dokumenterade ordningen, och stegen kan inte hoppas över eller upprepas i fel ordning.
  • Dataöverlämning: Värden som matas in tidigt i kedjan finns kvar intakta till det sista steget och till alla nedströms system.
  • Roller och behörigheter: Varje steg är endast tillgängligt för den roll som är behörig att utföra det.
  • Avbrutna vägar: Avbrytning, timeout, avslag och nytt försök lämnar alla arbetsflödet i ett definierat tillstånd.
  • Artefakter: Arbetsflödesmodellen omfattar testfall, testprocedurer, testkomponenter och testdelsystem, så var och en av dessa verifieras i tur och ordning.
  • Meddelanden: E-postmeddelanden, aviseringar och kömeddelanden skickas en gång, med rätt innehåll, vid rätt steg.

Arbetsflödestestning kontra heltäckande testning kontra systemtestning

Dessa tre tekniker överlappar varandra tillräckligt för att kunna förväxlas, men de besvarar olika frågor. Tabellen sätter gränserna.

Aspect Arbetsflödestestning End-to-end-testning Systemtestning
Fråga besvarad Matchar programvaran affärsprocessen? Fungerar hela resan över alla anslutna system? Uppfyller det monterade systemet dess krav?
Täckningsenhet En affärsprocess, steg för steg En användarresa, från frontend till backend Den kompletta applikationsbyggnationen
Primär referens Företagskrav Dokument Användarens resekarta Specifikation av systemkrav
Typisk ägare Testingenjör med input från affärsanalytiker Automations- eller QA-ingenjör Systemtestare

I praktiken är ett arbetsflödestest ofta specifikationen för en heltäckande test är byggd från, medan systemtestning ger den stabila versionen som arbetsflödet körs på.

Bästa praxis och vanliga utmaningar

Team som får värde av arbetsflödestester tenderar att följa samma lilla uppsättning vanor.

  • Prioritera de arbetsflöden som medför intäkts- eller regulatoriska risker före de sällsynta.
  • Beskriv varje steg och förväntat resultat på ett enkelt och otvetydigt språk.
  • Behåll en återanvändbar, realistisk testdatauppsättning så att körningarna förblir jämförbara mellan miljöer.
  • Testa varje arbetsflöde med giltiga indata och med ogiltiga indata vid varje beslutspunkt.
  • Uppdatera testfallen i det ögonblick den underliggande affärsprocessen ändras.

De återkommande hindren är lika förutsägbara.

  • Odokumenterade processer: Arbetsflödet lever i människors huvuden, så testare validerar mot ett antagande.
  • Långa utförandetider: Ett arbetsflöde som omfattar godkännanden kan ta timmar, vilket begränsar hur ofta det körs manuellt.
  • Miljödrift: Nedströmssystem i kedjan är inaktuella eller har fastnat, och defekter uppstår bara i produktionen.
  • Spröd automatisering: Skript kopplade till skärmlayout bryts när gränssnittet ändras, även när processen inte gjorde det.
  • Datakollisioner: Parallella körningar förbrukar samma poster, vilket skapar fel som ser ut som produktfel.

Vanliga frågor

Det är funktionellt. Tekniken bedömer om sekvensen producerar det angivna affärsresultatet, inte hur snabbt eller hur tillförlitligt den gör det – de frågorna hör till prestanda och återhämtningstestning.

AI-modeller läser kravdokumentet och föreslår ett fall per sökväg, inklusive de avbrutna grenar som team vanligtvis glömmer. Utdata behöver fortfarande granskas, eftersom en modell inte kan veta vilka sökvägar som medför verklig affärsrisk.

Copilot och liknande agentassistenter bygger snabbt upp sidobjekt, stegdefinitioner och assertioner från ett skriftligt arbetsflöde. De sparar tidping snarare än att tänka: sekvensering, testdata och definitionen av en godkänd körning förblir testarens ansvar.

Först affärskravsdokumentet, sedan processdiagrammet och eventuell godkännandematris. TracAtt enbart gå tillbaka till en användarberättelse räcker inte, eftersom en berättelse sällan beskriver hela kedjan av steg.

Efter att bygget är integrerat och stabilt, pekar fel på processen snarare än på halvt sammankopplade komponenter. Att köra dem tidigare producerar brus; att köra dem bara i slutet ger ingen tid att åtgärda det de hittar.

De berörda ärendena skrivs om före nästa körning, de tas inte bort. Ett ändrat godkännandesteg eller en ny beslutspunkt ändrar vanligtvis flera ärenden efteråt, så hela vägen går om snarare än patchas på ett ställe.

Täckta sökvägar jämfört med dokumenterade sökvägar, hittade defekter per arbetsflöde och andelen affärskritiska processer med en automatiserad körning. Råa testfallsantal säger väldigt lite, eftersom ett arbetsflöde kan innehålla dussintals triviala fall.

Trådtestning följer en funktionell tråd genom de integrerade komponenterna, så det är den tekniska motsvarigheten. Arbetsflödestestning ramar in samma idé i affärstermer, tracen dokumenterad process istället för en kodsökväg.

Sammanfatta detta inlägg med: