Software testing comes along with the production of software. Early software development processes were small and complex. Now the software and IT industry has entered a big development, software tends to be large, high complexity, software quality is more and more important. Software testing can help us find as many defects as possible, improve development efficiency, reduce development cost, and improve user experience.
2.Statement
The target of this project is to use the techniques about software testing in the class or on the internet to help me understand the content of this course. I plan to use the knowledge from the class to analyze and create the test cases for navigation and mplayer packages in the Atunes program(Version 1.6.0). And I will compare the results from automatic tools and manual results. I will choose some classes to draw the data flow graph. I will use PIT to mutate these classes and analyze which type of mutation operators is used. I will measure the code coverage and mutation score and change test cases to improve them. Finally I will run regression test cases on the Atunes(Version 1.6.1) by selecting tests using execution slices to check if any part of the program failed.
3.Tools will be used
Tools and Compiler: Eclipse / Intellij IDEA Programming language: java Tools: PIT, EvoSuite, and Junit Possible Result: The result of the project will be the increasing code coverage and mutation score and effective test cases for Atunes.
4.Timeline
Proposal Draft
Proposal Final
Reading tools handbooks and materials from class
Install the useful tools
Analyze input partition and data flow graphs
Create test cases for the chosen classes
Use PIT to get the code coverage and mutation score
Change test cases to improve the code coverage and mutation score
Run regression test cases on the higher version of Atunes
Writing paper and poster
Preparing presentation
Presentation