TDD Java - Desenvolvimento Guiado por Testes

Desenvolvimento Guiado por Testes (TDD) é uma metodologia de desenvolvimento de software que enfatiza um ciclo iterativo em que a escrita de casos de teste precede a implementação real de funcionalidades ou funções. Aqui estão os principais aspectos do TDD

See more: Depositions | Course details | Questions

TDD Java - Desenvolvimento Guiado por Testes


180





AVANCE NA CARREIRA

São mais de 560 aulas, mais de 50 cursos e lançamentos toda semana para você transformar o seu uturo com a escola referência em educação.



APROFUNDE SEUS CONHECIMENTOS

Aqui você tem acesso a um processo de aprendizado acessível e com direcionamento da sua própria jornada de estudos, para você se tornar profissional em tecnologia.



CONECT-SE COM A COMUNIDADE

Faça parte da maior comunidade de apaixonadas por tecnologia. Conheça e se conecte com milhares de profissionais do mercado. Professores mestres e doutores na área.






Sequência de cursos organizados em formações

Formações com conteúdo do mercado de trabalho, sequências de cursos e conteúdo para você se capacitar em tecnologia, negócios digitais e finanças.









Descrição:

Desenvolvimento Guiado por Testes (TDD) é uma metodologia de desenvolvimento de software que enfatiza um ciclo iterativo em que a escrita de casos de teste precede a implementação real de funcionalidades ou funções. Aqui estão os principais aspectos do TDD:

  1. Visão Geral do Processo:

    • Codificação, teste e design estão intimamente entrelaçados no TDD.
    • O processo envolve as seguintes etapas:
      1. Escrever um único teste de unidade descrevendo um aspecto do programa.
      2. Executar o teste (que inicialmente deve falhar porque a funcionalidade está ausente).
      3. Escrever o código mínimo possível para fazer o teste passar.
      4. Refatorar o código até que ele atenda aos critérios de simplicidade.
      5. Repetir, acumulando testes de unidade ao longo do tempo.
  2. Benefícios:

    • Redução das taxas de defeitos: Muitas equipes relatam reduções significativas em defeitos, mesmo que haja um aumento moderado no esforço inicial de desenvolvimento.
    • Melhoria das qualidades de design: O TDD frequentemente leva a uma melhor qualidade interna, como maior coesão e menor acoplamento no código.
  3. Pitfalls Comuns:

    • Erros Individuais:
      • Esquecer de executar testes com frequência.
      • Escrever muitos testes de uma vez.
      • Criar testes excessivamente triviais ou omitir asserções.
      • Escrever testes para código trivial (por exemplo, acessadores).
    • Pitfalls da Equipe:
      • Adoção parcial: Quando apenas alguns desenvolvedores da equipe praticam TDD.
      • **Má

Aulas

  1. Apresenta uma introdução ao Test-Driven Development (TDD) e os diversos motivos para aplicar este processo de desenvolvimento guiado por testes.

  2. Apresenta a ferramenta JUnit para implementação de testes na plataforma Java, demonstra suas características, estrutura e alguns benefícios da versão 5. Mostra como criar um projeto Java no NetBeans 11, utilizando o Maven como ferramenta de build e gerenciamento de dependências.

  3. Mostra na prática como utilizar o JUnit 5 para implementar um algoritmo de Máximo Divisor Comum (MDC) com Java no NetBeans 11, seguindo o processo de Test-Driven Development (TDD).

  4. Mostra na prática como utilizar o JUnit 5 para implementar um algoritmo de Máximo Divisor Comum (MDC) com Java no NetBeans 11, seguindo o processo de Test-Driven Development (TDD). Continua a implementação das propriedades básicas do MDC.

  5. Os vídeos anteriores mostraram como encontrar o MDC de dois números implementando propriedades do MDC, que indicam qual o resultado a ser retornado quando os valores de entrada atendem determinadas pré-condições. Nestes casos, não fizemos de fato nenhum cálculo. Para os casos em que os valores não se enquadram em tais propriedades, precisamos então implementar um algoritmo que de fato calcula o MDC. Este vídeo mostra a implementação seguindo o processo de Test-Driven Development (TDD) com JUnit 5 no NetBeans 11.

  6. Continuando a série de TDD, este vídeo mostra um projeto mais realista para a implementação de testes unitários e regras de negócio para um sistema bancário, seguindo o processo de Test-Driven Development. É disponibilizado um projeto Java com uma estrutura inicial. Aqui utilizo o Visual Studio Code, mas qualquer IDE pra Java tem suporte ao JUnit. O vídeo mostra como escrever testes que precisam instanciar objetos, definir valores iniciais e chamar diferentes métodos para verificar o resultado esperado. Alguns recursos adicionais do JUnit são mostrados, como mais detalhes sobre exceções no JUnit 5 e as asserções assertNotEquals e assertNotNull.

  7. Continuando a implementação do sistema bancário seguindo o desenvolvimento guiado por testes (TDD), este vídeo mostra como resolver um dos problemas de testes intermitentes (que passam ou falham com difetentes valores, mesmo quando deveriam sempre passar) com JUnit 5, utilizando um delta no assertEquals. São explicados os motivos para essas falhas, para podermos entender adequadamente o problema e definir valores adequados para o delta e evitarmos dores de cabeça para encontrar e resolver testes intermitentes.

  8. Apresenta os fundamentos da cobertura de código, que indica o percentual do código fonte que está sendo coberto pelos testes automatizados. Mostra como aplicar cobertura de código no JDK, especificamente em projetos Java com a biblioteca JaCoCo. Mostra como analisar a cobertura de código e detalhes a serem considerados. Utiliza um sistema bancário como projeto de exemplo que possui testes unitários com o JUnit 5.

  9. Apresenta uma breve introdução do que são os processos de Integração Contínua (Continuous Integration, CI) e Implantação Contínua (Continuous Deployment, CD). Mostra como habilitar o GitHub Actions como serviço de CI para build e execução automatizada dos testes em um projeto Maven com Java. Por fim, apresenta o https://shields.io que facilita adição de badges (shields), aqueles botões com informações sobre o projeto no topo de muitos README.

