The effects of test driven development on software productivity and software quality

Ünlü, Cumhur
In the 1990s, software projects became larger in size and more complicated in structure. The traditional development processes were not able to answer the needs of these growing projects. Comprehensive documentation in traditional methodologies made processes slow and discouraged the developers. Testing, after all code is written, was time consuming, too costly and made error correction and debugging much harder. Fixing the code at the end of the project also affects the internal quality of the software. Agile software development processes evolved to bring quick solutions to these existing problems of the projects. Test Driven Development (TDD) is a technique, used in many agile methodologies, that suggests minimizing documentation, writing automated tests before implementing the code and frequently run tests to get immediate feedback. The aim is to increase software productivity by shortening error correction duration and increase software quality by providing rapid feedback to the developer. In this thesis work, a software project is developed with TDD and compared with a control project developed using traditional development techniques in terms of software productivity and software quality. In addition, TDD project is compared with an early work in terms of product quality. The benefits and the challenges of TDD are also investigated during the whole process.


Effects of parallel programming design patterns on the performance of multi-core processor based real time embedded systems
Kekeç, Burak; Bilgen, Semih; Department of Electrical and Electronics Engineering (2010)
Increasing usage of multi-core processors has led to their use in real time embedded systems (RTES). This entails high performance requirements which may not be easily met when software development follows traditional techniques long used for single processor systems. In this study, parallel programming design patterns especially developed and reported in the literature will be used to improve RTES implementations on multi-core systems. Specific performance parameters will be selected for assessment, and pe...
Motion compensated three dimensional wavelet transform based video compression and coding
Biçer, Aydın; Ünver, Baki Zafer; Department of Electrical and Electronics Engineering (2005)
In this thesis, a low bit rate video coding system based on three-dimensional (3-D) wavelet coding is studied. In addition to the initial motivation to make use of the motion compensated wavelet based coding schemes, the other techniques that do not utilize the motion compensation in their coding procedures have also been considered on equal footing. The 3-D wavelet transform (WT) algorithm is based on the أgroup of framesؤ (GOF) concept. The group of eight frames are decomposed both temporally and spatiall...
A comparative study on polygonal mesh simplification algorithms
Yirci, Murat; Ulusoy, İlkay; Department of Electrical and Electronics Engineering (2008)
Polygonal meshes are a common way of representing 3D surface models in many different areas of computer graphics and geometry processing. However, these models are becoming more and more complex which increases the cost of processing these models. In order to reduce this cost, mesh simplification algorithms are developed. Another important property of a polygonal mesh model is that whether it is regular or not. Regular meshes have many advantages over the irregular ones in terms of memory requirements, effi...
Asynchronous design of systolic array architectures in cmos
İsmailoğlu, Ayşe Neslin; Aşkar, Murat; Department of Electrical and Electronics Engineering (2008)
In this study, delay-insensitive asynchronous circuit design style has been adopted to systolic array architectures to exploit the benefits of both techniques for improved throughput. A delay-insensitivity verification analysis method employing symbolic delays is proposed for bit-level pipelined asynchronous circuits. The proposed verification method allows datadependent early output evaluation to co-exist with robust delay-insensitive circuit behavior in pipelined architectures such as systolic arrays. Reg...
Hardware implementation of an active feature tracker for surveillance applications
Solmaz, Berkan; Akar, Gözde; Department of Electrical and Electronics Engineering (2008)
The integration of image sensors and high performance processors into embedded systems enabled the development of intelligent vision systems. In this thesis, we developed an active autonomous system to be used for surveillance applications. The proposed system detects a single moving object in the field of view automatically and tracks it in a wide area by controlling the pan-tilt-zoom features of the camera. The system can also go to an alarm state to warn the user. The processing unit of the system is a T...
Citation Formats
C. Ünlü, “The effects of test driven development on software productivity and software quality,” M.S. - Master of Science, Middle East Technical University, 2008.