Java Performance Testing For The Masses
Název práce v češtině: | Testování výkonu Javy pro každého |
---|---|
Název v anglickém jazyce: | Java Performance Testing For The Masses |
Klíčová slova: | Java ; performance ; SPL ; JMH ; unit testing ; software development process |
Klíčová slova anglicky: | Java ; performance ; SPL ; JMH ; unit testing ; software development process |
Akademický rok vypsání: | 2016/2017 |
Typ práce: | diplomová práce |
Jazyk práce: | angličtina |
Ústav: | Katedra distribuovaných a spolehlivých systémů (32-KDSS) |
Vedoucí / školitel: | prof. Ing. Petr Tůma, Dr. |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 22.02.2017 |
Datum zadání: | 22.02.2017 |
Datum potvrzení stud. oddělením: | 04.05.2017 |
Datum a čas obhajoby: | 12.06.2018 09:00 |
Datum odevzdání elektronické podoby: | 10.05.2018 |
Datum odevzdání tištěné podoby: | 11.05.2018 |
Datum proběhlé obhajoby: | 12.06.2018 |
Oponenti: | doc. RNDr. Petr Hnětynka, Ph.D. |
Zásady pro vypracování |
Although methods and tools for unit testing of performance exist for over a decade, evidence suggests unit testing of performance is not nearly as common as unit testing of functionality. The goal of the thesis is to investigate testing practices used by open-source developers in Java and design a tool for easy automation of performance testing over time in common Java development processes. The tool should:
- integrate with common build systems, e.g. Maven, - integrate with common Java benchmarking frameworks, e.g. JMH, - present measurements in a user friendly manner, e.g. in a source or documentation browser, - rely on the SPL formalism for evaluating measurements, - remain simple to use in small applications. The final tool will be tested on an open-source project of choice. |
Seznam odborné literatury |
[1] G. Kick, C. Decker, P. Duffin, and et al., Caliper. 2015.
[2] L. Bulej, T. Bureš, J. Keznikl, A. Koubková, A. Podzimek, and P. Tůma, “Capturing Performance Assumptions Using Stochastic Performance Logic,” in Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, New York, NY, USA, 2012, pp. 311–322. [3] V. Bergmann, ContiPerf. 2012. [4] D. G. Feitelson, E. Frachtenberg, and K. L. Beck, “Development and Deployment at Facebook,” IEEE Internet Computing, vol. 17, no. 4, pp. 8–17, 2013. [5] M. Linares-Vásquez, C. Vendome, Q. Luo, and D. Poshyvanyk, “How developers detect and fix performance bottlenecks in Android apps,” in 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2015, pp. 352–361. [6] Oracle Corporation, Project Kenai, and Cognisync, Japex Micro-benchmark Framework. 2014. [7] Oracle Corporation, Java Microbenchmarking Harness (JMH). 2016. [8] JUnit, “JUnit,” 2006. [Online]. Available: http://junit.org/. [Accessed: 14-Oct-2016]. [9] Clarkware Consulting, Inc., JUnitPerf. 2009. [10] V. Horký, F. Haas, J. Kotrč, M. Lacina, and P. Tůma, “Performance Regression Unit Testing: A Case Study,” in Computer Performance Engineering, M. S. Balsamo, W. J. Knottenbelt, and A. Marin, Eds. Springer Berlin Heidelberg, 2013, pp. 149–163. [11] J. Kroß, F. Willnecker, T. Zwickl, and H. Krcmar, “PET: Continuous Performance Evaluation Tool,” in Proceedings of the 2Nd International Workshop on Quality-Aware DevOps, New York, NY, USA, 2016, pp. 42–43. [12] J. D. McGregor, “Test early, test often.,” The Journal of Object Technology, vol. 6, no. 4, p. 7, 2007. [13] L. Bulej et al., “Unit testing performance with Stochastic Performance Logic,” Autom Softw Eng, pp. 1–49, 2016. Oracle Corporation, Java Microbenchmarking Harness (JMH). 2016. |