Analyzing Software Testing: The Benefits of Continuous Integration/Continuous Development; Analyzing Code Quality

Dagar, Neel, School of Engineering and Applied Science, University of Virginia
Elliott, Travis, EN-STS Dept, University of Virginia
Dwyer, Matthew, EN-Comp Science Dept, University of Virginia

In the 21st Century lines of code have defined society. But perhaps a more important question to ask is if society has defined a line of code? The answer to this question is quite clearly ambiguous. However, one would agree that such a important technological tool should have some rules or guidelines. Something to define the grey area when software engineers write code. After all, when a line of code can control a car or even an airplane one would agree that such a definition is powerful.

This portfolio explores this area by looking at software testing in particular. By determining the cultural and technological practices in the modern enterprise that determine code quality standards. Looking at how different people with different levels of experience define software testing as well as developments that have occurred in the software testing industry. Exploration of failures in software testing and standardization are also explored. Together this culminates as the Thesis of this Portfolio. The Thesis seeks to analyze this actions and put into context how and why such actions occurred and the impact of such decisions.

To build on the information gathered in the Thesis, the Technical Report puts forth a method of integrated software testing. A tool that allows testing to occur when one writes code and publishes it to a centralized repository. The goal of the Technical Report is to offer a basic solution to many of the problems analyzed within the Thesis. Namely, the Technical Report aims to provide a framework for common problems that arise from attempting to implement such code quality standards and testing. By using such a tool it is likely that software engineers could find it more convenient and intuitive to use such practices and techniques in their own work. The Technical Report also details improvements over existing technology providing similar solutions.

The goal of these two combined works is to provide society with a framework to define a line of code. By providing tools to conduct software testing engineers will undoubtedly find such work more convenient. To be an engineer is more than to simply be a creator or innovator. It is to understand the impact of one’s creations. This can only truly be achieved when one takes into account the need for high standards in order to protect users and serve customers.

BS (Bachelor of Science)
Issued Date: