VISOR: A fast image processing pipeline with scaling and translation invariance for test oracle automation of visual output systems

Abstract Test oracles differentiate between the correct and incorrect system behavior. Hence, test oracle automation is essential to achieve overall test automation. Otherwise, testers have to manually check the system behavior for all test cases. A common test oracle automation approach for testing systems with visual output is based on exact matching between a snapshot of the observed output and a previously taken reference image. However, images can be subject to scaling and translation variations. These variations lead to a high number of false positives, where an error is reported due to a mismatch between the compared images although an error does not exist. To address this problem, we introduce an automated test oracle, named VISOR , that employs a fast image processing pipeline. This pipeline includes a series of image filters that align the compared images and remove noise to eliminate differences caused by scaling and translation. We evaluated our approach in the context of an industrial case study for regression testing of Digital TVs. Results show that VISOR can avoid 90% of false positive cases after training the system for 4 h. Following this one-time training, VISOR can compare thousands of image pairs within seconds on a laptop computer.

[1]  Sergio Segura,et al.  A Survey on Metamorphic Testing , 2016, IEEE Transactions on Software Engineering.

[2]  Yuan-Cheng Lai,et al.  On the Accuracy, Efficiency, and Reusability of Automated Test Oracles for Android Devices , 2014, IEEE Transactions on Software Engineering.

[3]  Pablo César,et al.  System software for digital television applications , 2001, IEEE International Conference on Multimedia and Expo, 2001. ICME 2001..

[4]  Alessandro Orso,et al.  X-PERT: Accurate identification of cross-browser issues in web applications , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[5]  Robert Feldt,et al.  Visual GUI testing in practice: challenges, problemsand limitations , 2015, Empirical Software Engineering.

[6]  William G. J. Halfond,et al.  Finding HTML presentation failures using image comparison techniques , 2014, ASE.

[7]  Zhi Quan Zhou,et al.  Adaptive Random Testing for Image Comparison in Regression Web Testing , 2014, 2014 International Conference on Digital Image Computing: Techniques and Applications (DICTA).

[8]  Hasan Sözer,et al.  Combining model-based and risk-based testing for effective test case generation , 2015, 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[9]  Mark Harman,et al.  The Oracle Problem in Software Testing: A Survey , 2015, IEEE Transactions on Software Engineering.

[10]  Hasan Sözer,et al.  Improving Models for Model-Based Testing Based on Exploratory Testing , 2014, 2014 IEEE 38th International Computer Software and Applications Conference Workshops.

[11]  William G. J. Halfond,et al.  Detection and Localization of HTML Presentation Failures Using Computer Vision-Based Techniques , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[12]  Hector Yee Perceptual Metric for Production Testing , 2004, J. Graphics, GPU, & Game Tools.

[13]  Tsong Yueh Chen,et al.  Metamorphic Testing for Software Quality Assessment: A Study of Search Engines , 2016, IEEE Transactions on Software Engineering.

[14]  Jean Ponce,et al.  A Theoretical Analysis of Feature Pooling in Visual Recognition , 2010, ICML.

[15]  Luca Maria Gambardella,et al.  Fast image scanning with deep max-pooling convolutional neural networks , 2013, 2013 IEEE International Conference on Image Processing.

[16]  Márcio Eduardo Delamaro,et al.  Using concepts of content‐based image retrieval to implement graphical testing oracles , 2013, Softw. Test. Verification Reliab..

[17]  Bertrand Meyer,et al.  Eiffel: A language and environment for software engineering , 1988, J. Syst. Softw..

[18]  Paul Geladi,et al.  Principal Component Analysis , 1987, Comprehensive Chemometrics.

[19]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[20]  Vahid Garousi,et al.  Graphical user interface (GUI) testing: Systematic mapping and repository , 2013, Inf. Softw. Technol..

[21]  Atif M. Memon,et al.  An empirical approach to evaluating web application compliance across diverse client platform configurations , 2007, Int. J. Web Eng. Technol..

[22]  Porfirio Tramontana,et al.  Towards automatic model-in-the-loop testing of electronic vehicle information centers , 2014, WISE@ASE.

[23]  Dar-Shyang Lee,et al.  Effective Gaussian mixture learning for video background subtraction , 2005, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[24]  G. Myers,et al.  The Art of Software Testing: Myers/Art , 2012 .

[25]  Atif M. Memon,et al.  An Extensible Framework to Implement Test Oracle for Non-Testable Programs , 2014, SEKE.

[26]  Luca Maria Gambardella,et al.  Max-pooling convolutional neural networks for vision-based hand gesture recognition , 2011, 2011 IEEE International Conference on Signal and Image Processing Applications (ICSIPA).

[27]  Rafael C. González,et al.  Local Determination of a Moving Contrast Edge , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[28]  Vahid Garousi,et al.  When and what to automate in software testing? A multi-vocal literature review , 2016, Inf. Softw. Technol..

[29]  William E. Howden,et al.  Theoretical and Empirical Studies of Program Testing , 1978, IEEE Transactions on Software Engineering.

[30]  Hasan Sözer,et al.  Successive Refinement of Models for Model-Based Testing to Increase System Test Effectiveness , 2016, 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[31]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[32]  Rob Miller,et al.  GUI testing using computer vision , 2010, CHI.

[33]  Sven Behnke,et al.  Evaluation of Pooling Operations in Convolutional Architectures for Object Recognition , 2010, ICANN.

[34]  Juichi Takahashi An automated oracle for verifying GUI objects , 2001, SOEN.

[35]  Lori L. Pollock,et al.  Automated Oracle Comparators for TestingWeb Applications , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[36]  Rakhi C. Motwani,et al.  Survey of Image Denoising Techniques , 2004 .

[37]  Hélène Laurent,et al.  Comparative study of background subtraction algorithms , 2010, J. Electronic Imaging.

[38]  Kai Petersen,et al.  Benefits and limitations of automated software testing: Systematic literature review and practitioner survey , 2012, 2012 7th International Workshop on Automation of Software Test (AST).

[39]  Shreyas Fadnavis,et al.  Image Interpolation Techniques in Digital Image Processing: An Overview , 2014 .

[40]  Stefan Berner,et al.  Observations and lessons learned from automated testing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[41]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[42]  Mika Katara,et al.  Model-Based Testing Through a GUI , 2005, FATES.

[43]  Paolo Tonella,et al.  Approaches and Tools for Automated End-to-End Web Testing , 2016, Adv. Comput..

[44]  Donald P. Greenberg,et al.  Spatiotemporal sensitivity and visual attention for efficient rendering of dynamic environments , 2001, TOGS.

[45]  Atif M. Memon,et al.  Designing and comparing automated test oracles for GUI-based software applications , 2007, TSEM.

[46]  Mary Lou Soffa,et al.  Automated test oracles for GUIs , 2000, SIGSOFT '00/FSE-8.