Integrasi Pareto Fitness, Multiple-Population dan Temporary Population pada Algoritma Genetika untuk Pembangkitan Data Tes pada Pengujian Perangkat Lunak

Mohammad Reza Maulana, Romi Satria Wahono, Catur Supriyanto

Abstract


Pengujian perangkat lunak memerlukan biaya yang mahal dan sering kali lebih dari 50% biaya keseluruhan dalam pengembangan perangkat lunak digunakan dalam tahapan ini. Untuk mengurangi biaya proses pengujian perangkat lunak secara otomatis dapat digunakan. Hal yang sangat penting dalam pengujian perangkat lunak secara otomatis adalah proses menghasilkan data tes. Pengujian secara otomatis yang paling efektif dalam menekan biaya adalah pengujian branch coverage. Salah satu metode yang banyak digunakan dan memiliki kinerja baik adalah algoritma genetika (AG). Salah satu permasalahan AG dalam menghasilkan data tes adalah ketiga target cabang dipilih memungkinkan tidak ada satupun individu yang memenuhi kriteria. Hal ini akan menyebabkan proses pencarian data tes memakan waktu lebih lama. Oleh karena itu di dalam penelitian ini diusulkan integrasi pareto fitness, multiple-population dan temporary population di dalam proses pencarian data tes dengan menggunakan AG (AG-PFMPTP). Multiple-population diusulkan untuk menghindari premature convergence. Kemudian pareto fitness dan temporary population digunakan untuk mencari beberapa data tes sekaligus, kemudian mengevaluasinya dan memasukkan ke dalam archive temporary population. Dari hasil pengujian yang telah dilakukan rata-rata generasi metode AG-PFMPTP secara signifikan lebih sedikit dalam menghasilkan data tes yang dibutuhkan dibandingkan metode AG standar ataupun AG dengan multiple-population (AG-MP) pada semua benchmark program yang digunakan. Hal tersebut menunjukkan metode yang diusulkan lebih cepat dalam mencari data tes yang dibutuhkan

Full Text:

PDF

References


Alakeel, A. (2014). Using Fuzzy Logic Techniques for Assertion-Based Software Testing Metrics. The Scientific World Journal. Retrieved from http://www.hindawi.com/journals/tswj/aa/629430/

Aleti, A., & Grunske, L. (2015). Test data generation with a Kalman filter-based adaptive genetic algorithm. Journal of Systems and Software, 103, 343–352. http://doi.org/10.1016/j.jss.2014.11.035

Ali, S., Briand, L. C., Hemmati, H., & Panesar-Walawege, R. K. (2010). A systematic review of the application and empirical investigation of search-based test case generation. IEEE Transactions on Software Engineering, 36(6), 742–762. http://doi.org/10.1109/TSE.2009.52

Alshraideh, M., Mahafzah, B. a., & Al-Sharaeh, S. (2011). A multiple-population genetic algorithm for branch coverage test data generation. Software Quality Journal, 19, 489–513. http://doi.org/10.1007/s11219-010-9117-4

Anand, S., Burke, E. K., Yueh, T., Clark, J., Cohen, M. B., Grieskamp, W., … Zhu, H. (2015). The Journal of Systems and Software An orchestrated survey of methodologies for automated software test case generation Orchestrators and Editors , 86(2013), 1978–2001. http://doi.org/10.1016/j.jss.2013.02.061

Bueno, P. M. S., Jino, M., & Wong, W. E. (2014). Diversity oriented test data generation using metaheuristic search techniques. Information Sciences, 259, 490–509. http://doi.org/10.1016/j.ins.2011.01.025

Cantu-paz, E. (1997). A Survey of Parallel Genetic Algorithms. Department of Computer Science and Illinois Genetic Algorithms Laboratory University of Illinois at Urbana-Champaign, 10. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.389

Cohen, M. B., Colbourn, C. J., & Ling, a. C. H. (2003). Augmenting simulated annealing to build interaction test suites. 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003. http://doi.org/10.1109/ISSRE.2003.1251061

Díaz, E., Tuya, J., & Blanco, R. (2003). Automated software testing using a metaheuristic technique based on tabu search. Automated Software Engineering, …. Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1240327

Elaoud, S., Loukil, T., & Teghem, J. (2007). The Pareto fitness genetic algorithm: Test function study. European Journal of Operational Research, 177(3), 1703–1719. http://doi.org/10.1016/j.ejor.2005.10.018

Ferrer, J., Chicano, F., & Alba, E. (2012). Evolutionary algorithms for the multi-objective test data generation problem. Software: Practice and Experience, 42(11), 1331–1362. http://doi.org/10.1002/spe.1135

