Unit Testing - Supporting Modern Software Development Methods
CSE-40691
Software testing plays a crucial role within the software development life cycle. For teams looking to improve their delivery pipelines, testing at a more granular level becomes even more vital.
This course will provide an overview on the benefits of unit testing, while helping students understand the value of current testing patterns. Participants will become familiar with Test Driven Development (TDD) practices and Code Coverage. They will learn to use and write various forms of tests including Unit, Integration and Functional with Junit and Mockito testing frameworks. Also, they will have the opportunity to test using mocks, subs and test-spies. Students will come to understand the different kinds of tests that are essential to developers, and the role that unit tests play in the testing of an Object-Oriented System.
Course Highlights:
- Tests types and tools
- Unit Testing Guidelines and Techniques
- Test Driven Development (TDD) principles and benefits
- Mocks, Stubs, Test Spies
- Testing Techniques and feedback
- Organization of Tests
- Maintainable Tests
- Test Quality
Course Benefits:
- Ability to write high-quality, readable and maintainable unit tests using practical automation tools
- Learn JUnit and Mockito testing frameworks
- Use Test Driven Development (TDD) concepts to build a piece of software within the written tests first
- Implement testing patterns with legacy code to reduce impact on existing code
- Integrate testing processes within a continuous delivery model of software development
Course typically offered: Online during Fall and Spring quarters.
Prerequisites: Some basic Java knowledge preferred but not required.
Next steps: Upon completion of this class, consider enrolling in other coursework in the Software Quality Assurance Certificate Program.
More information: Contact infotech@ucsd.edu to learn more about Software QA and course offerings.