Exploring Output-Based Coverage for Testing PHP Web Applications
In software testing, different testers focus on different aspects of the software such as functionality, performance, design, and other attributes. While many tools and coverage metrics exist to support testers at the code level, not much support is targeted for testers who want to inspect the output of a program such as a dynamic web application. To support this category of testers, we propose a family of output-coverage metrics (similar to statement, branch, and path coverage metrics on code) that measure how much of the possible output has been produced by a test suite and what parts of the output are still uncovered. To do that, we first approximate the output universe using our existing symbolic execution technique. Then, given a set of test cases, we map the produced outputs onto the output universe to identify the covered and uncovered parts and compute output-coverage metrics. In our empirical evaluation on seven real-world PHP web applications, we show that selecting test cases by output coverage is more effective at identifying presentation faults such as HTML validation errors and spelling errors than selecting test cases by traditional code coverage. In addition, to help testers understand output coverage and augment test cases, we also develop a tool called WebTest that displays the output universe in one single web page and allows testers to visually explore covered and uncovered parts of the output.
Tue 12 Nov
10:40 - 12:20: Papers - Testing and Coverage at Cortez 1 Chair(s): Jonathan BellGeorge Mason University | ||||||||||||||||||||||||||||||||||||||||||
10:40 - 11:00 Talk | Automatic Self-Validation for Code Coverage Profilers Yibiao YangHuazhong University of Science and Technology, Yanyan JiangNanjing University, Zhiqiang ZuoNanjing University, China, Yang WangNanjing University, Hao SunUnaffiliated, Hongmin LuNanjing University, Yuming ZhouNanjing University, Baowen XuNanjing University Pre-print | |||||||||||||||||||||||||||||||||||||||||
11:00 - 11:20 Talk | Efficient Test Generation Guided by Field Coverage Criteria Ariel GodioDept. of Software Engineering Instituto Tecnológico de Buenos Aires, Valeria BengoleaDept. of Computer Science FCEFQyN, University of Rio Cuarto, Pablo PonzioDept. of Computer Science FCEFQyN, University of Rio Cuarto, Nazareno AguirreDept. of Computer Science FCEFQyN, University of Rio Cuarto, Marcelo F. FriasDept. of Software Engineering Instituto Tecnológico de Buenos Aires | |||||||||||||||||||||||||||||||||||||||||
11:20 - 11:40 Talk | Exploring Output-Based Coverage for Testing PHP Web Applications Hung Viet NguyenGoogle LLC, USA, Hung Dang PhanECpE Department, Iowa State University, Christian KästnerCarnegie Mellon University, Tien N. NguyenUniversity of Texas at Dallas Link to publication | |||||||||||||||||||||||||||||||||||||||||
11:40 - 12:00 Talk | PHANTA: Diversified Test Code Quality Measurement for Modern Software Development Media Attached | |||||||||||||||||||||||||||||||||||||||||
12:00 - 12:10 Demonstration | TestCov: Robust Test-Suite Execution and Coverage Measurement Pre-print Media Attached File Attached | |||||||||||||||||||||||||||||||||||||||||
12:10 - 12:20 Demonstration | VisFuzz: Understanding and Intervening Fuzzing with Interactive Visualization Chijin ZhouTsinghua University, Mingzhe WangTsinghua University, Jie LiangTsinghua University, Zhe LiuNanjing University of Aeronautics and Astronautics, Chengnian SunWaterloo University, Yu JiangTsinghua University |