of XBIs, and the recent explosion in the number of browsers [21],
computing platforms, and combinations thereof has further exacerbated
the problem. The Mozilla broken website reporter contains
1,767,900 websites running on 463,314 hosts, which were reported
as broken by the users of the Firefox web browser [12], thereby
providing an evidence of the severity of this issue.
In-spite of the prevalence of the issue, current industrial practice
for performing cross-browser testing largely consists of manually
browsing and visually inspecting a web application under different
browsers. The few available industrial tools and services
(e.g., [2, 11]) that support this task focus largely on behavior emulation
under different browsers or platforms, but do little in terms
of automated comparison of these behaviors. That aspect remains
largely manual, ad hoc, and hence error prone.
To address the limitations of existing technology, we present our
technique and tool – CROSSCHECK to automatically detect such
cross-browser issues and help the developer provide a solution. In
particular, the technique can (1) identify both visual and functional
differences automatically. (2) group these differences into meaningful
XBIs. (3) for each XBI, report the differences along with
their location to assist the developer to generate a fix.
2. BACKGROUND AND RELATED WORK
2.1 Challenges
Automated detection of XBI needs to overcome some challenges
in the domain as explained in this section. Firstly, any manual inspection
for identifying such issues is expensive in terms of resources
such as time and effort. Hence, the technique should be
fully automated and should operate without requiring any manual
effort from developers. Secondly, a modern web application
consists of multiple dynamically generated screens. To compare
the behavior of the web application, a tool would need to extract
these screens along with the control flow information between these
screens and then compare them across browsers. Such information
is often represented as a state graph, where the each node is
a dynamic screen and the edges represent actions on these screens
(typically a click event), that lead to another screen. A trace in this
graph is a path along a set of nodes and edges representing a user
interaction on the webpage. Differences in corresponding traces
across browser state graphs lead to trace-level XBIs.
Thirdly for each corresponding pair of screens across browsers,
the technique should compare them by leveraging the structural information
of that screen. This information can be obtained from
the DOM 2
tree, which is maintained by each web browser when
it loads any web page. However, This DOM tree differs across
XBIs และระเบิดล่าสุดของเบราว์เซอร์ [21],คอมพิวเตอร์แพลตฟอร์ม และชุดดังกล่าวมีการทำปัญหา Mozilla ที่ประกอบด้วยข่าวเว็บไซต์ใช้งานไม่ได้1,767,900 เว็บไซต์ที่เรียกใช้บนโฮสต์ 463,314 ซึ่งมีรายงานที่เสียโดยผู้ใช้ Firefox เว็บเบราว์เซอร์ [12], จึงให้ความรุนแรงของปัญหานี้ในทุ่มเทของความชุกของปัญหา การปฏิบัติอุตสาหกรรมปัจจุบันการปฏิบัติงานข้ามเบราว์เซอร์การทดสอบส่วนใหญ่ประกอบด้วยตนเองเรียกดูและตรวจสอบโปรแกรมประยุกต์เว็บภายใต้แตกต่างกันเบราว์เซอร์ที่ เครื่องมืออุตสาหกรรมมีน้อยและบริการ(เช่น, [2, 11]) ที่สนับสนุนนี้โฟกัสงานอยู่การจำลองลักษณะการทำงานเบราว์เซอร์อื่นหรือแพลตฟอร์ม แต่ทำเพียงเล็กน้อยในแง่ของการเปรียบเทียบพฤติกรรมเหล่านี้โดยอัตโนมัติ ลักษณะที่ยังคงอยู่ส่วนใหญ่ด้วยตนเอง กิจ และด้วยเหตุนี้โอกาสผิดพลาดเพื่อแก้ไขข้อจำกัดของเทคโนโลยีที่มีอยู่ เรานำเสนอของเราเทคนิคและเครื่องมือ – CROSSCHECK ตรวจหาโดยอัตโนมัติเช่นปัญหาข้ามเบราว์เซอร์และช่วยพัฒนาให้การแก้ไขปัญหา ในเฉพาะ สามารถเทคนิค (1) ระบุทั้งภาพ และการทำงานผลต่างโดยอัตโนมัติ (2) กลุ่มความแตกต่างเหล่านี้เป็นความหมายXBIs (3) สำหรับแต่ละ XBI รายงานความแตกต่างพร้อมกับตำแหน่งของพวกเขาเพื่อช่วยให้นักพัฒนาเพื่อสร้างการแก้ไข2. พื้นหลัง และการทำงานที่เกี่ยวข้อง2.1 ความท้าทายการตรวจหาอัตโนมัติของ XBI ต้องเอาชนะความท้าทายบางอย่างในโดเมนตามที่อธิบายไว้ในส่วนนี้ ประการแรก การตรวจสอบใด ๆสำหรับการระบุปัญหาดังกล่าวมีราคาแพงในแง่ของทรัพยากรเช่นเวลาและความพยายาม ดังนั้น เทคนิคควรจะอย่างเต็มที่อัตโนมัติ และควรดำเนินการโดยไม่ต้องมีคู่มือใด ๆความพยายามจากนักพัฒนา ประการที่สอง ทันสมัยเว็บแอพลิเคชันประกอบด้วยหลายหน้าจอที่สร้างขึ้นแบบไดนามิก การเปรียบเทียบลักษณะการทำงานของแอพลิเคชันเว็บ เครื่องมือจะต้องแยกหน้าจอนี้รวมทั้งข้อมูลที่ไหลควบคุมระหว่างเหล่านี้หน้าจอ และจากนั้น เปรียบเทียบข้ามเบราว์เซอร์ ข้อมูลดังกล่าวมักจะแสดงเป็นกราฟรัฐ ที่มีแต่ละโหนหน้าจอแบบไดนามิกและขอบแสดงถึงการดำเนินการบนหน้าจอเหล่านี้(โดยปกติแล้วการคลิกเหตุการณ์), ที่นำไปสู่หน้าจออื่น การสืบค้นกลับในที่นี้กราฟเป็นเส้นทางตามชุดของโหนดและขอบที่เป็นตัวแทนของผู้ใช้การโต้ตอบบนเว็บเพจ ความแตกต่างในร่องรอยที่สอดคล้องกันข้ามเบราว์เซอร์สถานะกราฟนำไปสู่ระดับการติดตาม XBIsประการที่สาม สำหรับแต่ละที่ตรงคู่หน้าจอผ่านเบราว์เซอร์เทคนิคควรเปรียบเทียบ โดยใช้ประโยชน์จากข้อมูลโครงสร้างของหน้าจอ ข้อมูลนี้ได้จากDOM 2ต้นไม้ ซึ่งดูแล โดยแต่ละเว็บเบราว์เซอร์เมื่อมันโหลดหน้าเว็บใด ๆ อย่างไรก็ตาม DOM นี้ต้นไม้ที่แตกต่างระหว่าง
การแปล กรุณารอสักครู่..
