Abstract
The desktop ecosystem is full of software applications of all sizes that share a common space. From alarm clocks to agendas, chat programs, or volume widgets, these software applications are usually not regarded as highly critical software, but they are the kind of software used by millions of people every second. Their computer user experience depends heavily on how well these applications behave.
At the same time, these software applications are built using many different development frameworks, each of which has its own development and testing tools. This implies that novel verification approaches, such as property-based testing (PBT) will have a long way until they reach all of them, since technology-specific tools implementing PBT will need to be developed and adopted by their respective developers.
In this paper, we propose an alternative approach that will allow us to test desktop applications in a technology-agnostic manner. Taking advantage of the free and open-source project FreeDesktop, which enables interoperability at the desktop level, and specifically of its D-Bus inter-process communication system, we demonstrate the feasibility of performing automated property-based testing using a tool like QuickCheck, in a powerful, reusable, effort-effective way.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Hughes, J.: QuickCheck testing for fun and profit. In: Hanus, M. (ed.) PADL 2007. LNCS, vol. 4354, pp. 1–32. Springer, Heidelberg (2007)
FreeDesktop website. http://www.freedesktop.org/. Accessed October 2014
Pennington, H., Carlsson, A., Larsson, A.: D-Bus specification. http://dbus.freedesktop.org/doc/dbus-specification.html. Accessed October 2014
Holser, P.: JUnit-QuickCheck: QuickCheck-style parameter suppliers for JUnit Theories. https://github.com/pholser/junit-quickcheck/. Accessed May 2015
Nilsson, R.: ScalaCheck: Property-based testing for Scala. http://www.scalacheck.org/. Accessed May 2015
Pennebaker, A.: QC: a C port of the QuickCheck unit test framework. https://github.com/mcandre/qc. Accessed May 2015
Soldani, C.: QuickCheck++. http://software.legiasoft.com/quickcheck/. Accessed May 2015
López, M., Castro, L.M., Cabrero, D.: Feasibility of property-based testing for time-dependent systems. In: Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A. (eds.) EUROCAST. LNCS, vol. 8112, pp. 527–535. Springer, Heidelberg (2013)
Arts, T., Hughes, J., Johansson, J., Wiger, U.: Testing telecoms software with quviq QuickCheck. In: Proceedings of 5th ACM SIGPLAN Workshop on Erlang (2006)
Arts, T., Castro, L.M., Hughes, J.: Testing erlang data types with quviq QuickCheck. In: Proceedings of 7th ACM SIGPLAN Workshop on Erlang (2008)
Arts, T., Castro, L.M.: Model-based testing of data types with side effects. In: Proceedings of the 10th ACM SIGPLAN Workshop on Erlang (2010)
Castro, L.M.: Advanced management of data integrity: property-based testing for business. J. Intell. Inf. Syst. 44(3), 1–26 (2014)
Morgado, A.: Introduction to D-Bus. GNOME ASIA 2014 (2014). https://aleksander.es/data/GNOMEASIA2014%20-%20Introduction%20to%20DBus.pdf. Accessed May 2014
Fink, G., Bishop, M.: Property-based testing: a new approach to testing for assurance. ACM SIGSOFT Softw. Eng. Notes 22(4), 74–80 (1997)
McVittie, S.: dbus-python tutorial. http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html. Accessed May 2015
Marhefka, M., Muller, P.: Dfuzzer: a D-Bus service fuzzing tool. In: Proceedings of 7th IEEE International Conference on Software Testing, Verification and Validation (2014)
Nilsson, A., Castro, L.M., Rivas, S., Arts, T.: Assessing the effects of introducing a new software development process: a methodological description. J. Softw. Tools Technol. Transf. 17(1), 1–17 (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Castro, L.M. (2015). Sitting Property-Based Testing at the Desktop. In: Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A. (eds) Computer Aided Systems Theory – EUROCAST 2015. EUROCAST 2015. Lecture Notes in Computer Science(), vol 9520. Springer, Cham. https://doi.org/10.1007/978-3-319-27340-2_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-27340-2_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27339-6
Online ISBN: 978-3-319-27340-2
eBook Packages: Computer ScienceComputer Science (R0)