Smartphones och surfplattor med rika grafiska användargränssnitt (GUI) blir allt populärare. Hundratusentals specialiserade applikationer, så kallade appar, är tillgängliga för sådana mobila plattformar. Manuell testning är den mest populära tekniken för att testa grafiska användargränssnitt för sådana appar. Manuell testning är ofta tröttsam och felbenägen. I detta papper föreslår vi en automatiserad teknik, kallad SwiftHand, för att generera sekvenser av testingångar för Android-appar. Tekniken använder maskininlärning för att lära sig en modell av appen under testning, använder den lärda modellen för att generera användaringångar som besöker outforskade tillstånd i appen, och använder genomförandet av appen på de genererade indata för att förfina modellen. Ett viktigt inslag i testalgoritmen är att den undviker att starta om appen, vilket är en betydligt dyrare operation än att köra appen på en sekvens av ingångar. En viktig insikt bakom vår testalgoritm är att vi inte behöver lära oss en exakt modell av en app, som ofta är beräkningsintensiv, om vårt mål är att helt enkelt styra testutförandet i outforskade delar av tillståndsutrymmet. Vi har implementerat vår testalgoritm i ett offentligt tillgängligt verktyg för Android-appar skrivna i Java. Våra experimentella resultat visar att vi kan uppnå betydligt bättre täckning än traditionella slumpmässiga tester och L * -baserade tester i en given tidsbudget. Vår algoritm når också topptäckning snabbare än både slumpmässiga och L * -baserade tester.
Choi m.fl. REF använder maskininlärning för att lära sig en modell för smartphone-appar och generera testingångar från modellen.
Guided GUI testing of android apps with minimal restart and approximate learning
{'venue': "OOPSLA '13", 'journal': None, 'mag_field_of_study': ['Computer Science']}