Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Java Software Testing - What Every Developer Must Know
Rating: 4.3 out of 5(103 ratings)
2,812 students
Created byHamadi Sy
Last updated 1/2026
English

What you'll learn

  • Explain the difference between unit-, integration-, system-, ui-, acceptance-, regression- and not-functional tests.
  • Explain the concepts test/behavioral driven developement (TDD/BDD).
  • Write test driven unit and integration tests using JUnit/TestNG and use Hamcrest/AssertJ for better assertions
  • Use JMockit/Mockito to mock context irrelevant dependencies
  • Write Web-UI system tests using Selenium/Selenide
  • Write behavioral driven acceptance tests using Cucumber/JBehave
  • Monitor test coverage using Jacoco/EclEmma
  • Persuasively discuss and explain why software testing is indispensable in the development lifecycle

Course content

9 sections51 lectures5h 50m total length
  • Course introduction3:25
  • Find out your testing skill level1:35
  • About the target student and the instructor3:54
  • Clarifying expectations

Requirements

  • Basic knowledge of java programming is required
  • Basic knowledge of maven is helpfull
  • Familiarity with a Java-IDE like Eclipse, IntelliJ, NetBeans or whatever you choose for the labs
  • PC, MAC or Linux Machine with an Internet connection

Description

Master the art of software quality assurance by developing a robust Tic-Tac-Toe application from the ground up using Java and Test-Driven-Development. This comprehensive course bridges the gap between basic coding and professional-grade engineering by focusing on the industry's most critical testing methodologies. You will not only learn how to write code but how to ensure its reliability and maintainability through rigorous verification processes.


Your quality assurance toolkit will encompass the following essential software testing methodologies:

- Test Driven Development (TDD)

- Behavior  Driven Development (BDD)

- Unit testing

- Integration testing

- Smoke testing

- System testing

- End-To-End testing

- Regression testing

- Acceptance testing

- Non functional tests


You will gain comprehensive, hands-on experience with the following industry-leading testing frameworks:

- Junit

- Hamcrest

- Mockito

- Selenide

- Cucumber

- JaCoCo

You will broaden your technical versatility by gaining hands-on experience with these widely-used alternative frameworks:

- TestNG

- AssertJ

- Jmockit

- Selenium

- Jbehave

- EclEmma


Beyond the technical implementation, this course empowers you to:

- Articulate complex testing concepts and quality criteria persuasively to stakeholders.

- Understand the economic and technical necessity of automated software testing.

- Build a professional portfolio that demonstrates a deep commitment to software quality assurance craftsmanship.

Elevate your engineering career by mastering professional testing strategies and building a high-quality portfolio that proves your technical excellence.

Who this course is for:

  • Java developer or architect who cares about assuring software quality and minimizing risks