Testiranje računalnog softvera je proces kojim se određeni softverski program ili njegovi dijelovi testiraju kako bi se osigurala ispravna funkcionalnost i hardverska podrška. Ovaj proces obično prolazi kroz niz faza i iteracija tijekom razvoja softvera, a može uključivati i unutarnje i vanjsko testiranje. Velik dio ovog testiranja namijenjen je pronalaženju grešaka unutar softvera, obično otkrivanjem i repliciranjem, zatim dokumentiranjem tih pogrešaka i pružanjem te dokumentacije programerima softvera. Testiranje računalnog softvera također se može provesti kako bi se provjerila kompatibilnost između programa i raznih dijelova hardvera ili drugog softvera.
Iako se stvarni proces testiranja računalnog softvera može razlikovati među softverskim tvrtkama, opći pristup testiranju obično se sastoji od više faza. Tvrtke mogu koristiti različitu nomenklaturu u označavanju ovih faza, iako ih često nazivaju alfa i beta fazama. Alfa testiranje obično uključuje interno testiranje od strane zaposlenika, obično koristeći vrlo grube ili nedovršene softverske programe. Alfa faza testiranja računalnog softvera može se izvesti na nekompletnom softveru, obično kako bi se utvrdilo rade li određeni aspekti softvera ispravno.
Testiranje računalnog softvera zatim prelazi u beta fazu, koja obično uključuje puno potpuniji softver, iako će se možda ipak trebati izvršiti određene prilagodbe programa. Testiranje u ovoj fazi često se naziva “zatvoreno”, što znači da je dostupno samo onima koji su pozvani da testiraju softver. Beta testiranje također može biti “otvoreno”, što obično znači da je testiranje dostupno većem broju testera u široj javnosti.
Promjene u softveru mogu se nastaviti događati tijekom takvog testiranja, ali je opći kod za program obično napisan. Velik dio posla obavljenog tijekom ove faze testiranja računalnog softvera usmjeren je na pronalaženje bugova i pogrešaka u kodu. Takve pogreške dokumentiraju testeri, koji će možda morati provesti sate ili čak dane obavljajući istu funkciju kako bi pouzdano ponovno stvorili pogreške, te ih šalju programerima koji zatim određuju kako eliminirati bug ili pogrešku.
Testiranje računalnog softvera može se koristiti za određivanje koliko dobro program radi s drugim softverom ili hardverom. Testeri mogu koristiti računala i druge strojeve s brojnim hardverskim rasporedima kako bi osigurali da softver može funkcionirati s različitim dijelovima hardvera. Testiranje računalnog softvera može osigurati da program ispravno funkcionira s određenim operativnim sustavom (OS). Testiranje se također može koristiti za pronalaženje problema koje program može imati kada se izvodi na stroju koji također pokreće druge vrste softvera, kao što su popularni antivirusni programi ili razni hardverski upravljački programi.