The investigation of the Test First model implementation on the internal quality of software project - Norzariyah binti Yahya (Kulliyyah of Information and Communication Technology, International Islamic University Malaysia, 2018)
Generally, Test First is a programming practice that needs a developer to design test cases at the beginning of a project that will lead to the failure of those test cases. The process then continues with the development of the production code which is written to match the test cases designed. This research is an empirical research that investigates the implementation of an Agile approach known as the Test First model. This research explores the suitability of the existing Test First model for its implementation in Malaysian education settings. The findings from the Pilot Experiment demonstrated a need to propose a new Test First model which is tailored to local undergraduates' knowledge and experience in system design and project development. This thesis looks into the internal quality of the project developed by local undergraduates with the implementation of Test First over Test Last model. The internal quality of the source codes developed by the students was evaluated based on six metrics; Lines of Codes, Average Cyclomatic Complexity, Lack of Cohesion in Methods, Coupling between Objects, Weighted Methods per Class, and Response for a Class. The findings from the series of experiments demonstrated that the internal quality of the source codes developed by the undergraduates based on the Test First model is better than the internal quality of the project implemented using the Test Last model. Additionally, the factors on Intention towards Testing Behaviour were identified based on the Theory of Planned Behaviour model. The identified factors will facilitate in supporting the Test First implementation in academia. Moreover, the outcomes indicated by the Theory of Planned Behaviour show that the students' belief that their expectation on programming knowledge, skill, time given to develop a project, training and the view of the lecturers or instructors and classmates are the factors that influence their Intention towards testing. Lastly, the focus group discussions show that the students generally understand Test First and its contributions in a system development. However, there are several factors that need to be accommodated to ensure the students positively and enthusiastically do Test First.