Ketterässä ohjelmistokehityksessä laadunhallinnan perustana ovat laadukkaat ohjelmistokehityskäytännöt sekä automaattinen testaus. Automaattinen testaus on ennen kaikkea kohdistunut yksikkötestaukseen, jolla pyritään varmistamaan ohjelmiston sisäistä laatua. Toiminnallinen testaus ja hyväksymistestaus ovat myös automatisoitavissa, mutta niiden automatisointia ovat hidastaneet kustannukset sekä testien vaatima ylläpito. Toiminnallisen testauksen automatisointiin on kehitetty työkaluja sekä menetelmiä, joiden avulla voidaan kustannustehokkaasti toteuttaa automatisoituja toiminnallisia testitapauksia. Jatkuva integraatio on yleensä automaattisen yksikkötestauksen pohjana ketterässä kehityksessä ja osana jatkuvaa integraatiota on myös mahdollista automatisoida toiminnallinen testaus.
Automaattisen toiminnallisen testauksen kustannuksiin voidaan vaikuttaa valituilla testauskehyksillä, testitapausten suunnittelulla sekä toteuttamalla testitapauksia hyväksi todettujen käytäntöjen mukaan. Toiminnallinen testaus perustuu toiminnallisiin vaatimuksiin, joten käyttötapaukset ja käyttäjätarinat ketterässä kehityksessä sekä niiden hyväksymiskriteerit auttavat testitapausten suunnittelussa ja toteutuksessa. Testitapaukset ovat helposti toteutettavissa nauhoita-ja-toista -menetelmällä ja refaktoroimalla testitapauksista selkeämpiä. Esimerkiksi sivuobjekti -suunnittelumallin mukaisilla testitapauksilla voidaan pienentää testauksen ylläpidon kustannuksia. Testauskehyksiä on tarjolla automaattisen testauksen eri menetelmiin, jolloin automaattinen toiminnallinen onnistuu myös erilaisissa kehitysympäristöissä.
ACM Computing Classification System (CCS):
Software and its engineering → Software verification; Agile software development; Software testing and debugging; Documentation;