<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:contributor>Pezzè, Mauro</dc:contributor>
  <dc:creator>Zuddas, Daniele</dc:creator>
  <dc:date>2019-06-12</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Interactive applications, such as mobile or web apps, have become essential in our lives and verifying their  correctness is now a key issue. Automatic system test case generation can dramatically improve the testing process  for these applications and has recently motivated researchers to work on this problem defining a wide range of  different approaches. However, most state-of-the-art approaches automatically generate test cases only leveraging  the structural characteristics of interactive applications GUIs, paying little attention to their semantic aspects. This  led to techniques that, although useful, cannot effectively cover all the semantically meaningful execution scenarios  of an interactive application under test and that are not able to distinguish correct behaviors from faulty ones. In this  Ph.D. thesis, we propose to address the limitations of current techniques exploiting the fact that interactive  applications often share semantic similarities and implement many functionalities that are not specific to one  application only. Our intuition is that these similarities can be leveraged to complement the classical structural  information used so far to define truly effective test case generation approaches. This dissertation presents two  novel techniques that exploit this intuition: AUGUSTO and ADAPTDROID. AUGUSTO exploits a built-in knowledge  of the semantics associated with popular and well-known functionalities, such as CRUD operations, to automatically  identify these these popular functionalities in the application under test and generate effective test cases with  automated functional oracles. We demonstrated the effectiveness of AUGUSTO experimenting with different  popular functionalities in the context of interactive desktop applications showing that it can reveal faults that cannot  be revealed with other state-of-the-art techniques. ADAPTDROID instead generates semantically meaningful test  cases exploiting a radically new approach: obtaining test cases by adapting existing test cases (including oracles) of  similar applications instead of generating test cases from scratch. We empirically evaluated this strategy in the  context of Android apps and showed that ADAPTDROID is the first fully automatic technique that can effectively  adapt test cases, including assertions, across similar interactive applications.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://localhost:5000/ark:/12658/srd1318941</dc:identifier>
  <dc:identifier>https://susi.usi.ch/global/documents/318941</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318941/files/2019INFO006.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-118521</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318941</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>License undefined</dc:rights>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">GUI testing</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Automatic test case generation</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Semantics</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Oracles</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Test and oracle generation</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Testing</dc:subject>
  <dc:subject xmlns:ns7="xml" ns7:lang="en">Software quality</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns8="xml" ns8:lang="en">Automatically testing interactive applications : exploiting interactive applications semantic similarities for automated testing</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