Observação Tivemos um problema com o áudio em algumas aulas, estamos trabalhando para regravar e arrumar os áudios das aulas afetadas

Autor: Manoel Campos 🧑‍💻 Instragram: https://instagram.com/manoelcampos Linkedin: https://linkedin.com/in/manoelcampos Google Reads: https://goodreads.com/manoelcampos Clube House: https://clubhouse.com/@manoel.campos X: https://twitter.com/manoelcampos GitHub: https://github.com/manoelcampos Youtube: https://youtube.com/manoelcamposfh



180


Native Apps published

All apps can be used locally without internet.
Applications are free to download, you only need to pay once to attend classes.
Classes can be viewed on iPad, iPhone and MacBook devices.


Online classes

R$ 0.00

180
  • Unlimited classes
  • Unlimited Forum
  • Books and ebooks unlimited
  • New classes unlimited
  • Technical support

Platform

Depositions

The Finance course is very good! You can study at your own pace and fit the classes into your routine, which is super practical. The topics are varied and super useful, from how to manage your money to invest intelligently, the instructor explains everything in an easy-to-understand way. If you want to understand more about finance and improve your skills, this course is perfect. It's a great combination of quality and practicality!, it's super worth it!

Testemunho da Isa

Isa

Future investor nurse

“Best study platform, I watch the recorded classes within my availability and I can review the content in online and individual class, the classes are didactic and focused on the practical development of the subject covered, I recommend the courses for developers and recommend them to those who are interested in changing careers in a practical and agile way.”

Testemunho da Ana

Ana

Future developer

Mauricio, thank you for your classes.
That was very cool and interesting. You thought me a lot of things, which I can do now. You are cool teacher 😎👍

Sofiia

Olha Zaborska

Good student

Are you enjoying the HTML course?

Sofi: Yes, I really like it, at first it's very difficult because it's all for the first time for me, but step by step.

Sofiia

Sofiia

Master Degree in Economy

I have been taking a SQL class with Mauricio and I love how patient he is and how he started the with the very basic , explaining what a database is. This helps in understanding the process. Taking it slow and practicing with the honework he assigns will help me alot. Thank you Mauricio.

Gilbert

Gilbert

Training/Couch

Important information, clear practical activities, clear explanations, precise description of the course, captivating presentation, experienced instructor.

Luís Antônio de Oliveira Santos

I would like to share my incredible experience with the basic computer science course I recently completed. From the first day, I was impressed with the quality of the content and Maurício Júnior's didactic approach. The course covers all essential aspects, from the basic operation of a computer to internet browsing and the use of productivity programs such as Microsoft Office.

Isa

Isa

I really liked the course because it is a fast and objective course.

Lucas Maestro Carlos

I've been a programmer for 8 years and taught in technical education for 4 years.

