Hopp til innhold

9 min lesing

Slik tester du POS-systemer uten ekte maskinvare

Å teste et POS-system uten en full kassebane kan føles risikabelt i starten. Ekte butikker har skannere, kvitteringsskrivere, betalingsterminaler, tillatelser og all slags miljøspesifikk atferd. For en stor del av hverdagens utviklings- og QA-arbeid kan du likevel teste POS-systemer effektivt uten å ha hver enhet på pulten.

Det du kan teste uten maskinvare

Mye mer enn folk tror. Du kan validere produktoppslag, legge-i-kurv-atferd, antallsendringer, rabattregler, kundetildeling, gjenoppretting av fokus, feilhåndtering og mange kanttilfeller kassereren møter, uten å røre den ekte skanneren.

Nøkkelen er å skille arbeidsflytlogikk fra maskinvarevalidering. Handler problemet om hvordan POS reagerer på inndata, tilstandsendringer eller oppslagsresultater, er programvarebasert testing vanligvis nok til å finne det. Handler problemet om skannere, skrivere, terminaler eller USB-begrensninger, er det der maskinvaregjennomgangen blir nødvendig.

Start med skannerarbeidsflyten

I de fleste POS-systemer er skanneren den første avhengigheten folk bekymrer seg for. Heldigvis er den også en av de enkleste å simulere godt, fordi mange skannere oppfører seg som tastaturer.

Det gjør et emulatorverktøy for strekkodeskannere til et sterkt startpunkt for POS-testing. Du kan drive det samme søkefeltet eller varefeltet som brukes i kassen, og verifisere hvordan skjermen reagerer når strekkodeverdier kommer raskt, med eller uten en avsluttende Enter.

POS-team kan validere en overraskende stor del av ekte arbeidsflytatferd før de rører egen kassemaskinvare.
POS-team kan validere en overraskende stor del av ekte arbeidsflytatferd før de rører egen kassemaskinvare.

Bygg en liten, men realistisk testmatrise

Den enkleste veien til overflatisk dekning er å teste ett produkt på lykkelig vei. En bedre tilnærming er å lage en liten matrise av varetyper som speiler hvordan POS oppfører seg i ekte butikkarbeidsflyter.

Jeg vil vanligvis ha minst:

  • ett vanlig produkt på lager
  • én ukjent strekkode
  • én vare med ledende nuller
  • én begrenset vare eller vare med alderskontroll
  • ett produkt med kampanje eller prisregel

Det betyr noe fordi POS-feil ofte gjemmer seg i forretningsregler, ikke i selve skanningen. Er testsettet for enkelt, kan skjermen se stabil ut mens den ekte arbeidsflyten ikke er det.

Simuler operatøratferd, ikke bare systematferd

En POS-økt er ikke en pen enhetstest. Kasserere beveger seg raskt, klikker feil felt, skanner varer på nytt, lukker meldinger for tidlig og jobber under tidspress. Modellerer ikke testtilfellene uten maskinvare den virkeligheten, ser dekningen bedre ut enn den er.

Prøv scenarioer som disse:

  1. skann den samme varen raskt to ganger
  2. skann mens en modal er åpen
  3. fjern en vare og skann den på nytt
  4. utløs en lederoverstyring og skann igjen
  5. mist fokus med vilje og bekreft at grensesnittet henter seg inn

Dette er realistiske feil, og nettopp den typen tilfeller en strekkodeemulator hjelper deg å gjenta uten å bli sliten.

Bruk lagdelte miljøer med vilje

Til POS-testing liker jeg tre lag:

  • lokal utvikling med seedede data og en strekkodeemulator
  • staging med ekte pris-, avgifts- og lagerlogikk
  • maskinvarevalidering på en ekte terminal før lansering

Slik holdes dyr maskinvaretid fokusert på det lille settet med feil som virkelig krever enheter. Utviklere kan rydde de fleste arbeidsflytfeilene lokalt, QA kan verifisere bredere scenarioer i staging, og maskinvarespesialister kan konsentrere seg om problemer på enhetsnivå.

Vit hva som fortsatt krever ekte maskinvare

Testing uten maskinvare er kraftig, men den har grenser. Du trenger fortsatt ekte enheter for:

  • skannerparing og driveratferd
  • utskrift fra kvitteringsskriver og papirhåndtering
  • kommunikasjon med betalingsterminal
  • begrensninger i USB-hub og kiosk
  • butikkspesifikke nettverks- og terminalbegrensninger

Å være ærlig om disse grensene gjør resten av prosessen sterkere. Målet er ikke å late som maskinvare ikke betyr noe. Målet er å slutte å kaste bort maskinvaretid på problemer som kunne vært fanget tidligere.

Der team vanligvis går feil

Den vanligste feilen er å vente på en full maskinvarebane før man tester noe meningsfullt. Det høres forsiktig ut, men det utsetter vanligvis feil i stedet for å hindre dem. Feiler et produktoppslag fordi søkefeltet mister fokus etter en rabattmelding, gjør ikke maskinvare den feilen magisk lettere å forstå.

Et annet vanlig problem er å teste bare én rolig lykkelig vei. Ekte kasseøkter er støyende. Operatører skanner raskt, gjentar varer, går ut av meldinger og bytter mellom arbeidsflyter. POS-testingen uten maskinvare bør speile den virkeligheten, ellers mister den nettopp problemene personalet legger merke til først.

Et praktisk eksempel

Tenk deg en kasseskjerm der skanning av et produkt skal legge til varen, oppdatere handlekurven og umiddelbart gi produktsøkefeltet fokus igjen. Det meste av det kan du validere uten maskinvare:

  • simuler strekkodeskannerinndata i søkefeltet
  • verifiser at varen legges til riktig
  • verifiser at kampanjer og prisregler gjelder
  • bekreft at neste skanning lander i det samme feltet

Først etter at det består, trenger du den fysiske skanneren for endelig trygghet. Den rekkefølgen sparer tid og gjør vanligvis maskinvareøkten mer nyttig.

En rask virkelighetssjekk

Du kan teste POS-systemer uten ekte maskinvare langt mer effektivt enn mange team antar. Start med realistisk skannersimulering, par den med stabile testdata, og fokuser på arbeidsflytatferd først. Bruk deretter ekte maskinvare til det smalere settet med problemer som bare enheter kan avdekke. Den tilnærmingen er raskere, billigere og vanligvis mer disiplinert enn å støtte seg på maskinvare fra starten.

Nyttig neste steg

Hvis du vil prøve disse arbeidsflytene i praksis, start med Barcode Scanner Emulator-verktøyet og kom deretter tilbake til resten av bloggen for flere testmønstre.

Relaterte artikler