Software Testing Education 
(maintained by Tao Xie) [Feedback]

    Besides software testing research, I am so interested in software testing education, developing materials and educational tools for teaching software testing or software engineering in general. In my view, computer science education needs to reduce the gap between what we produce and what the real world needs. As one example, software testing has become increasingly important and popular in practice for improving software reliability. I believe software testing needs to be put into the early phase of the introductory computing curriculum so that it can benefit students throughout their programming projects in later courses as well as their future software development careers. 

    I maintain this web to provide useful resources for educators in teaching software testing. In the near future, I plan to make the software testing tools that I developed for research into tools that I (as well as other instructors) can use in teaching software testing or data structures. Different from the existing data structures visualization tools, my tools are not bound to any specific data structure but accept any Java program. I expect that the new tools are not only useful for teachers to teach data structures or testing data structures, but also useful for students to test, debug, and understand the dynamic behavior of their own solutions for programming assignments.

Teaching Materials by Topics (recommended by Tao Xie): 

 

Software Testing and Verification Tools:

Educational Tools (not limited to software testing):

 

Textbooks:

 

Courses (with course materials):

 

Other Resource Webs: