DatorerProgramvara

Testprogram - error process detektering i programvaruprodukten

I mjukvaruutveckling är en betydande del av produktionen baserad på testning av programvara. Vad är det och hur är sådan aktivitet kommer att diskutera i denna artikel.

Vad som kallas en test?

Detta hänvisar till den process genom att köra programvara för att upptäcka de platser där felaktig användning av koden. För bästa resultat, medvetet konstruerade svårt uppsättning indata. Det huvudsakliga syftet med inspektionen är att skapa den bästa möjligheten för fel av programvara. Även om det ibland testa utvecklade programmet kan förenklas till en rutinkontroll av arbetsförmågan och utföra de uppgifter. Detta sparar tid, men ofta tillsammans med opålitlighet av programvaran, användar missnöje, och så vidare.

effektivitet

Hur väl och snabbt är fel, en betydande inverkan på kostnaderna och varaktigheten av mjukvaruutveckling erforderlig kvalitet. Så trots att testare får lön flera gånger mindre än utvecklarna är kostnaden för sina tjänster vanligtvis upp till 30-40% av kostnaden för hela projektet. Detta beror på att antalet anställda, eftersom sökandet efter misstaget - detta är en ovanlig och ganska svår process. Men även om programmet leds en respektabel antal tester, det finns ingen 100% garanti för att felet inte kommer att hända. Bara vet inte när de inträffar. För att uppmuntra testare att välja vilka typer av tester som är mer benägna att hitta fel, är olika motivation verktyg som används: både moraliskt och materiellt.

Syn på arbete

Det optimala är när man ska genomföra olika mekanismer för att se till att fel i programvaran inte har varit från början. För att göra detta, måste du ta hand om den rätta arkitektur design, tydliga mandat, och det är viktigt att inte göra justeringar i kommunikationen, när arbetet med projektet redan har börjat. I det här fallet, testaren till uppgiften att hitta och identifiera ett litet antal fel som finns kvar i det slutliga resultatet. Detta kommer att spara både tid och pengar.

Vad är testet?

Detta är en viktig aspekt av kontrollverksamheten, vilket är nödvändigt för att kunna upptäcka defekter i koden. De är nödvändiga för att kontrollera en korrekt tillämpning. Vad ingår i testet? Den består av data och deras initialvärden som bör erhållas som den resulterande (eller mellanliggande). För att framgångsrikt identifiera problem och inkonsekvenser, bör tester vara efter algoritmen utvecklades, men inte börja programmera. Det är önskvärt att använda flera metoder för att uppskatta de begärda uppgifterna. I detta fall ökar sannolikheten för detektering av ett fel eftersom du kan granska koden från ett annat perspektiv. Komplexa tester måste ge verifiering av externa effekter av de färdiga mjukvaruprodukter, liksom hans arbete algoritmer. Av särskilt intresse och ger marginella degenererade fall. Sålunda, i praktiken av fel kan ofta avslöja att cykeln arbetar vid en eller flera gånger mindre än planerat. Också viktigt är datortestning, genom vilken du kan kontrollera att det önskade resultatet på olika maskiner. Detta är nödvändigt för att se till att programmet fungerar på alla datorer. Dessutom datortestet, som utvecklingen kommer att genomföras, är viktigt i skapandet av multiplattformsutveckling.

felsöknings Arts

Program syftar ofta att arbeta med stora datamängder. Är det nödvändigt att skapa helt? Nej. Utbredd förvärvade bruket av "miniatyrisering" av programmet. I detta fall finns det en rimlig reduktion av datavolym jämfört med den som skall användas. Låt oss titta på ett exempel: det finns ett program som skapar en matris av storlek 50x50. Med andra ord - måste du manuellt ange 2500 värden. Det är säkert möjligt, men det kommer att ta mycket lång tid. Men för att testa funktionaliteten får programmet en matris vars dimension är 5x5. För att göra detta måste du ange fler än 25 värden. Om det i detta fall, en normal, felfri drift, betyder det att allt är i sin ordning. Även om det finns fallgropar som ligger i det faktum att med miniatyrisering situation inträffar, vilket resulterar i förändring blir implicit och tillfälligt försvinna. Det är också mycket sällsynt, men ändå händer är att det finns nya buggar.

eftersträvade målen

Testning är inte en lätt uppgift på grund av det faktum att denna process inte är mottaglig för formalisering i sin helhet. Stora program nästan aldrig har den nödvändiga noggranna riktmärke. Därför, som en riktlinje med hjälp av ett antal indirekta uppgifter, som dock inte till fullo återspeglar egenskaper och funktioner i mjukvaruutveckling som debuggade. Dessutom bör de väljas så att rätt resultat beräknas före hur programvara kommer att testas. Om du inte avancera, är det frestande att överväga om, och om resultatet av maskinen kommer i det förväntade intervallet, kommer det att göras ett felaktigt beslut, att allt är korrekt.

Kontrollera under olika förhållanden

