Test Automation II (TDD Supporting Tools)

Course:  TATDD
Duration:  5 Days
Level:  I
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.

« Hide The Details
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

  • Refactoring

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

  • Applying Mockito

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.

« Hide The Details

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.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]