Software development can be thought of in two fairly distinct ways: on one hand, it is a scientific area in which scientific method is applied in terms of quantifiable measurements and empirical studies. On the other hand (as with many other principles) it is based on craftsmanship in which the best practices emerge with experience.TDD is one such practice, emerging from the community of software developers as a means of developing higher quality software. This thesis aimed to study whether or not TDD actually leads to an increase in quality. This was conducted by developing a client application for a company in southern Sweden called TN Datakonsult AB. The application receives and visualizes signals from industrial processes. An API with the intent to capture this data over HTTP was developed in C#. This API was written by using TDD, while the client that consumed the API was written without tests as a control group. The code metrics that were calculated were cyclomatic complexity, lines of code, depth of inheritance, code coverage and class coupling. The results shows that many of the benefits associated with TDD are derived from the ability to track that the application under development is behaving as expected at any given time. This is a quality aspect which is particularly difficult to measure, even though the code metrics pre-sented will assist the developer to keep track of the state of the application.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:miun-17481 |
Date | January 2012 |
Creators | Lavesson, Eric |
Publisher | Mittuniversitetet, Institutionen för informationsteknologi och medier |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.002 seconds