Test af webapplikationer: Hvordan tester man et websted? Typer
⚡ Smart opsummering
Webapplikationstest verificerer et websted på tværs af funktionalitet, brugervenlighed, grænseflade, database, kompatibilitet, ydeevne, sikkerhed og crowdchecks før udgivelsen, så fejl dukker op under testfasen i stedet for at blive vist til betalende brugere.
Før vi går i dybden med de forskellige typer af webtest, lad os hurtigt definere webtest og se, hvor det passer ind i leveringscyklussen.
Hvad er test af webapplikationer?
Test af webapplikationer, eller hjemmesidetestning, er en kontrol af din webapplikation eller dit websted for potentielle fejl, før det lanceres og er tilgængeligt for offentligheden. Webapplikationstest kontrollerer funktionaliteten, brugervenligheden, sikkerheden, kompatibiliteten og ydeevnen af webapplikationen eller webstedet.
I denne fase kontrolleres emner som webapplikationens sikkerhed, webstedets funktion, dets adgang for både handicappede og almindelige brugere og dets evne til at håndtere trafik.
En hjemmeside er ikke ét program. Det er en stak: HTML, CSS og JavaScript i browseren, plus API'er og databaser på serveren. Et lag, der går igennem alene, kan stadig fejle, når det kommunikerer med sin nabo, så webtestning har brug for supplerende teknikker.
Typer af webapplikationer, du skal teste
Før du vælger teknikker, skal du identificere den arkitektur, du har foran dig. Strukturen bestemmer, hvor defekter koncentreres, og hvordan du fordeler indsatsen mellem klient og server.
| Architecture | Hvordan den opfører sig | Hvad dette betyder for testning |
|---|---|---|
| Single-Page Application (SPA) | Indlæses én gang og opdaterer derefter visningen uden at genindlæse hele siden. Gmail fungerer på denne måde. | Det meste logik sendes til browseren: fokuser på JavaScripttilstand, dynamisk gengivelse og klientsidesessioner. |
| Flersidet ansøgning (MPA) | Mange sider nås via separate ruter URLs, gengivet på serversiden. Almindelig for e-handel og nyhedssider. | Navigationsstierne mangedobles: test alle ruter, formularer og omdirigeringer fra start til slut. |
| Progressiv webapp (PWA) | Kører som en native app ved hjælp af service workers, et manifest og en app shell. | Tilføj offlineadfærd, forældede caches, push-notifikationer og installationsprompts. |
De fleste produkter blander disse mønstre. Bekræft hvilket et du har at gøre med, og arbejd dig derefter igennem de otte teknikker nedenfor.
Sådan testes webapplikation eller websted
I Software Engineering kan følgende testtyper/-teknik udføres afhængigt af dine krav til webtest.
Hver teknik kan køres manuelt eller via script, og det valg koster mere end dækning.
| Aspect | Manuel test | Automatiseret test |
|---|---|---|
| Bedst egnet til | Brugervenlighed og sonderende kontrol | Regression, cross-browser, indlæsningskørsler |
| Hastighed ved gentagne løb | Langsom; indsatsen gentages i hver cyklus | Hurtig; pakken genudspilles på forespørgsel |
| Omkostningsprofil | Lav på forhånd, stiger ved hver udgivelse | Højere på forhånd, derefter vedligeholdelse af script |
1. Funktionstest af en hjemmeside
Funktionstest af en hjemmeside er en proces, der inkluderer flere testparametre som brugergrænseflade, API'er, databasetest, sikkerhedstest, klient- og servertest og grundlæggende webstedsfunktionaliteter. Funktionel test er meget praktisk, og det giver brugerne mulighed for at udføre både manuel og automatiseret test. Det udføres for at teste funktionaliteterne af hver funktion på hjemmesiden.
Webtestaktiviteter omfatter:
Test alle links på dine websider fungerer korrekt, og sørg for, at der ikke er brudte links. Links, der skal kontrolleres, vil omfatte -
- Udgående links
- Interne links
- Anchor Links
- MailTil links
Testformularer fungerer som forventet. Dette vil omfatte-
- Scripttjek på formularen fungerer som forventet. For eksempel - hvis en bruger ikke udfylder et obligatorisk felt i en formular, vises en fejlmeddelelse.
- Kontroller, at standardværdier udfyldes
- Når de er indsendt, sendes dataene i formularerne til en live database eller er knyttet til en fungerende e-mailadresse
- Formularer er optimalt formateret for bedre læsbarhed
Test cookies fungerer som forventet. Cookies er små filer, der bruges af websteder til primært at huske aktive brugersessioner, så du ikke behøver at logge ind, hver gang du besøger et websted. Cookie-testning vil omfatte
- Testcookies (sessioner) slettes enten når cachen ryddes, eller når de når deres udløb.
- Slet cookies (sessioner) og test, at der bliver bedt om loginoplysninger, næste gang du besøger siden.
Test HTML og CSS for at sikre, at søgemaskiner nemt kan crawle dit websted. Dette vil omfatte
- Kontrollerer for syntaksfejl
- Readable Farveskemaer
- Standard overholdelse. Sørg for, at standarder såsom W3C, OASIS, IETF, ISO, ECMA eller WS-I følges.
Test virksomhedens arbejdsgang– Dette vil omfatte
- Afprøvning af dine ende-til-ende arbejdsgange/forretningsscenarier, som fører brugeren gennem en række websider for at fuldføre.
- Test også negative scenarier, sådan at når en bruger udfører et uventet trin, vises passende fejlmeddelelse eller hjælp i din webapplikation.
Værktøjer der kan bruges: QTP , IBM Rationelle, Selenium
2. Test af brugervenlighed
Usability Testing er nu blevet en vital del af ethvert webbaseret projekt. Det kan være udført af testere ligesom dig eller en lille fokusgruppe svarende til webapplikationens målgruppe.
Test siden Navigation:
- Menuer, knapper eller links til forskellige sider på dit websted skal være let synlige og konsekvente på alle websider
Test og Indhold:
- Indholdet skal være læseligt uden stave- eller grammatiske fejl.
- Billeder, hvis de er til stede, skal indeholde en "alt"-tekst
Værktøjer der kan bruges: Kridtmærke, Indholdsfirkant, og Clixpy
3. Interfacetest
Når funktioner og brugervenlighed holder stik, skal du kontrollere, at de bagvedliggende niveauer kommunikerer med hinanden. Tre områder, der skal testes her, er – applikation, web og databaseserver.
- Påføring: Testanmodninger sendes korrekt til databasen, og output på klientsiden vises korrekt. Eventuelle fejl skal fanges af applikationen og skal kun vises til administratoren og ikke slutbrugeren.
- web-server: Testwebserver håndterer alle ansøgningsanmodninger uden nogen form for afvisning af tjeneste.
- Databaseserver: Sørg for, at forespørgsler sendt til databasen giver forventede resultater.
Test systemets respons hvornår forbindelse mellem de tre lag (Applikation, web og database) ikke kan etableres og passende besked vises til slutbrugeren.
Værktøjer der kan bruges: Ranorex
4. Databasetest
Database er en kritisk komponent i din webapplikation, og der skal lægges vægt på at teste den grundigt. Testaktiviteter vil omfatte-
- Test, om der vises fejl under udførelse af forespørgsler
- Data Integrity vedligeholdes under oprettelse, opdatering eller sletning af data i databasen.
- Tjek responstiden på forespørgsler og finjuster dem om nødvendigt.
- Testdata hentet fra din database vises nøjagtigt i din webapplikation
Værktøjer der kan bruges: QTP, Selenium
5. Kompatibilitetstest
Kompatibilitetstest sikrer, at din webapplikation vises og fungerer korrekt på tværs af forskellige enheder. Dette omfatter:
Browserkompatibilitetstest: Samme websted i forskellige browsere vises forskelligt. Du skal teste, om din webapplikation vises korrekt på tværs af browsere, JavaScript, AJAX og godkendelse fungerer fint. Du kan også tjekke efter Mobil Browserkompatibilitet.
Gengivelsen af webelementer som knapper, tekstfelter osv. ændres med ændringer i Operating System. Sørg for, at din hjemmeside fungerer fint til forskellige kombinationer af Operatingsystemer som f.eks Windows, Linux, Mac og browsere som f.eks Firefox, Internet Explorer, Safari osv.
Værktøjer der kan bruges: Dynatrace
6. Ydelsestest
Dette vil sikre, at dit websted fungerer under alle belastninger. Testaktiviteter vil omfatte, men ikke være begrænset til –
- Websiteapplikations responstider ved forskellige forbindelseshastigheder
- Belastningstest din webapplikation for at bestemme dens adfærd under normale belastninger og spidsbelastninger
- Stresstest dit websted for at bestemme dets brudpunkt, når det skubbes til ud over normale belastninger på spidsbelastningstidspunktet.
- Test, om der opstår et nedbrud på grund af spidsbelastning, hvordan kommer webstedet over en sådan hændelse
- Sørg for, at optimeringsteknikker som gzip-komprimering, browser og serversidecache er aktiveret for at reducere indlæsningstider
Værktøjer der kan bruges: Loadrunner, JMeter
7. Sikkerhedstest
Sikkerhedstest er afgørende for e-handelswebsteder, der gemmer følsomme kundeoplysninger som kreditkort. Testaktiviteter vil omfatte-
- Test uautoriseret adgang til sikre sider bør ikke tillades
- Begrænsede filer bør ikke kunne downloades uden passende adgang
- Tjeksessioner afbrydes automatisk efter længere tids brugerinaktivitet
- Ved brug af SSL-certifikater bør webstedet omdirigere til krypterede SSL-sider.
Intruder
Intruder er en kraftfuld sårbarhedsscanner, der hjælper dig med at afdække de mange svagheder, der lurer i dine webapplikationer og underliggende infrastruktur. Tilbyder brancheførende sikkerhedstjek, kontinuerlig overvågning og en brugervenlig platform, Intruder holder virksomheder i alle størrelser sikre mod hackere.
Funktionalitet
- Bedste-i-klassen trusselsdækning med over 10,000 sikkerhedstjek
- Tjek for konfigurationssvagheder, manglende patches, applikationssvagheder (såsom SQL-injektion og cross-site scripting) og mere
- Automatisk analyse og prioritering af scanningsresultater
- Intuitiv grænseflade, hurtig at opsætte og køre dine første scanninger
- Proaktiv sikkerhedsovervågning for de seneste sårbarheder
- AWS, Azureog Google Cloud stik
- API-integration med din CI/CD-pipeline
8. Crowd test
Du vil udvælge et stort antal personer (en crowd) til at udføre tests, som ellers ville være blevet udført af en lille intern gruppe. Crowdsourcing-testning er et interessant og kommende koncept, der hjælper med at opklare mange ubemærkede fejl.
Værktøjer der kan bruges: Crowd test platform
Testproces for webapplikationer: Trin for trin
De otte teknikker fortæller dig, hvad du skal kontrollere. Processen nedenfor fortæller dig, hvornår du skal køre dem.
- Indsaml og afklar krav. Angiv, hvad applikationen skal gøre, og hvordan den skal opføre sig. Tvetydige krav skaber forventninger, der ikke kan testes, så afklar dem først. Dette trin forankrer webtestning i den bredere kontekst. livscyklus for softwaretest.
- Skriv testplanen. Beslut hvilke teknikker der gælder, hvem der kører dem, hvilke værktøjer der er nødvendige, og inden for hvilken tidsramme. Planen er din køreplan og dit estimat.
- Udvikle testcases. Omdan hvert krav til konkrete trin med forventede resultater, der dækker både den lykkelige vej og de negative scenarier, som brugerne udløser ved et uheld.
- Opsæt testmiljøet. Spejlproduktion så præcist som budgettet tillader: de samme browser- og operativsystempar, sammenlignelige datamængder, realistiske netværkshastigheder.
- Udfør testene. Kør sagerne, registrer faktiske resultater i forhold til forventede resultater, og optag skærmbilleder, konsoloutput og serverlogfiler, mens fejlen stadig kan reproduceres.
- Rapport og track-defekter. Log hver enkelt med trin til reproduktion og en prioritet, test derefter igen efter reparationen og bekræft, at intet i nærheden er gået i stykker.
- Luk cyklussen. Udarbejd et testresumé, der dækker, hvad der blev testet, hvad der blev fundet, hvad der stadig er åbent, og hvad der skal forbedres, og godkend derefter til frigivelse.
⚠️ Planlæg tidsplanen, ikke kun prøverne: Webtestning er besværligt, og deadlinepres er den første hindring, man møder, efterfulgt af gentagne kodeændringer, der ugyldiggør det færdige arbejde. Definer hver opgave i trin 2, og lav et arbejdsskema ud fra det.


