Test Driven Developement for Eclipse CDT

Kallenberg, Thomas and Schwab, Martin (2011) Test Driven Developement for Eclipse CDT. Bachelor thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of project-documentation.pdf]
project-documentation.pdf - Supplemental Material

Download (3MB) | Preview
  • PDF
    BA-Bericht.pdf - Supplemental Material


Introduction: In 2006, Prof. Peter Sommerlad introduced the CUTE unit testing
framework for C + + to promote unit testing in C + +. The objective of this
bachelor thesis is to ease practicing Test-Driven Development (TDD) by code
generation for Eclipse CDT when using CUTE. Referring to an undefined entity
when writing code results in a syntax error. Based on such an error, a
resolution should be provided that generates the missing code defining the
entity. Code generation features three central advantages:
- It speeds up the TDD work flow,
- allows focus on the actual program logic and,
- is useful for C++ programmers using CDT even when not practicing TDD.

Approach: To provide an easy to use interface for generating missing code,
Eclipse's Quick- Fixes were used. They offer context- sensitive tasks for the
active source code position. Quick- Fixes can only exist in symbiosis with a
problem marker generated by a code checker. Our Quick- Fixes were
implemented bottom- up, being able to solve simple syntactic problems first,
such as defining a missing local variable. Then, more special cases were
added and a generic solution was searched.

Result: The developed Quick-Fixes provide a solid base for TDD in C++. The
following functionality has been implemented:
- Create new types and namespaces from their use
- Add member variables and (member) functions, especially operator
- Create local variables (improved version)
- Move functions and types to a new compilation unit
- Append and remove arguments to match specific overloads of functions
- Change visibility of members inside a class according to their use

Item Type: Thesis (Bachelor)
Subjects: Area of Application > Development Tools
Technologies > Programming Languages > C++
Technologies > Frameworks and Libraries > Eclipse
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: HSR Deposit User
Thesis advisor
Sommerlad, Peter
Date Deposited: 24 Jul 2012 07:57
Last Modified: 24 Jul 2012 09:35
URI: https://eprints.ost.ch/id/eprint/153

Actions (login required)

View Item
View Item