Implementation of Test-Driven Approach to Empower Self-Learning in PHP Web Programming Practice
Keywords:
self-study, code verification, PHP, web programming, automated testing, test-driven developmentAbstract
Web applications have become immensely popular and widely utilized across various sectors due to their accessibility, scalability, and ability to provide real-time updates, driving the demand for skilled web programmers. Approximately 75.9% of websites that use server-side languages rely on PHP, a widely adopted and flexible scripting language that integrates seamlessly with databases, making it suitable for dynamic website development. As the complexity of web development increases, self-learning systems become essential for fostering independent programming skills through platforms such as learning management systems (LMS) and MOOCs; however, many of these tools still require human intervention for code verification and lack automated feedback mechanisms. This study proposes a self-learning framework that leverages test-driven development (TDD) to enhance PHP programming education. The framework enables students to participate in structured learning modules, receive realtime feedback, and refine their coding abilities. An evaluation with 150 first-year IT students in Indonesia demonstrated a 100% success rate in all modules, where success was defined as the ability of students to pass all test cases in the predefined test suites after multiple attempts. This highlights the framework’s effectiveness while also noting areas for improvement in content depth and instructional clarity.
References
S. Sotnik, V. Manakov, and V. Lyashenko, "Overview: Php and mysql features for creating modern web projects," International Journal of Academic Information Systems Research, vol. 7, no. 1, pp. 11-17, 2023.
C. A. T. Romero, J. H. Ortiz, O. I. Khalaf, and A. R. Prado, "Web application commercial design for financial entities based on business intelligence," Computers, Materials & Continua, vol. 67, no. 3, p. 3177-3188, 2021.
https://doi.org/10.32604/cmc.2021.014738
J. C. López-Pimentel, A. Medina-Santiago, M. Alcaraz-Rivera, and C. Del-Valle-soto, "Sustainable project-based learning methodology adaptable to technological advances for web programming," Sustainability (Switzerland), vol. 13, no. 15, pp. 1-25, 2021.
https://doi.org/10.3390/su13158482
M. Ferati and B. Vogel, "Accessibility in web development courses: A case study," Informatics, vol. 7, no. 1, pp. 1-15, 2020.
https://doi.org/10.3390/informatics7010008
V. Gor, Introduction to Web Development. Berkeley, CA: Apress, 2023, pp. 1-22.
https://doi.org/10.1007/978-1-4842-9783-4_1
w3tech, "W3techs - extensive and reliable web technology surveys," 2022.
J. Goetz and A. F. Marquez, "Web framework," International Journal on Engineering, Science and Technology, vol. 5, no. 4, pp. 353-375, 2023.
https://doi.org/10.46328/ijonest.190
P. Kyriakakis, A. Chatzigeorgiou, A. Ampatzoglou, and S. Xinogalos, "Exploring the frequency and change proneness of dynamic feature pattern instances in php applications," Science of Computer Programming, vol. 171, no. 15, pp. 1-20, 2019.
https://doi.org/10.1016/j.scico.2018.10.004
P. R. Chavan and S. Pawar, "Comparison study between performance of laravel and other php frameworks," International Journal of Research in Engineering, Science and Management, vol. 4, no. 10, pp. 27-29, 2021.
H. Abutaleb, A. Tamimi, and T. Alrawashdeh, "Empirical study of most popular php framework," in 2021 International Conference on Information Technology (ICIT), 2021, pp. 608-611.
https://doi.org/10.1109/ICIT52682.2021.9491679
M. Zandstra, PHP 8 Objects, Patterns, and Practice: Mastering OO Enhancements and Design Patterns. Apress L. P., 2024, no. v. 1.
https://doi.org/10.1007/979-8-8688-0482-3
M. Chen, "Reducing web page complexity to facilitate effective user navigation," IEEE Transactions on Knowledge and Data Engineering, vol. 32, no. 4, pp. 739-753, 2020.
https://doi.org/10.1109/TKDE.2019.2893242
J. Swacha and A. Kulpa, "Evolution of popularity and multiaspectual comparison of widely used web development frameworks," Electronics (Switzerland), vol. 12, no. 17, pp. 1-23, 2023.
https://doi.org/10.3390/electronics12173563
I. Zhukov and Y. Kostyuk, "The system for automated assessment of knowledge and practical skills in programming," Informatics and education, vol. 38, no. 2, pp. 66-74, 07 2023.
https://doi.org/10.32517/0234-0453-2023-38-2-66-74
M. Elhayany, S. Serth, and C. Meinel, "Exploring the effectiveness of web-based programming environments for moocs: A comparative study of codeocean and openjupyter," in 2023 IEEE Learning with MOOCS (LWMOOCS), 2023, pp. 1-6.
https://doi.org/10.1109/LWMOOCS58322.2023.10306228
I. Mekterovic, L. Brki ' c, B. Milašinovi ' c, and M. Baranovi ' c, "Building a comprehensive automated programming assessment system," IEEE Access, vol. 8, no. 1, pp. 81 154-81 172, 2020.
H.-T. Duong and H.-M. Chen, "Progedu4web: An automated assessment tool for motivating the learning of web programming course," Computer Applications in Engineering Education, vol. 32, no. 5, p. e22770, 2024.
https://doi.org/10.1002/cae.22770
V. S. Bhadauria, R. K. Mahapatra, and S. P. Nerur, "Performance outcomes of test-driven development: An experimental investigation," Journal of the Association for Information Systems, vol. 21, no. 4, pp. 1045-1071, 2020.
https://doi.org/10.17705/1jais.00628
M. Zandstra, Testing with PHP Unit. Berkeley, CA: Apress, 2010, pp. 379-405.
https://doi.org/10.1007/978-1-4302-2926-1_18
M. T. Baldassarre, D. Caivano, D. Fucci, S. Romano, and G. Scanniello, "Affective reactions and test-driven development: Results from three experiments and a survey," Journal of Systems and Software, vol. 185, no. 1, pp. 111-154, 2022.
https://doi.org/10.1016/j.jss.2021.111154
M. A. Langford and B. H. C. Cheng, "Enki: A diversity-driven approach to test and train robust learning-enabled systems," ACM Transactions on Autonomous and Adaptive Systems, vol. 15, no. 2, May 2021.
https://doi.org/10.1145/3460959
S. Marwan, B. Akram, T. Barnes, and T. W. Price, "Adaptive immediate feedback for block-based programming: Design and evaluation," IEEE Transactions on Learning Technologies, vol. 15, no. 3, pp. 406-420, 2022.
https://doi.org/10.1109/TLT.2022.3180984
Y. W. Syaifudin, N. Funabiki, M. Kuribayashi, and W. C. Kao, "A proposal of android programming learning assistant system with implementation of basic application learning," International Journal of Web Information Systems, vol. 16, no. 1, pp. 115-135, 2020.
https://doi.org/10.1108/IJWIS-08-2019-0038
Y. W. Syaifudin, N. Funabiki, M. Mentari, H. E. Dien, I. Mu'Aasyiqiin, M. Kuribayashi, and W. C. Kao, "A web-based online platform of distribution, collection, and validation for assignments in android programming learning assistance system," Engineering Letters, vol. 29, no. 3, pp. 1178-1193, 2021.
J. C. Paiva, R. Queirós, J. P. Leal, J. Swacha, and F. Miernik, "Managing gamified programming courses with the fgpe platform," Information (Switzerland), vol. 13, 2022.
https://doi.org/10.3390/info13020045
E. Barra, S. López-Pernas, A. Alonso, J. F. Sánchez-Rada, A. Gordillo, and J. Quemada, "Automated assessment in programming courses: A case study during the covid-19 era," Sustainability (Switzerland), vol. 12, no. 18, pp. 1-24, 2020.
https://doi.org/10.3390/su12187451
S. W. Aaron Daniel Snowberger, Semin Kim, "Analysis and application of front-end code playground tools for web programming education," Journal of Practical Engineering Education, vol. 16, no. 1, pp. 11-19, 2024.
X. Zhong and Z. Zhan, "An intelligent tutoring system for programming education based on informative tutoring feedback: system development, algorithm design, and empirical study," Interactive Technology and Smart Education, vol. 22, no. 1, pp. 3-24, 2024. https://doi.org/10.1108/ITSE-09-2023-0182.
C. Uleanya, "Reconceptualising disabilities and inclusivity for the postdigital era: Recommendations to educational leaders," Education Sciences, vol. 13, no. 1, pp. 1-12, 2023. https://doi.org/10.3390/educsci13010051.
N. Bianchi, Y. Lu, and H. Song, "The effect of computer-assisted learning on students' long-term development," Journal of Development Economics, vol. 158, no. 1, pp. 10-29, 2022. https://doi.org/10.1016/j.jdeveco.2022.102919.
S. Nayak, R. Agarwal, and S. K. Khatri, "Automated assessment tools for grading of programming assignments: A review," in 2022 International Conference on Computer Communication and Informatics (ICCCI), 2022, pp. 1-4. https://doi.org/10.1109/ICCCI54379.2022.9740769.
Y. Zhong, M. Shi, Y. Xu, C. Fang, and Z. Chen, "Iterative android automated testing," Frontiers of Computer Science, vol. 17, no. 1, pp. 175-212, 2023. https://doi.org/10.1007/s11704-022-1658-8
D. Pramod, T. De Silva, U. Thabrew, R. Shariffdeen, and S. Wickramanayake, "Bugsphp: A dataset for automated program repair in php," in Proceedings of the 21st International Conference on Mining Software Repositories, 2024, p. 128-132. https://doi.org/10.1145/3643991.3644878
F. Kaddari, I. Ouahbi, and H. Darhmaoui, "Gamification approach in teaching web programming courses in php: Use of kahoot application," International Journal of Modern Education and Computer Science, vol. 13, no. 1, pp. 33-39, 2021. https://doi.org/10.5815/ijmecs.2021.02.04
E. W. M. Barnard and S. McDonald, "Learning objectives and their effects on learning and assessment preparation: insights from an undergraduate psychology course," Assessment & Evaluation in Higher Education, vol. 46, no. 5, pp. 673-684, 2021.
https://doi.org/10.1080/02602938.2020.1822281
L. T. Yu, "A comparison of the autonomous use of technology for language learning for efl university students of different proficiency levels," Sustainability (Switzerland), vol. 15, 2023. https://doi.org/10.3390/su15010606
A. Razaque, A. A. Ajlan, N. Melaoune, M. Alotaibi, B. Alotaibi, I. Dias, A. Oad, S. Hariri, and C. Zhao, "Avoidance of cybersecurity threats with the deployment of a web-based blockchain-enabled cybersecurity awareness system," Applied Sciences (Switzerland), vol. 11, 2021. https://doi.org/10.20944/preprints202107.0120.v1
K. Sambhus and Y. Liu, "Automating sql injection and cross-site scripting vulnerability remediation in code," Software, vol. 3, 2024. https://doi.org/10.3390/software3010002
Downloads
Published
How to Cite
Issue
Section
License
International Journal of Computing is an open access journal. Authors who publish with this journal agree to the following terms:• Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
• Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
• Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work.