Java Technologies
D-E505

Effective Testing for Java developers

Duration

2 days

Format

Instructor Lead

Audience

This course is in advanced series and designed for senior developers, Q/A teams, software & system architects, project managers involved with the development of Java™ applications.

Prerequisites

A fundamental knowledge of Java is a prerequisite for this course.

Overview

The Test-Driven Development training course delivers a hands-on view of how TDD can be used by developers, project managers, and the quality assurance teams to create higher quality software. Ensuring every student has the same understanding of standard software testing procedures. The TDD training course begins with an examination of common test terminologies, practices, benefits, and pitfalls. The course then moves into a discussion on the theory and practice of Test-driven development in Java, the applicability of TDD in modern software development paradigms, and how it can be leveraged within different software engineering processes. Students Will Learn:

  • Unit Testing Using JUnit
  • Test Driven Development (TDD)
  • Behavior Driven Development (BDD)
  • Mocks and Stubs
  • Automated Testing
  • Continuous Integration Servers
  • TDD Patterns

Description

  1. Software Testing
    • Software Testing Levels
    • Software Testing Methods
    • Software Testing Types
  2. Test Driven Development (TDD)
    • Introduction to TDD
    • Test First vs Test Last
    • Red, Green, Refactor
    • Crucial Design Principles
    • Driving Design using TDD
  3. Unit Testing and JUnit
    • What is Unit Testing?
    • What is JUnit?
    • Test Cases, Test Suites
    • JUnit Annotations
    • Assertions
    • Conditional Test Executions
    • Repeated Tests
    • Parametrized Tests
  4. TDD Patterns
    • Red Bar Patterns
    • Testing Patterns
    • Green Bar Patterns
  5. Mocks, Stubs
    • Mock Objects with Mockito
    • Stubs
  6. Test Coverage with JaCoCo
  7. Web Interface (UI) Testing
    • Testing Web Interfaces
    • SeleniumRC, Selenium IDE, Selenium WebDriver
    • Selenium Commands
    • Selenium WebDriver API
    • Testing on Different Browsers
    • Page Object Design Pattern
  8. Principles of Behavior Driven Development (BDD)
    • Behavior-Driven Development and related techniques
    • TDD vs BDD
    • User Stories
    • Use Cucumber to script and run acceptance tests
  9. Continuous Integration/Automated Testing
    • Continuous Integration
    • Continuous Delivery
    • Checking into Repository
    • Continuous Integration Servers (Jenkins)
    • Automate the Build/Deployment
  10. Database Unit Testing
    • Writing Database Tests
    • DbUnit
  11. Rest API Testing with Java
  12. Performance Testing with JMeter