Nyligen har många automatiska testgenerationstekniker föreslagits, till exempel Randoop, Pex och jCUTE. Vanligtvis har dock testtäckningen av dessa tekniker endast varit runt 50-60%, på grund av flera utmaningar, såsom 1) problemet med objektmutation, där testgeneratorerna inte kan skapa och/eller ändra testingångar till önskade objekttillstånd, och 2) problemet med begränsningslösning, där testgeneratorerna inte lyckas lösa vägförhållandena för att täcka vissa grenar. Genom att analysera grenar som inte täcks av toppmoderna tekniker, märkte vi att dessa utmaningar kanske inte är så svåra för människor. För att verifiera denna hypotes föreslår vi en Puzzle-baserad Automatic Testing-miljö (PAT) som sönderfaller objektmutation och komplexa begränsningar lösa problem i små pussel för människor att lösa. Vi genererade PAT pussel för två öppen källkod projekt och bad olika grupper av människor att lösa dessa pussel. Det visade sig att de effektivt kunde lösas av människor: 231 av 400 pussel löstes av människor med en genomsnittlig hastighet av en minut per pussel. De 231 pussellösningarna hjälpte till att täcka 534 och 308 ytterligare grenar (7,0 % och 5,8 % täckningsförbättring) i de två öppenkällkodsprojekten, utöver de mättade grentäckningar som uppnåddes genom de två senaste testgenereringsmetoderna.
Chen och Kim REF föreslog en pusselbaserad automatisk provningsteknik (PAT) som omvandlar problem med objektmutationer till pussel för publiken att lösa.
Puzzle-based automatic testing: bringing humans into the loop by solving puzzles
{'venue': 'ASE 2012', 'journal': None, 'mag_field_of_study': ['Computer Science']}