Som regel sker testprogram volymer som är nödvändiga för den minsta prov funktionalitet i begränsad omfattning. Verksamhet som bedrivs med förändringen av parametrarna, samt deras arbetsförhållanden. Testprocessen kan delas in i tre faser:

  • Kontrollera under normala förhållanden. I det här fallet testar vi de grundläggande funktionerna i den utvecklade mjukvaran. Resultatet ska motsvara den förväntade.
  • Kontrollera under extrema förhållanden. I dessa fall, som synonymt med gränsdata, som negativt kan påverka prestandan hos den skapade programvara. Som ett exempel, arbetar vi med en extremt stora eller små siffror eller ens total avsaknad av information.
  • Kontroll i undantagssituationer. Det innebär att man använder data som är bortom behandling. I sådana situationer är det mycket dåligt när programvaran uppfattar dem som användbar för beräkning och ger en rimlig resultat. Man måste vara försiktig att i sådana fall finns det ett avvisande av alla data som inte kan behandlas på rätt sätt. Det är också nödvändigt att föreskriva för att informera användaren om det

Test: Typer

Skapa mjukvara utan fel är mycket svårt. Detta kräver en avsevärd tid. För att få en bra produkt används ofta två typer av tester: "Alpha" och "Beta". Vilka är de? När folk talar om alfatestning, betyder det granskningen ska genomföras sig i delstaten utveckling "laboratorie" förhållanden. Detta är den sista etappen av tester innan programmet kommer att överföras till slutanvändare. Därför är utvecklare försöker vända maximum. För att underlätta drift kan data loggas för att skapa en kronologi av problem och deras lösningar. Under betatest att förstå utbudet av programvara till ett begränsat antal användare, så att de kan utnyttja programmet och identifiera de misstag du har missat. En särskild funktion i detta fall är att det ofta programvaran inte används för sitt ändamål. På grund av detta misslyckande kommer att identifieras där det fanns inget tidigare sett. Detta är helt normalt och oroa sig för det är inte nödvändigt.

Test Slutförande

Om föregående steg har slutförts, återstår det att genomföra acceptanstester. Han i detta fall blir en ren formalitet. Under detta test kommer en bekräftelse på att inga ytterligare problem har hittats och programvaran kan frigöras på marknaden. Det viktigaste blir slutresultatet, det närmare det ska kontrolleras. Försiktighet bör vidtas för att säkerställa att alla åtgärder har slutförts. Här är testprocessen som helhet. Låt oss nu gräva i de tekniska detaljerna och prata om ett sådant användbart verktyg, eftersom testprogrammen. Vad de är och när de används?

datorstödd testning

Tidigare trodde man att den dynamiska analysen av utvecklad programvara - det är för tung metod som effektivt används för att upptäcka defekter. Men på grund av den ökande komplexiteten och volym av programmen verkade motsatt uppfattning. Automatiserade tester används där de viktigaste prioriteringarna är effektivitet och säkerhet. Och de bör vara under någon ingång. Som ett exempel, de program för vilka det är lämpligt att sådan testning, innefattar följande: nätverksprotokoll, webbserver, sandlådor. Vi fortsätter att titta på några prover, som kan användas för sådan verksamhet. Om du är intresserad av gratis testprogram, är kvaliteten svårt att hitta bland dem. Men det är knäckt "pirat" versioner av väletablerade projekt, så att du kan hänvisa till sina tjänster.

lavin

Detta verktyg hjälper till att upptäcka defekter testas program i dynamisk analys läge. Den samlar in data och analyser utförandet av spåret utformade föremålet. Testaren får en uppsättning ingångar som orsakar fel eller kringgå den befintliga uppsättning begränsningar. Tack vare ett bra test av algoritmen som utvecklats av ett stort antal möjliga situationer. Programmet tar emot en annan uppsättning indata, som gör det möjligt att simulera ett stort antal situationer och skapa förhållanden under vilka den mest sannolika är förekomsten av ett fel. En viktig fördel med programmet är att använda heuristiska mått. Om det finns ett problem, då är mycket troligt att programfel. Men det här programmet har begränsningar som endast en check märkt ingång eller fil. Vid genomförande av en operation som testprogram kommer att innehålla detaljerad information om problemen med nollpekare, oändliga loopar, felaktiga adresser eller fel på grund av användningen av biblioteken. Naturligtvis är detta inte en fullständig lista över upptäckta fel och deras enda vanliga exempel. Korrigera brister tyvärr har utvecklare - automatiska metoder är inte lämpliga för dessa ändamål.

KLEE

Det är ett bra program för att testa minne. Den kan avlyssna cirka 50 systemanrop och ett stort antal virtuella processer sålunda exekveras parallellt eller separat. Men i allmänhet, är programmet inte ute efter några misstänkta platser, och bearbetar det högsta möjliga mängd kod och analyser används datavägar. På grund av detta, testprogrammet beror på storleken på objektet. Vid kontroll av insats är placerat på symboliska processer. De är en av de möjliga sätt att utföra uppgifter i ett program som testas. Tack vare den parallella driften är det möjligt att analysera ett stort antal varianter av arbetet av testapplikationen. För varje väg ingångsdatamängder lagras efter testet, som började med kontrollen. Det bör noteras att testa program med KLEE hjälper till att identifiera ett stort antal varianter, som inte bör vara. Det kan hitta problem även i applikationer som är utvecklade för årtionden.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sv.delachieve.com. Theme powered by WordPress.