Funktionstestning ?r en typ av testning som syftar till att fastst?lla om varje applikationsfunktion fungerar enligt programvarukraven. Varje funktion j?mf?rs med motsvarande krav f?r att fastst?lla om dess utdata ?verensst?mmer med slutanv?ndarens f?rv?ntningar. Testningen g?rs genom att ge exempel p? inmatningar, f?nga upp resulterande utmatningar och verifiera att faktiska utmatningar ?r desamma som f?rv?ntade utmatningar.
N?gra exempel p? funktionell testning ?r:
Till skillnad fr?n icke-funktionell testning handlar funktionell testning inte om att unders?ka kvaliteten, s?kerheten eller prestandan hos applikationens underliggande k?llkod. Det m?ter inte hastighet, skalbarhet och tillf?rlitlighet.
Funktionstestning fokuserar snarare p? resultatet av bearbetningen och inte p? mekaniken i bearbetningen, och avg?r om applikationen uppfyller anv?ndarnas grundl?ggande minimif?rv?ntningar.
I den meningen ?r definitionen av funktionell testning n?stan synonym med black-box-testning, medan white-box-testning ? andra sidan oftare ?r en egenskap hos icke-funktionella tester.?
En funktionstestplan f?ljer vanligtvis nedanst?ende sekvens:
Identifiera testm?len
Funktionella testm?l ?r de funktioner som programvaran f?rv?ntas ha baserat p? projektkraven. Testm?len inkluderar validering av att applikationen fungerar som den var avsedd att g?ra och att den hanterar fel och ov?ntade scenarier p? ett elegant s?tt.
Skapa testscenarier
Ta fram en lista ?ver alla m?jliga (eller ?tminstone alla de viktigaste) testscenarierna f?r en viss funktion. Testscenarierna beskriver de olika s?tt som funktionen kommer att anv?ndas p?. F?r en betalningsmodul kan testscenarierna t.ex. omfatta flera valutor, hantering av ogiltiga eller utg?ngna kortnummer och generering av ett meddelande n?r transaktionen har slutf?rts.
Skapa testdata
Skapa testdata som simulerar normala anv?ndningsf?rh?llanden baserat p? de testscenarier som du har identifierat. Du kan mata in testdata manuellt (t.ex. fr?n ett MS-Excel-kalkylblad eller en utskrift) eller automatiskt via ett skript eller testverktyg som l?ser och matar in data fr?n en databas, en plattfil, XML eller ett kalkylblad. Varje upps?ttning indata b?r ocks? ha tillh?rande data som beskriver det f?rv?ntade resultat som indata ska generera.
Utforma testfall
Skapa testfall baserat p? de olika ?nskade resultaten f?r testinmatningarna. Om du t.ex. anger ett ogiltigt kreditkortsnummer ska programmet visa ett meningsfullt felmeddelande.
Exekvera testfallen
K?r testfallen genom applikationen och j?mf?r faktiska resultat med f?rv?ntade resultat. Om det faktiska och det f?rv?ntade resultatet skiljer sig ?t har funktionen inte klarat testet och en defekt b?r registreras.
?verv?ga, sp?ra och ?tg?rda defekter
N?r en defekt har identifierats b?r den registreras i ett formellt sp?rningssystem som ?r tillg?ngligt f?r hela projektgruppen. N?dv?ndiga ?ndringar ska g?ras i applikationen och testfallet ska utf?ras igen f?r att bekr?fta l?sningen innan en defekt markeras som st?ngd.
Verktyg f?r automatisering av funktionella tester kan interagera med anv?ndargr?nssnittet i den applikation som testas. De kan identifiera objekt p? sk?rmen, t.ex. listboxar, textboxar och knappar, och kan g?ra val, mata in data och trycka p? dem.
M?nga verktyg f?r automatisering av funktionstester inneh?ller en inspelare som "tittar p?" anv?ndaren n?r denne interagerar med en applikation och dess objekt p? sk?rmen, registrerar de data som anv?ndaren matar in i systemet och de ?tg?rder som anv?ndaren utf?r, t.ex. trycker p? knappar eller v?ljer menyer. Dessa ?tg?rder kan sedan spelas upp igen, med hj?lp av de objekt, data och ?tg?rder som registrerats under inspelningen, f?r att replikera anv?ndarens aktiviteter. Resultaten av dessa ?tg?rder noteras av testverktyget och j?mf?rs med de f?rv?ntade resultat som definierats av automationsingenj?ren f?r att avg?ra om testet ?r godk?nt eller inte.
Ingenj?rer inom funktionell testautomatisering kan bygga sina tester steg f?r steg med hj?lp av de objekt som verktyget k?nner igen, eller s? kan de b?rja med en inspelning, anpassa stegen och parametrisera data f?r att generalisera dem och g?ra det m?jligt att k?ra tester i olika milj?er, inklusive olika webbl?sare och mobila enheter.
Ledande testautomatiseringsverktyg inneh?ller idag funktioner f?r artificiellIntelligence (AI) som anv?nder avancerade tekniker som maskininl?rning, datorseende, neurala n?tverk och bearbetning av naturligt spr?k. Detta hj?lper till att identifiera objekt p? sk?rmen p? samma s?tt som en m?nniska g?r, interagera med och manipulera objekt p? ett naturligt s?tt och g?ra det m?jligt att skriva tester p? vanlig engelska.
AI-baserad automatisering av funktionella tester har visat sig minska tiden f?r att skapa tester, ?ka testt?ckningen, ?ka testtillg?ngarnas motst?ndskraft och minska underh?llet av tester.
Skapa testfall tidigt
V?nta inte p? att kodningen av applikationen eller modulen ska vara klar innan du b?rjar skapa testfall. Det ?r i de tidiga faserna av projektet som anv?ndarkraven ?r som f?rskast. Du kan alltid ?ndra testfallen senare om det beh?vs.
Automatisera
Funktionstestning kan vara en m?dosam, repetitiv och tidskr?vande process. Ju mer du automatiserar, desto snabbare kan du s?kerst?lla ?nskad funktionalitet eller identifiera och korrigera defekter, och desto mer sparar du in p? testtid och kostnader i appleveransprocessen. Det kanske inte ?r m?jligt, eller ens ?nskv?rt, att automatisera alla testfall, men bara genom att f? bort de viktigaste testfallen fr?n den manuella listan kan du avsev?rt f?rb?ttra din test-ROI.
F?rst? anv?ndarens tankeprocess
Funktionstestare m?ste ha en djup f?rst?else f?r slutanv?ndarens tankeprocess. Det finns ofta olika typer av anv?ndare f?r varje applikation (k?pare, s?ljare, administrat?rer, dataregistrerare, chefer etc.). De olika typerna av anv?ndare och deras typiska navigering i applikationen m?ste beaktas i varje testplan.
Prioritera
Testare har begr?nsad tid och begr?nsade resurser. Alla funktioner kan inte testas. Vissa applikationsfunktioner ?r h?gprioriterade och m?ste d?rf?r prioriteras framf?r l?gre prioriterade funktioner.
?ven om Functional Testing kan vara en utmaning f?r m?nga organisationer ?r f?rdelarna med en korrekt automatiserad QA-organisation f?r funktionstestning l?ngt st?rre ?n dessa utmaningar, och att utnyttja kraften i bepr?vade verktyg f?r funktionstestning ?r det b?sta s?ttet att g?ra det p?. Ta reda p? hur 好色先生TV? Functional Test Automation kan hj?lpa dig att f? ut optimalt v?rde av din funktionella testning.
AI-driven testautomatisering
Skifta till v?nster f?r snabbare leverans
Testa mobilappar var som helst. F?rb?ttra produktiviteten
Ta farv?l av flaskhalsar
Snabba upp din applikationsleverans med testning, kvalitet och AI-driven automatisering