Programmerare skriver sällan koden att i förväg veta allt som kan gå fel och alla de problem som de kommer att behöva rätta . De arbetar för att skapa den mest funktionella kod som de kan , men oundvikligen kommer det att finnas oförutsedda problem . Lyckligtvis programmerare har en mängd verktyg till sitt förfogande för att både bedöma orsaken till problem som inträffar , och att hitta buggar innan de blir stora problem . Debuggers
En av de mest grundläggande verktygen i varje utvecklares verktygslåda är debugger . De enkla program som kodar nybörjare skriver samtidigt lära sig att programmet innehåller några inslag , och är därmed lätt att felsöka . Men komplexa program som innehåller många olika variabler , funktioner och instanser objekt skapar en större utmaning i att räkna ut var saker går fel . Debuggers är program som tillåter utvecklare att effektivt " pausa " sina program på olika ställen , och titta på värdet av varje variabel och objektets tillstånd . Med sådan information på olika punkter i ett program avrättning gör det mycket lättare att spåra källan till problemen .
Code Coverage Analysis
Alla program innehåller täta kartor över " if-then "uttalanden . Dessa uttalanden ger banorna ett program bör ta under olika förutsättningar på olika gafflar i programmets sökväg i utförandet . Även om det är lättare för en programmerare att ta en titt på om-då träd av ett enkelt program och se till att det är möjligt för användare att nå de funktioner han vill programmet att innehålla , kan en programmerare att skriva komplexa applikationer skriver misstag koden på ett sådant sätt att det inte är möjligt för användare att nå vissa kodsegment . För att säkerställa att han inte har skurit ut användaren från allt , kan en utvecklare använder ett verktyg som kallas " code täckning analys . " Dessa algoritmer som kör en utvecklares källkod igenom varje möjlig uppsättning ingångar , utforska varje möjlig väg ett givet utförande kunde ta , och se till att alla delar av koden nås av åtminstone en möjlig förloppet .
Betatestprogram
så mycket som utvecklare kan prova att testa sin egen kod , kan någon utveckling företag spenderar förmögenheter betalar arméer av testare att sätta program genom sina steg i egen regi och har fortfarande en produkt med oupptäckta fel . En mer effektiv metod , både praktiskt och ekonomiskt , är allmän betatestning . I dessa studier , utvecklingsorganisationer släpper oftast färdiga program till allmänheten för användare att prova gratis . Detta tillåter användare att testa program på ett brett utbud av hårdvara och operativsystem , och i samband med många olika kombinationer av bakgrundsprogram och allmänna villkor systemet . Feedback från betatestare låter utvecklare fokusera sin uppmärksamhet på att hitta och korrigera de problem de offentliga rapporter .
Automated felrapportering
En nyare utveckling inom utveckling bedömning är automatiserad felrapportering . Dessa verktyg sparka i gång ett program kraschar eller måste med våld stängd att dra data från programmets operativa tillstånd precis innan det krånglade , och ger användaren möjlighet att skicka data till utvecklarna . Detta gör att programmerare att ha lättare att återskapa problem och effektiviserar processen för att hitta och korrigera stora problem med tillämpningen . Dessa verktyg kan ingå som delar av förhandsversion betatestning , samt del av de slutliga programmet releaser för att bedöma både små och stora uppdateringar .