Abstract-AJAX-baserade Web 2.0-applikationer förlitar sig på toppmodern asynkron klient/serverkommunikation, och klient-side-runtime-manipulering av DOM-trädet. Detta gör dem inte bara fundamentalt annorlunda från traditionella webbapplikationer, utan också mer felbenägna och svårare att testa. Vi föreslår en metod för att testa AJAX-applikationer automatiskt, baserat på en krypare för att dra en state-flow graf för alla (klientsidan) användargränssnitt tillstånd. Vi identifierar AJAX-specifika fel som kan uppstå i sådana tillstånd (till exempel DOM-validitet, felmeddelanden, upptäcktbarhet, kompatibilitet med back-knapp) samt DOM-tree-varianter som kan fungera som orakel för att upptäcka sådana fel. Vårt tillvägagångssätt, som kallas ATUSA, är implementerat i ett verktyg som erbjuder generiska invarianta kontrollkomponenter, en pluginmekanism för att lägga till applikationsspecifika tillstånd validerare, och generering av en testsvit som täcker de vägar som erhålls under krypning. Vi beskriver tre fallstudier, som består av sex ämnen, som utvärderar vilken typ av invarianter som kan erhållas för AJAX-tillämpningar samt felavvisande förmåga, skalbarhet, nödvändig manuell ansträngning och graden av automatisering av vår testmetod.
De föreslår generiska och tillämpningsspecifika varianter av REF som en form av automatiserade mjukorakler för att testa Ajax-tillämpningar.
Invariant-Based Automatic Testing of Modern Web Applications
{'venue': 'IEEE Transactions on Software Engineering', 'journal': 'IEEE Transactions on Software Engineering', 'mag_field_of_study': ['Computer Science']}