Course Summary
This course teaches the student how to apply Test Driven Development and the Mockito framework in real life projects, using realistic, hands-on examples. In addition, Jenkins, SonarQube, JUnit, and Selenium are phased into a full test development and execution environment
Start writing clean, high quality code to apply Design Patterns and principles Add new features to your project by applying Test-first development- JUnit 4.0 and Mockito framework
Make legacy code testable and clean up technical debts
In Detail:
The usual life cycle of code involves adding code, breaking an existing functionality, fixing that and breaking a new area! This fragility can be fixed using automated tests and Test Driven Development.
TDD?s test first approach expedites the development process and unit tests act as safety nets for code refactoring and help in maintaining and extending the code. This makes TDD highly beneficial for new projects.
This course teaches you with a number of clear, step-by-step exercises that will help you to take advantage of the real power that is behind Test Driven Development and the Mockito framework. By attending this course, you will gain the knowledge that you need to use the Mockito framework in your project.
Topics Covered In This Course
Getting Familiar with TDD
- View Sample
- Definition of test
- View Sample
- The big picture
- View Sample
- Refactoring
- View Sample
Refactoring Roll the Dice
Applying TDD
- Understanding different test types
- Understanding TDD a enterprise example
Understanding the Difference between Inside-out and Outside-in
- Understanding outside-in
- Understanding inside-out
Test Doubles
- Categories of test doubles
Mockito Magic
- An overview of Mockito
- Qualities of unit testing
- Drinking Mockito
- Verifying redundant invocation
- The argument matcher
- Throwing exceptions
- Consecutive calls
- Stubbing with callbacks using the Answer class
- Spying objects
- Using doReturn()
- Working with Void methods
- Argument capture
Leveraging the Mockito Framework in TDD
World of Patterns
- Characteristics of a bad design
- Design principles
- Design patterns
TDD, Legacy Code, and Mockito
- What is legacy code?
- Problems with legacy code
- Diving into the legacy puzzle
- Refactoring legacy code
- The role of Mockito
TDD Tools and Frameworks
- Discovering Eclipse
- Useful keys for TDD and refactoring
- General settings
- JUnit 4.x
Agile Practices
- Exploring continuous integration
- Exploring Jenkins
- Revealing Agile methodologies
Selenium beyond the basics
- Page Object Pattern
- Leveraging OO Design to the max
- Test creation for maintainability
- Techniques for the Masters
- TestNG Considerations
SonarQube
- An introduction
- Issues and coding standards
- Ensuring that your code is doing things right
- Working with duplicate code
- Optimizing source code documentation
- Keeping your source code files elegant
- Improving your application design
- Continuous Inspection with SonarQube
- Letting SonarQube drive code reviews
- IDE integration
- Administering and extending
- Security: users, groups, and roles
- Rule profile administration
- Making SonarQube fit your needs
- Managing your projects
- Writing your own plugin
What You Can Expect
At the end of this course, students will be able to:
- Use Test Driven Development techniques using Mockito.
- Improve Selenium Tests
- Work with Jenkins, Maven, and Gradle.
- Work with SonarQube to improve quality..
- Understand agile techniques for including the Testing tools.
- Apply patterns for testing and maintenance.
- Save time and improve quality in your testing.
Who Should Take This Course
This course is designed for QA Testers, Software Developers, Analysts, and Managers.
Recommended Prerequisites
Some experience as a QA Testers, Software Developers, Analysts, or Managers
Training Style
Instructor led with 50% lecture and 50% lab.
Every student attending a Verhoef Training class will receive
a certificate good for $100 toward their next public class taken
within a year.
You can also buy "Verhoef Vouchers" to get a discounted rate for a
single student in any of our public or web-based classes.
Contact your account manager or our sales office for details.