Do you want to teach practical software testing and test automation?
Do you want to learn practical software testing and test automation?
Are you looking for hands-on materials for the above needs?
Then, you are in the right place!
There are not many publicly-available testing courseware for software testing educators to adapt and customize. Even for the existing testing lab exercises developed and/or used by the educators, there are various drawbacks, e.g.:
They are not usually kept up-to-date with the most recent testing tools and technologies, e.g., JUnit
They are not built based on realistic/real-world Systems Under Test (SUTs), but rather use small SUTs
A brief survey on this topic has been reported as an experience paper.
The above needs were the main motive for us to develop this open repository of software testing laboratory courseware in 2008 in the University of Calgary, Canada. This "open" courseware has been the results of efforts by several instructors and graduate students to modernize and re-design the labs of an undergraduate testing course. Our goal has been to develop and maintain a set software testing laboratory exercise which are "practical" / hands-on, use modern and latest testing tools and realistic systems under test (SUTs).
The latest list of labs in this courseware are (as of Mar. 2018):
Lab 1-Manual testing and using defect (bug) tracking systems
Lab 2-Blackbox testing with JUnit
Lab 3-Whitebox testing and code coverage
Lab 4-Mutation testing
Lab 5-GUI testing (web application testing) with Selenium
Lab 6-Static code analysis
Lab 7-Testing using TTCN
To view and download the full lab documents and artifacts, visit this page.
The SUTs for the labs include real large-scale open-source software systems, such as:
JFreechart: JFreeChart is a free Java chart library that makes it easy for developers to display professional quality charts in their applications. It code-base is about 70 KLOC and the lab documents guide students to test it using both blackbox and whitebox approaches using JUnit.
A realistic Automated Banking Machine (ATM) simulator: This is a nice open-source ATM simulation software developed in Gordon college. This SUT is used in Lab 1 to practice manual testing and using defect (bug) tracking systems.
The labs use popular test tools and frameworks, such as: JUnit, Selenium, Sikuli and test-support tools such as the CodeCover code-coverage tool and defect (bug) tracking systems.
As our schedule allows, we maintain the lab documents and artifacts with the latest updates in testing tools and frameworks (e.g., JUnit). We also plan to add further additional labs in future. Stay tuned!
The courseware has been used by over 50 instructors in their software-testing courses in more than 15 countries worldwide so far. According to many feedbacks that we have received from software-testing educators and students, they find these labs useful and effective for learning.
We provide these laboratory courseware free/open for everyone since we are passionate about software testing education. We are confident that other software testing educators will also find them useful for their courses.
Enjoy using the courseware in your courses!