Ferrer, J., Kruse, P. M., Chicano, F., & Alba, E. (2015). Search based algorithms for test sequence generation in functional testing. Information and Software Technology, 58, 419–432. http://doi.org/10.1016/j.infsof.2014.07.014

Harman, M., & McMinn, P. (2010). A Theoretical and Empirical Study of Search Based Testing: Local, Global and Hybrid Search. IEEE Transactions on Software Engineering, 36(2), 226–247. http://doi.org/http://dx.doi.org/10.1109/TSE.2009.71

Hermadi, I., Lokan, C., & Sarker, R. (2014). Dynamic stopping criteria for search-based test data generation for path testing. Information and Software Technology, 56(4), 395–407. http://doi.org/10.1016/j.infsof.2014.01.001

Lakhotia, K., McMinn, P., & Harman, M. (2009). Automated test data generation for coverage: Haven’t we solved this problem yet? TAIC PART 2009 - Testing: Academic and Industrial Conference - Practice and Research Techniques, 95–104. http://doi.org/10.1109/TAICPART.2009.15

Mao, C. (2014). Generating Test Data for Software Structural Testing Based on Particle Swarm Optimization. Arabian Journal for Science and Engineering, 39, 4593–4607. http://doi.org/10.1007/s13369-014-1074-y

Mao, C., Xiao, L., Yu, X., & Chen, J. (2015). Adapting ant colony optimization to generate test data for software structural testing. Swarm and Evolutionary Computation, 20, 23–36. http://doi.org/10.1016/j.swevo.2014.10.003

McMinn, P. (2004). Search-based software test data generation: a survey. Software Testing, Verification and Reliability, 1–58. http://doi.org/10.1002/stvr.v14:2

McMinn, P. (2011). Search-Based Software Testing: Past, Present and Future. 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops. http://doi.org/10.1109/ICSTW.2011.100

McMinn, P., Harman, M., Lakhotia, K., Hassoun, Y., & Wegener, J. (2012). Input Domain Reduction through Irrelevant Variable Removal and Its Effect on Local, Global, and Hybrid Search-Based Structural Test Data Generation. IEEE Transactions on Software Engineering, 38(2), 453–477. http://doi.org/10.1109/TSE.2011.18

Miller, J., Reformat, M., & Zhang, H. (2006). Automatic test data generation using genetic algorithm and program dependence graphs. Information and Software Technology, 48, 586–605. http://doi.org/10.1016/j.infsof.2005.06.006

Pachauri, A., & Srivastava, G. (2013). Automated test data generation for branch testing using genetic algorithm: An improved approach using branch ordering, memory and elitism. Journal of Systems and Software, 86(5), 1191–1208. http://doi.org/10.1016/j.jss.2012.11.045

Patil, M., & Nikumbh, P. J. (2012). Pair-wise Testing Using Simulated Annealing. Procedia Technology, 4, 778–782. http://doi.org/10.1016/j.protcy.2012.05.127

Razali, N. M., & Wah, Y. B. (2011). Power comparisons of Shapiro-Wilk , Kolmogorov-Smirnov , Lilliefors and Anderson-Darling tests. Journal of Statistical Modeling and Analytics, 2(1), 21–33.

Ribeiro, J. C. B. (2008). Search-based test case generation for object-oriented java software using strongly-typed genetic programming. Proceedings of the 2008 GECCO Conference Companion on Genetic and Evolutionary Computation - GECCO ’08, 1819. http://doi.org/10.1145/1388969.1388979

Srivastava, P. R., & Baby, K. (2010). Automated Software Testing Using Metahurestic Technique Based on an Ant Colony Optimization. 2010 International Symposium on Electronic System Design, 235–240. http://doi.org/10.1109/ISED.2010.52

Srivastava, P. R., & Kim, T. (2009). Application of Genetic Algorithm in Software Testing. Intenational Journal of Software Engineering and Its Applications, 3(4), 87–96. Retrieved from http://www.sersc.org/journals/IJSEIA/vol3_no4_2009/6.pdf

Vos, T. E. J., Lindlar, F. F., Wilmes, B., Windisch, A., Baars, A. I., Kruse, P. M., … Wegener, J. (2013). Evolutionary functional black-box testing in an industrial setting. Software Quality Journal, 21, 259–288. http://doi.org/10.1007/s11219-012-9174-y

Yao, X., & Gong, D. (2014). Genetic Algorithm-Based Test Data Generation for Multiple Paths via Individual Sharing. Computational Intelligence and Neuroscience, 2014, 1–12. http://doi.org/10.1155/2014/591294






Journal of Software Engineering (JSE, ISSN 2356-3974)
Copyright © 2015 IlmuKomputer.Com. All rights reserved.