Modelo de reducción basado en búsqueda para pruebas unitarias
DOI:
https://doi.org/10.17533/udea.redin.20221098Palabras clave:
Generación automática de pruebas, pruebas unitarias, pruebas basadas en búsqueda, pruebas de softwareResumen
Las pruebas de software son fundamentales en la confiabilidad y calidad de los sistemas, contribuyendo a su posicionamiento en el mercado. La generación de datos de prueba es una tarea crítica, ya que las pruebas exhaustivas son costosas en tiempo y esfuerzo. Un adecuado diseño de los casos de prueba, que contemple una selección de valores adecuados, puede detectar un elevado número de defectos. La significación de los casos de prueba se mide en función del número de errores que consiguen detectar. Sin embargo, las propuestas que abordan estos temas con el uso de algoritmos heurísticos se enfocan en la reducción del tiempo de generación y diferentes criterios de cobertura.
Este artículo presenta un modelo de optimización basado en búsqueda para la generación de conjuntos de pruebas unitarias que integra diferentes técnicas de diseño de casos de prueba considerando la significación de los valores generados en la detección de errores. También se tiene en cuenta la significación de los caminos, con el objetivo de obtener casos de prueba con mayor potencial para detectar errores. El modelo de optimización utiliza algoritmos heurísticos que maximizan la cobertura de los caminos. Se presentan los resultados de la experimentación, que muestran que la propuesta presentada genera suit de prueba con una alta capacidad para detectar errores. Para ello se evaluó la efectividad de las suits de prueba generadas para detectar errores en el código mutado.
Descargas
Citas
M. Chaudhary and A. Chopra, CMMI for Development: Implementation Guide. New York, NY: Apress, 2016.
B. Castro and S. Javier, “Paradigmas en la construcción de software,” Ingeniería, vol. 6, no. 1, 2001. [Online]. Available: https://dialnet.unirioja.es/servlet/articulo?codigo=4797401
L. M. J. M. Zhang, M. Harman and Y. Liu, “Machine learning testing: Survey, landscapes and horizons,” IEEE Transactions on Software Engineering, vol. 48, no. 1, Jan. 01, 2022. [Online]. Available: https://doi.org/10.1109/TSE.2019.2962027
D. Spinellis, “State-of-the-art software testing,” IEEE Software, vol. 34, no. 5, Sep. 22, 2017. [Online]. Available: https://doi.org/10.1109/MS.2017.3571564
J. M. Belman-Flores, J. M. Barroso-Maldonado, S. Méndez-Díaz, and S. Martínez-Martínez, “Virtual test bench as a complement to study thermal area: application in vapor compression systems,” Revista Facultad de Ingeniería, Universidad de Antioquia, vol. 77, Oct-Dec 2015. [Online]. Available: https://doi.org/10.17533/udea.redin.n77a08
S. M. Edgar, M. M. Raquel, and T. O. Paula, “A review of reality of software test automation,” Computación y Sistemas, vol. 23, no. 1, Feb. 26, 2021. [Online]. Available: https://doi.org/10.13053/cys-23-1-2782
B. Oliinyk and V. Oleksiuk, “Automation in software testing, can we automate anything we want?” in Proceedings of the 2nd Student Workshop on Computer Science & Software Engineering, Kryvyi Rih, Ukraine, 2019, pp. 224–234.
D. Atesogullari and A. Mishra, “Automation testing tools: a comparative view,” International Journal on Information Technologies & Security, vol. 12, no. 4, 2020. [Online]. Available: http://ijits-bg.com/contents/IJITS-N4-2020/2020-N4-06.pdf
G. Alor-Hernández, V. Y. Rosales-Morales, J. L. G. Alcaráz, R. Z. cabada, and M. L. B. Estrada, “An analysis of tools for automatic software development and automatic code generation,” Revista Facultad de Ingeniería, Universidad de Antioquia, vol. 77, Oct-Dec 2015. [Online]. Available: https://doi.org/10.17533/udea.redin.n77a10
M. Xiao, M. El-Attar, M. Reformat, and J. Miller, “Empirical evaluation of optimization algorithms when used in goal-oriented automated test data generation techniques,” Empirical Software Engineering, vol. 12, Nov. 08, 2006. [Online]. Available: https://doi.org/10.1007/s10664-006-9026-0
H. Felbinger, F. Wotawa, and M. Nica, “Adapting unit tests by generating combinatorial test data,” in 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), Vasteras, Sweden, 2018, pp. 352–355.
A. Spillner and T. Linz, Software Testing Foundations: A Study Guide for the Certified Tester Exam-Foundation Level-ISTQB® Compliant. Heidelberg, DEU: dpunkt.verlag, 2021.
P. R. S, Software engineering: a practitioner’s approach. New york, NY: McGraw-Hill Education, 2015.
R. Sharma and A. Sahar, “Optimal test sequence generation in state based testing using moth flame optimization algorithm,” Journal of Intelligent & Fuzzy Systems, vol. 35, no. 5, 2018. [Online]. Available: https://doi.org/10.3233/JIFS-169804
B. C. F. Silva, G. Carvalho, and A. Sampaio, “Cpn simulation-based test case generation from controlled natural-language requirements,” Science of Computer Programming, vol. 181, Jul. 15, 2019. [Online]. Available: https://doi.org/10.1016/j.scico.2019.04.001
D. B. Mishra, R. Mishra, K. N. Das, and A. A. Acharya, “Test case generation and optimization for critical path testing using genetic algorithm,” in Soft Computing for Problem Solving. Advances in Intelligent Systems and Computing, J. Bansal, K. Das, A. Nagar, K. Deep, and A. Ojha, Eds. Singapore: Springer, 2018, pp. 67–80.
C. V. Jordan, F. Maurer, S. Lowenberg, and J. Provost, “Framework for flexible, adaptive support of test management by means of software agents,” IEEE Robotics and Automation Letters, vol. 4, no. 3, Jul. 2019. [Online]. Available: https://doi.org/10.1109/LRA.2019.2918486
S. Ashritha and T. Padmashree, “Machine learning for automation software testing challenges, use cases advantages & disadvantages,” International Journal of Innovative Science and Research Technology, vol. 5, no. 9, Sep. 2020. [Online]. Available: https://ijisrt.com/assets/upload/files/IJISRT20SEP344.pdf
A. Pandey and S. Banerjee, “Test suite optimization using chaotic firefly algorithm in software testing,” International Journal of Applied Metaheuristic Computing, vol. 8, no. 4, 2017. [Online]. Available: https://doi.org/10.4018/IJAMC.2017100103
I. A. Qureshi and A. Nadeem, “Gui testing techniques: A survey,” International Journal of Future Computer and Communication, vol. 2, no. 2, Apr. 2013. [Online]. Available: http://www.ijfcc.org/papers/139-B077.pdf
F. Din and K. Z. Zamli, “Pairwise test suite generation using adaptive teaching learning-based optimization algorithm with remedial operator,” in Recent Trends in Data Science and Soft Computing. IRICT 2018. Advances in Intelligent Systems and Computing, F. Saeed, N. Gazem, F. Mohammed, and A. Busalim, Eds. Switzerland, A. G: Springer Cham., 2019, pp. 187–195.
S. K. Harikarthik, V. Palanisamy, and P. Ramanathan, “Optimal test suite selection in regression testing with test case prioritization using modified ann and whale optimization algorithm,” Cluster Computing, vol. 21, Nov. 30, 2017. [Online]. Available: https://doi.org/10.1007/s10586-017-1401-7
H. N. N. Al-Sammarraie and D. N. Jawawi, “Multiple black hole inspired meta-heuristic searching optimization for combinatorial testing,” IEEE Access, vol. 8, Feb. 03, 2020. [Online]. Available: https://doi.org/10.1109/ACCESS.2020.2973696
M. Khari, A. Sinha, E. Herrerra-Viedma, and R. G. Crespo, “On the use of meta-heuristic algorithms for automated test suite generation in software testing,” in Toward Humanoid Robots: The Role of Fuzzy Sets. Studies in Systems, Decision and Control, C. Kahraman and E. Bolturk, Eds. Switzerland, A. G: Springer Cham., 2021, pp. 149–197.
E. Serna and F. Arango, “Desafíos y estrategias prácticas de los estudios empíricos sobre las técnicas de prueba del software,” Ingeniería y Competitividad, vol. 13, no. 1, Jun. 14, 2011. [Online]. Available: https://www.redalyc.org/pdf/2913/291323660007.pdf
S. Ruland, M. Lochau, O. Fehse, and A. Schurr, “Cpa/tiger-mgp: test-goal set partitioning for efficient multi-goal test-suite generation,” International Journal on Software Tools for Technology Transfer, vol. 23, Jun. 03, 2020. [Online]. Available: https://doi.org/10.1007/s10009-020-00574-z
T. B. Miranda, M. Dhinya, and K. Sathyamoorthy, “Test-case optimization using genetic and tabu search algorithm in structural testing,” International Journal of Computer Applications Technology and Research, vol. 4, no. 5, 2015. [Online]. Available: http://ijcatr.com/archives/volume4/issue5/ijcatr04051005.pdf
X. Han, H. Lei, and Y. S. Wang, “Multiple paths test data generation based on particle swarm optimisation,” IET Software, vol. 11, no. 2, Apr. 2017. [Online]. Available: https://doi.org/10.1049/iet-sen.2016.0066
B. F. Jones, H. H. Sthamer, and D. E, “Automatic structural testing using genetic algorithms,” Software Engineering Journal, vol. 11, no. 5, Sep. 1996. [Online]. Available: https://doi.org/10.1049/sej.1996.0040
L. Lanzarini and J. P. L. Battaglia, “Dynamic generation of test cases with metaheuristics,” Journal of Computer Science and Technology, vol. 10, no. 2, Jun. 2010. [Online]. Available: https://www.redalyc.org/pdf/6380/638067314004.pdf
M. D. D. Dapena, A. M. Rojas, D. L. Uribazo, S. V. Marcos, and P. B. F. Oliva, “Modelo para la generación automática de pruebas tempranas basadas en búsquedas,” Computación y Sistemas, vol. 21, no. 3, 2017. [Online]. Available: https://doi.org/10.13053/CyS-21-3-2716
A. M. Güemes-Esperón, M. D. Delgado-Dapena, and D. Larrosa-Uribazo, “Patrones de implementación para extender la genración de código de pruebas a nuevos lenguajes en gecodp,” Revista Cubana de Ciencias Informáticas, vol. 15, Oct. 01, 2021. [Online]. Available: https://rcci.uci.cu/?journal=rcci&page=article&op=view&path%5B%5D=2240&path%5B%5D=935
A. M. Güemes-Esperón, M. D. Delgado-Dapena, P. B. Fernández-Oliva, and H. M. Henry-Chibas, “Extensiones de mtest.search para la generación de código de prueba,” Ingeniería Industrial, vol. 43, no. 1, Feb. 17, 2022. [Online]. Available: http://scielo.sld.cu/scielo.php?pid=S1815-59362022000100049&script=sci_arttext&tlng=pt
P. Fernández, “Modelo para la generación automática de combinaciones de valores de pruebas unitarias,” M.S. thesis, Instituto Superior Politécnico José Antonio Echeverría, La Habana, Cuba, 2016.
P. F. Oliva, W. Cantillo-Terrero, M. D. D. Dapena, A. R. Suárez, and C. Y. Márquez, “Generación de combinaciones de valores de pruebas utilizando metaheurística,” Ingeniería Industrial, vol. 37, no. 2, May-Aug. 2016. [Online]. Available: https://dialnet.unirioja.es/servlet/articulo?codigo=5560665
J. M. Loor-Intriago, M. D. Delgado-Dapena, and P. B. Fernández-Oliva, “Priorización de casos de prueba en entornos de desarrollo ágil,” Ingeniería Industrial, vol. 41, no. 2, Aug. 01, 2020. [Online]. Available: http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S1815-59362020000200009
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2022 Revista Facultad de Ingeniería Universidad de Antioquia

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.
Los artículos disponibles en la Revista Facultad de Ingeniería, Universidad de Antioquia están bajo la licencia Creative Commons Attribution BY-NC-SA 4.0.
Eres libre de:
Compartir — copiar y redistribuir el material en cualquier medio o formato
Adaptar : remezclar, transformar y construir sobre el material.
Bajo los siguientes términos:
Reconocimiento : debe otorgar el crédito correspondiente , proporcionar un enlace a la licencia e indicar si se realizaron cambios . Puede hacerlo de cualquier manera razonable, pero no de ninguna manera que sugiera que el licenciante lo respalda a usted o su uso.
No comercial : no puede utilizar el material con fines comerciales .
Compartir igual : si remezcla, transforma o construye a partir del material, debe distribuir sus contribuciones bajo la misma licencia que el original.
El material publicado por la revista puede ser distribuido, copiado y exhibido por terceros si se dan los respectivos créditos a la revista, sin ningún costo. No se puede obtener ningún beneficio comercial y las obras derivadas tienen que estar bajo los mismos términos de licencia que el trabajo original.