Aivan kuten fyysinen tuote testataan sen tarkistamiseksi, täyttääkö se halutun käyttäytymisen ja tekniset tiedot, niin myös ohjelmistotestit. Ihmiset voivat suorittaa ohjelmistotestauksen manuaalisesti tai työkalujen avulla. Automaattinen testaustyökalu on ohjelmisto, jota käytetään kohdeohjelmiston eli tarkasteltavan ohjelmiston testaamiseen. Tällainen työkalu suorittaa erilaisia testejä kohdeohjelmistolla ja määrittää, läpäisevätkö testit onnistuneesti.
Ohjelmisto on testattava sen varmistamiseksi, että oikeat tulokset luodaan, kelvolliset syötteet hyväksytään ja käsitellään oikein ja virheelliset syötteet hylätään. Testaus on tarpeen sen määrittämiseksi, luodaanko tulokset nopeasti, ohjelmisto toimii hyvin, vaikka suuri joukko käyttäisi sitä samanaikaisesti jne. Manuaalisia testejä käytetään usein, mutta ne ovat riippuvaisia testejä tekevien ihmisten perusteellisuudesta. Ohjelmiston manuaalinen testaaminen vie aikaa ja vaatii huomattavan määrän ihmisiä useimpiin ei-triviaalisiin sovelluksiin, mikä lisää kustannuksia. Lisäksi testausta tuhansille samanaikaisille käyttäjille tai suurille tietomäärille ei voida tehdä helposti manuaalisesti.
Testausautomaatio on työkalujen käyttö ohjelmiston testaamiseen. Automaattinen testaustyökalu on itse ohjelmisto, jota voidaan kehittää, ostaa tai hankkia. Työkalu tyypillisesti alkaa suorittaa kohdeohjelmistoa ja välittää eri tuloja kohdeohjelmistolle eri olosuhteiden testaamiseksi. Se arvioi kohdeohjelmiston vastaavat lähdöt ja seuraa kunkin testin hyväksyttyjä/epäonnistuneita tuloksia. Testisarjan lopussa työkalu antaa tyypillisesti yhteenvedon tuloksista, jotta voidaan nopeasti määrittää vikojen määrä ja vakavuus.
Automaattinen testaustyökalu voi toimia kahdella tavalla. Ensinnäkin se voi olla koodipohjainen, eli työkalu voidaan yhdistää tiiviisti kirjoitettuun koodiin, jotta se tarkistaa, että eri tulojen tulokset ovat oikein. Toiseksi se voi olla käyttöliittymäpohjainen, jossa käyttäjien aktiviteetteja, kuten hiiren liikkeitä, näppäimistön tuloja, äänituloja jne., Matkitaan ja käyttäjille toimitettujen lähdösten oikeellisuus tutkitaan. Jälkimmäisessä tapauksessa työkalu voisi tallentaa henkilön todelliset toiminnot ja toistaa sen uudelleen, tai tällaiset toiminnot voitaisiin luoda työkalulle syötetyistä käskyistä.
Yleiskäyttöisiä automaattisia testaustyökaluja on saatavilla markkinoilla. Useimmat ovat melko kalliita, mutta jotkut työkalut ovat saatavilla ilmaiseksi. Jos kohdeohjelmisto on erittäin spesifinen tai ainutlaatuinen, kyseisen ohjelmistotiimin on itse kehitettävä testityökalu. Kuten kaikilla ohjelmistoilla, myös työkaluilla on rajoituksia, ja ne toimivat oikein vain, jos niille annetaan hyviä syöttötietoja. Jos et syötä suhteellisen täydellisiä testejä, työkalu ei auta määrittämään kohdeohjelmiston laatua.
Automaattisella testaustyökalulla on monia etuja. Kun testisarja on luotu, testit voidaan suorittaa nopeammin kuin henkilö voi suorittaa ne. Testit voidaan suorittaa yön yli tai parittomina aikoina, jolloin ihmiset voivat keskittyä siihen, mitä he parhaiten tekevät. Testit voidaan suorittaa uudestaan ja uudestaan sen määrittämiseksi, ovatko virheet joutuneet kohdeohjelmistoon, kun sitä muutetaan ajan myötä.