Font Size: a A A

A Teaching Feedback System For Java Unit Testing Based On Static Analysis

Posted on:2017-02-09Degree:MasterType:Thesis
Country:ChinaCandidate:Y N LvFull Text:PDF
GTID:2308330485960887Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Software testing is an important process in the life cycle of software development, while white box testing is a significant subject in software testing education. Logical coverage is usually used as the measure of white box testing and unit testing. However, in the current teaching approaches of software testing, it’s difficult to organize exercises and examinations for unit testing. The evaluation of test cases is time consuming and requires large amounts of teaching assistants. In order to walk out of the dilemma, this paper implements a teaching feedback system for Java unit testing based on program static analysis.The system consists of 3 components. A web-based management platform for organizing classes and examinations, an Eclipse plugin for downloading projects and writing test cases, and an analysis and automated evaluation module for judging test cases automatically. The coverage of execution results would be displayed in Eclipse console, and the quantified results for all students and all test cases would be showed in web client.The automated evaluation of test cases is implemented via programming control flow analysis and code instrumentation technology relying on the Soot framework, which completes the static analysis for source code and collects the execution paths of test cases. With the comparison of coverage criterion’s test paths, each coverage percentage can be calculated easily, and so as to realize the goal of automatic evaluation.After one year’s using of this teaching feedback system for unit testing, it shows that the system is reasonable and effective. Students can practice unit testing conveniently, and improve the ability of writing test cases according to the feedback results. Teachers can organize examinations easily, and make awareness of the differences between classes and projects according to the quantified feedback results. At the same time, the system saves a lot of assistant resource, so it is an efficient teaching solution for Java unit testing.
Keywords/Search Tags:Static Analysis, Control Flow Analysis, Program Instrumentation, Unit Testing, Teaching Feedback
PDF Full Text Request
Related items