The clarity of the explanations and the constant support offered made learning accessible and enjoyable, regardless of my initial level of knowledge. The support materials, including video tutorials and practical exercises, were extremely useful for my understanding and to ensure that each concept was fully understood. I strongly recommend this course to anyone who wants to become familiar with the world of computer science. It is, without a doubt, a worthwhile investment!

Isa

Isa

I loved the class, the explanations and the tips! Thank you very much for the opportunity to learn more and more.

carla souza

Carla

Studant

The windows form didn't even die, I work with this technology here at the company and the course helped me a lot.

Marcos

Developer

5 stars.

Gilmar Robledo

Very good, 5 stars.

William Souza dos Santos

Your first book helped me change my life. I was from the support and I learned a lot from your book and videos. Now I can help my family.

Paulo

Dev

Very good C# course, I would also like to learn VB.NET

Efraim Vieira

Dev

Congratulations on the classes, I learned a lot and I enjoyed making dynamic menus.

Luiz Farias

Dev

I learned a lot from the iPad course. Thank you!

Marcilene

House keeper

The Api course gave me another vision regarding software development.

Iuri

Freelancer

How does studying on the platform work?


Get to know all the features of the platform, where you will have much more than 500 classes available. Get to know some questions and answers within our platform.


tela do aluno classe

Student Class


This is the class that the student accesses to watch and practice the classes.

An easy interface like Youtube in all browsers.

After finishing the class, click on the button to complete the class.





Forum


You can access forum, search, and send questions.

Forum, visualization, questions and answers.

Start

tela do aluno classe



comunidade do aluno

Private Community


Articles, magazines, podcasts, jobs and more



F.A.Q

Frequently asked Questions

  • ecode10.academy and plataforma.academy is an education platform that allows anyone to learn in a practical way, with technology experts, based on challenges and system development. All Academy content is available anytime and anywhere on your smartphone or personal computer. The platform has changed, now there is no more monthly fee.

  • To be the best professional education community on the market.
    We teach people a new professional skill in a practical way and using methodology.
    We believe that everyone can learn a new skill, especially in the area of technology, using technology to their advantage.

  • We do not have a subscription, each course has its own price and is paid only once. You only pay once to take the course you choose.

  • ecode10.academy and plataforma.academy has different types of content:

    Academy Video: the videos are classes on specific topics in the software development market, where you will have access to complete classes on various technology topic such as programming languages, software solutions and more. In addition, every video will be accompanied by exclusive support material to improve your learning even more.

    Academy Book: where current software market technologies teach how to most influence in book format, in practice and step by step.

    Academy Code: exclusive codes about a certain technology, with tips and day-to-day examples. This is only shown and tested by those who work in companies of software.

    Academy Podcast: podcasts talking about technology, development, personal career and software. The entire community now you only pay once.

  • You can learn and be inspired anytime, anywhere, including your smartphone, tablet or personal computer. You can see your favorite classes from our apps.

  • In the video academy you will find classes and learning paths to level your knowledge, and in this way we offer the best content for you. Each trail is designed to be accessible to people with little or no experience as well as advanced learners. With the regular release of new classes, you will always have the opportunity to learn something new.

  • There is no longer a subscription on the platform. Now each course has its separate fee that needs to be paid only once.

  • Each course has its value separately, paid only once. Yes, there is no more monthly fee within the platform. The course you choose will be the one that will be made available to you.

  • At ecode10.academy we are committed to our students. Thus, we offer a 7-day guarantee, from the date of payment of the course, for withdrawal and full refund of the amount paid by the subscriber.

  • You will be able to report possible errors within the contact page of the logged in area, via email and through the chat communicator we have.

  • I use the CBL (Challenge Based Learning) methodology #Challenge based on learning. Can you imagine learning something new based on problem solving? How to solve problems through a software? How to solve problems through a website? How to solve problems through a desktop service? How to solve problems through an api?

  • Mauricio Junior is the dedicated instructor, former university professor. PhD student in Biotechnology. Master in Electrical Engineering focused on Mobile. Postgraduate in indexing in information systems. Postgraduate in higher education. More than 26 books written. More than 600 articles published. Mobile developer. Web developer. Desktop developer. API developer.

  • Payment is made by Paypal (secure and accepts any type of credit card). Paid in the amount only once and can be canceled according to your will without any kind of cost.

  • We have support via Mytalk.chage Chat support on our page. We have support via email. We have support through the social network Instagram and Facebook. And if that's the case, we have support through Zoom, Google Meeting, Teams or another voice and video connection platform.

  • Yes, we provide certification with QRCode.