Kompiuterių programinės įrangos kūrimas reikalauja daug valandų kodavimo ir testavimo. Šis testavimas paprastai apima kelis patvirtinimo ir patikrinimo lygius tarp programinės įrangos ir kliento. Bandymo pastangos reiškia visą programinės įrangos testavimo rinkinį. Šios visos pastangos paprastai apima vienetų testavimą, sistemos testavimą, našumo testavimą ir vartotojo priėmimo testavimą.
Testavimas skirstomas į teigiamus arba neigiamus. Bandymo pastangos apibrėžia, kokio tipo bandymai bus atliekami bandymo etape. Tai turėtų apimti išsamų visų programinės įrangos sričių testavimą. Teigiamas testo atvejis pagrįstas teisingu testo duomenų įvedimu į sistemą. Neigiami bandymo atvejai reikalauja, kad bandytojas įvestų netinkamus duomenis. Daugeliui taikomųjų programų paprastai rekomenduojamas teigiamų ir neigiamų testų mišinys.
Vienetinis testavimas – tai testavimas, kuris atliekamas kuriant programinės įrangos kodą. Šį bandymą atlieka programos kūrėjai. Vienetinis testavimas yra preliminarus programinės įrangos modulių programoje testavimo etapas. Ši testavimo forma užtikrina, kad sistema veiks be klaidų, prieš siunčiant ją testavimo komandai peržiūrėti.
Daugelis didelio masto programinės įrangos programų apima integravimo su keliomis išorinėmis sistemomis testus. Šis integravimo testavimas yra bandymas, skirtas išorinių programų integravimui patvirtinti. Integracijos testavimas paprastai atliekamas prieš funkcionalumo testavimą, nes norint patikrinti funkcionalumą, reikalinga sėkminga integracija.
Funkcionalumo testavimas – tai testavimas, kuriuo patvirtinamos sistemos funkcijos taip, kaip buvo numatyta. Šio tipo testavimui reikia sukurti konkrečius bandymo duomenis, kurie naudojami atliekant bandymą. Funkcionalumo testavimas yra reikalavimų faktiniam funkcionalumui programoje patikrinimas. Jei nepavyksta išlaikyti šio testavimo etapo, vartotojai sistemos nepriims.
Našumo tikrinimas yra labai svarbus programinės įrangos programoms, kurios sukurtos palaikyti tūkstančius vartotojų. Šiai testavimo formai reikalingas didelis apdorojimo kiekis, skirtas sistemai įtempti iki visiško gedimo. Bandymas turėtų apimti kai kuriuos pradinius veikimo testus. Tai užtikrins, kad sistema palaikys kelių vartotojų apdorojimą be strigčių.
Vartotojo priėmimo testavimas yra dar viena sistemos patvirtinimo testavimo forma. Šios bandymo pastangos apima programos vartotojus ir atlieka konkrečius testus, skirtus sistemos funkcionalumui patvirtinti. Vartotojo priėmimo testas yra svarbus žingsnis siekiant užtikrinti klientų pasitenkinimą. Šios bandymo pastangos paprastai atliekamos kūrimo ciklo pabaigoje, prieš įdiegiant programą į gamybą.