Visão Geral
Explore Curso Test Driven Development and Unit Testing Essentials, melhores práticas, testes de banco de dados, refatoração, simulação, recursos avançados e muito mais neste Curso Test Driven Development and Unit Testing Essentials. Ao longo do curso você ganhará experiência prática trabalhando com as melhores práticas para escrever programas em Java usando técnicas de desenvolvimento orientado a testes. Os participantes saem deste curso equipados com as habilidades necessárias para aproveitar sólidas técnicas de desenvolvimento orientado a testes e testes unitários.
Objetivo
Após realizar este Curso Test Driven Development and Unit Testing Essentials, você será capaz de:
- Compreender o papel dos testes unitários no desenvolvimento e teste de software
- Escreva testes de unidade eficazes
- Incorporar propriedades de testes unitários eficazes
- Entenda os benefícios do desenvolvimento orientado a testes e de testes
- Aplicar técnicas e práticas para auxiliar na adoção bem-sucedida do Desenvolvimento Orientado a Testes
- Trabalhe com o JUnit e a interface JUnit Test Runner
- Use JUnit para conduzir a implementação do código Java
- Depurar em conjunto com testes
- Compreender os fundamentos do TDD utilizando Java, bem como a sua importância, utilizações, pontos fortes e fracos.
- Entenda como o JUnit afeta sua perspectiva de desenvolvimento e aumenta seu foco em uma tarefa.
- Codifique JUnit usando as melhores práticas
- Crie programas JUnit bem estruturados
- Compile e execute programas usando JUnit e DBUnit
- Estenda os testes com objetos simulados usando Mockito
- Use técnicas de refatoração disponíveis para tornar o código o mais reutilizável/robusto possível.
- Aplique várias técnicas de teste
Publico Alvo
- Desenvolvedores e programadores de software
- Praticantes Ágeis
- Profissionais de garantia de qualidade
- Testadores de software
- Proprietários do produto
- Gerentes de projeto
- Gerente de TI
- Engenheiros de software
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico
Introducing Test-driven Development
- Test-Driven Development
- Rationale for TDD
- The process of TDD
- Advantages to TDD
- Side-effects of TDD
- Tools to support TDD
- Setup IntelliJ for Using Maven
Unit Testing using JUnit
- Unit Testing Fundamentals
- Purpose of Unit Testing
- Good Unit Tests
- Test Stages
- Unit Testing Vs Integration Testing
- Understanding Unit Testing Frameworks
Jumpstart: JUnit 5.x
- Understand and work with the features of JUnit
- Write unit tests using @Test annotation
- Test Result Verification (Assertions)
- Manage fixtures using @BeforeEach, @AfterEach, @BeforeAll and @AfterAll annotations
- Maven setup using Surefire plugin
Annotations
- Use @DisplayName to specify a custom name for the test
- Check for exceptions thrown by test
- Use @Disabled to prevent a test class or method from running
- Use timeouts to fail test that take longer than required
- Test Execution Order
Hamcrest
- Learn the notation of assertThat
- Know the objective of Hamcrest library
- Use Hamcrest's logical and object matchers
- Use Hamcrest's number and collection matchers
Parameterized Tests
- The @ParameterizedTest annotation
- A parameterized test to test code under several conditions
- Define different sources for test data (@ValueSource, @CsvSource, @CsvFileSource,@EnumSource, @MethodSource, @ArgumentSource)
Advanced Features
- JUnit 4 vs JUnit 5
- Nested Unit Tests
- Repeated Tests
- JUnit Extensions
- ExecutionConditions
- Lambda Support
- Grouped Assertions
JUnit Best Practices
- \"Good\" Tests
- Bad Smell
- White-Box Unit Testing
- Black-Box Unit Testing
- Automation and Coverage
Mocking
- Mocking of Components
- Why We use Test Dummies
- Working with Mock Objects
- Using Mocks with the User Interface
- Mock Object Strategies
Mock Objects and Mockito
- Mockito Description and Features
- Mockito Object Lifecycle
- JUnit 5 and Mockito Dependency Injection
- Stubs Using ArgumentMatchers
- Verifying Behavior in Mockito
- Partial Mock Objects
- The Spy annotation
PowerMock
- PowerMock Description and Features
- Using PowerMockito
- @PrepareForTest
- Mocking a final class or final method
- Mocking a Static Method
Advanced Topics
- State-based vs. Interaction-based Testing
- State-based Testing
- Interaction-based Testing
- Mock Objects Support Each Approach
- Three Areas to Check in a Test
Improving Code Quality Through Refactoring
- Refactoring Overview
- Refactoring and Testing
- Refactoring to Design Patterns
- Lab: Refactoring
Database Testing: DbUnit
- Setting up DbUnit
- Defining a Dataset File in XML, CSV or Excel
- Writing a DbUnit Test Class
- Assert the results
- Use the FailureHandler and ValueComparer
- Using Date and Time in test sets
- Export a data set
TENHO INTERESSE