Browsing by Subject "Unit testing"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Graph based unit testing(2011-08) Bushmais, Abraham H.; Khurshid, Sarfraz; Krasner, HerbAutomating test design can increase test suit accuracy and produce more reliable software. In this report we present a prototype tool that can aid developers in unit testing Java code. It automates test path construction based on two existing graph-based criteria. It uses basis path coverage and prime path coverage to produce test paths. Our main contribution in this report is to design and implement a tool that goes beyond the commonly used coverage tools today. Common graph based coverage tools support statement coverage and sometimes branch coverage. Our tool support prime path coverage which subsumes a number of other graph based coverage criteria, including statement and branch coverage. Our tool is a Java based Eclipse plug-in that operates at the class level. It processes each method in a given class to produce a CFG, cyclomatic complexity, a set of basis paths, a set of prime paths, and a set of test paths based on prime path coverage.Item Mocking embedded hardware for software validation(2016-08) Kim, Steve Seunghwan; Khurshid, Sarfraz; Bard, WilliamThis report makes the case for unit testing embedded systems software, a procedure traditionally found in application software development. While the challenges of developing and executing unit tests on embedded software are acknowledged, multiple solutions are presented. The GNU toolchain and a Texas Instruments microcontroller are used as an example embedded target. Two applications, one introductory and one more realistic, were developed for this embedded target using the C programming language. This report details the procedure required to apply open-source frameworks, Unity and CMock, to the two embedded applications. These frameworks, combined with the techniques outlined in this report, accomplished several goals of unit testing. The goals included automated validation of the embedded applications, increased code coverage, and protection against regression defects. In addition, it is shown how unit tests led to more modular software architecture. Potential ideas to extend this research to other tools, environments, and frameworks are also discussed.