Carleton University
From Isolation to Integration: An empirical study on differences between unit and integration testing with applications to C programs
Abstract
dc:description.abstractUnit and integration testing are both well-established, yet their practical differences have received limited empirical attention. This work compares the two approaches to better understand how they differ when applied with the same test cases. Unit testing, based on isolating the unit thanks to the use of stubs, is contrasted with integration testing, where functions are tested together through real calls instead of stubs. The study focuses on structural coverage, fault detection, and the effort required to manually build test harnesses. We observe that unit testing offered greater control and reachability but required significant manual setup. Integration testing involved less infrastructure but limited observability, especially for functions that are not directly executed by the test harness. Fault detection varied depending on call structure, input flow, and oracle quality. Some faults were only exposed in integration, others only through unit testing.
Degree
thesis:*- Name thesis:degree_name
- Master of Applied Science (M.App.Sc.)
- Level thesis:degree_level
- Master's
- Discipline thesis:degree_discipline
- Engineering, Electrical and Computer
- Grantor dc:publisher
- Carleton University
- Year dc:date.issued
- 2025
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Taheri Ghazvini, Ehsan
Rights
dc:rights- Statement dc:rights
-
- Copyright © 2025 the author(s). Theses may be used for non-commercial research, educational, or related academic purposes only. Such uses include personal study, distribution to students, research and scholarship. Theses may only be shared by linking to the Carleton University Institutional Repository and no part may be copied without proper attribution to the author; no part may be used for commercial purposes directly or indirectly via a for-profit platform; no adaptation or derivative works are permitted without consent from the copyright owner.
- Language dc:language.iso
- en
Identifiers
dc:identifier.*- OAI identifier oai:identifier
- oai:carleton.scholaris.ca:20.500.14718/43965