강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Spring Boot TDD - Nhập môn đến Thực hành Chuẩn xác

Phát triển ứng dụng Spring Boot nhanh hơn và mạnh mẽ hơn. Thông qua giải thích lý thuyết chính xác và các bài thực hành liên kết ở cấp độ thực tế, bạn sẽ tự nhiên nắm vững các phương pháp hiệu quả để sử dụng TDD trong phát triển ứng dụng HTTP API.

(5.0) 44 đánh giá

529 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • gyuwon2187
스프링프레임워크
스프링프레임워크
스프링부트
스프링부트
실습 중심
실습 중심
TDD
TDD
Spring Boot
Spring Boot
JUnit
JUnit
Architecture
Architecture
스프링프레임워크
스프링프레임워크
스프링부트
스프링부트
실습 중심
실습 중심
TDD
TDD
Spring Boot
Spring Boot
JUnit
JUnit
Architecture
Architecture

Đánh giá từ những học viên đầu tiên

Bạn sẽ nhận được điều này sau khi học.

  • Phát triển thực chiến ứng dụng Web API Spring Boot bằng TDD

  • Lý thuyết TDD chính xác và cốt lõi

  • Cách sử dụng TDD mà không cần công cụ và thiết kế phức tạp

  • 요구사항을 충족시킨 후 설계를 개선하는 방법

  • Refactoring an toàn từ thiết kế đơn giản sang kiến trúc có cấu trúc

  • Đính chính hiểu lầm về TDD

Ngoài việc triển khai mã
Sức mạnh tạo ra giá trị sản phẩm

Với sự phát triển mạnh mẽ của các công cụ lập trình AI, cụm từ "kỷ nguyên viết mã tự động" đã xuất hiện. Tuy nhiên, điều thực sự quan trọng không phải là bản thân mã nguồn. Mà chính là khả năng thiết kế và kiểm thử, cho phép xác minh yêu cầu chính xác và cải tiến hệ thống ổn định.

Phát triển theo hướng kiểm thử (TDD) là một công cụ mạnh mẽ giúp bạn cải thiện hệ thống một cách ổn định dựa trên kiểm thử tự động. Không chỉ kiểm tra mã nguồn, TDD còn liên tục xác minh xem phần mềm có "hoạt động bình thường" hay không và định hướng phát triển theo đúng hướng.

TDD không còn là thói quen phát triển "dễ làm" nữa.
Đây là vũ khí mạnh mẽ giúp nhận ra giá trị của sản phẩm vượt ra ngoài mã .

Nếu bạn có kinh nghiệm này, tôi khuyên bạn nên thử.

Tôi đã làm theo các ví dụ và bài giảng một cách chính xác, nhưng tôi không thực sự cảm thấy cần phải áp dụng TDD.

Bởi vì tôi chỉ học TDD thông qua các kỹ năng và công cụ ,
Tôi cảm thấy bị hạn chế trong các dự án thực tế của mình.

Khi tôi cố gắng giới thiệu TDD, tôi cảm thấy bối rối vì cơ sở mã không xem xét đến việc thử nghiệm .

Tôi đã từng vội vàng áp dụng TDD vào một dự án , nhưng tất cả các bài kiểm tra đều hỏng nên tôi đã bỏ cuộc.

Vì vậy, chúng tôi đã xây dựng văn hóa TDD trong nhiều tổ chức khác nhau.
Tôi đã đưa 10 năm kinh nghiệm làm CTO vào bài giảng.

Giải thích chính xác lý thuyết TDD.

Để sử dụng TDD hiệu quả, điều quan trọng là phải hiểu các khái niệm cốt lõi và nguyên tắc thiết kế của nó, chứ không chỉ tập trung vào các kỹ thuật viết bài kiểm tra đơn giản, dựa trên kỹ năng. Khóa học này cung cấp nền tảng lý thuyết vững chắc cho TDD và thiết kế bài kiểm tra, mang đến phương pháp học tập dựa trên khái niệm, giúp tránh những hiểu lầm và lỗi thường gặp trong thực tế.

Chỉ riêng Spring Boot là đủ cho TDD.

Ngay cả khi không có kiến trúc tổng thể, chỉ riêng Spring Boot cũng có thể giúp bạn triển khai TDD hiệu quả. Khóa học này sẽ hướng dẫn bạn qua các bước cốt lõi của TDD trong môi trường Spring Boot quen thuộc, cung cấp trải nghiệm thực tế để hiểu cách thức hoạt động của toàn bộ quy trình TDD.

Học TDD thông qua luồng mã thực tế.

Bạn sẽ tuân theo quy trình viết mã tương tự được sử dụng trong các ứng dụng thực tế. Từ việc hiểu các yêu cầu, phát triển các kịch bản thử nghiệm, triển khai các tính năng và quản lý thiết kế, bạn sẽ có được kinh nghiệm thực tế với quy trình làm việc TDD mà các nhà phát triển thực tế đã trải nghiệm. Bạn cũng sẽ có được kinh nghiệm gián tiếp về cộng tác AI bằng Copilot.

10 năm kinh nghiệm, từ một nhà phát triển nghiêm túc về TDD .

Trong hơn một thập kỷ, cá nhân tôi đã giới thiệu và thiết lập văn hóa TDD trong nhiều nhóm và tổ chức khác nhau. Từ cộng tác đến đánh giá mã và thiết kế, khóa học này cung cấp những hiểu biết thực tế và quy trình thiết thực để triển khai TDD trong các dự án thực tế.

Bạn có thể đạt được hiệu ứng này:

Thông qua khóa học này, học viên có thể đạt được nhiều hiệu quả khác nhau tùy theo tình huống cá nhân.

Đối với những người đang học phát triển phần mềm lần đầu tiên,

Những người chuẩn bị trở thành lập trình viên phát triển ứng dụng máy chủ web bằng Spring Boot có thể xây dựng TDD như một kỹ năng cơ bản ngay từ khi bắt đầu học phát triển phần mềm. Việc học TDD dựa trên thông tin chính xác trước khi tích lũy kinh nghiệm sẽ giúp bạn học dễ dàng hơn và ít gặp trở ngại hơn so với những người đã có kinh nghiệm trước đó.

Đối với những người muốn phát triển các ứng dụng ổn định trong thực tế,

Nếu bạn đang phát triển các ứng dụng máy chủ web Spring Boot trong lĩnh vực của mình nhưng lo lắng về lỗi phát sinh khi tạo tính năng mới, bạn có thể học các kỹ thuật để dần dần thêm mã vào hệ thống, đồng thời đảm bảo đáp ứng các yêu cầu bằng cách sử dụng các bài kiểm tra tự động. Những kỹ năng này sẽ giúp bạn phát triển thành một kỹ sư có giá trị hơn.

Những người đã học TDD nhưng gặp khó khăn khi áp dụng vào thực tế

Những người đã nghiên cứu về TDD và tự động hóa thử nghiệm nhưng gặp khó khăn khi áp dụng TDD khi phát triển ứng dụng máy chủ web Spring Boot trong thực tế có thể một lần nữa củng cố kiến thức liên quan đến TDD và tìm ra manh mối để giải quyết các vấn đề họ gặp phải trong thực tế bằng cách thực hành được chuẩn bị đầy đủ.

Nội dung bài giảng

Khóa học bắt đầu bằng phần giải thích lý thuyết về TDD, sau đó chuyển sang một loạt bài tập thực hành cho phép bạn làm quen với TDD một cách tự nhiên và trải nghiệm những cải tiến về kiến trúc, thay đổi yêu cầu và các trường hợp cộng tác một cách liên tục.

Lý thuyết cốt lõi của TDD

Cuốn sách này giải thích các lý thuyết cốt lõi cần thiết để sử dụng đúng phương pháp Phát triển Hướng Kiểm thử (TDD). Nó giải thích quy trình TDD do Kent Beck định nghĩa và các nguyên tắc thiết kế cơ bản cần thiết cho việc viết và quản lý kiểm thử hiệu quả. Nó cũng chứng minh tính hiệu quả của những lý thuyết này thông qua các bài tập thực hành, thực tế.

Phát triển ứng dụng máy chủ web bằng TDD

Học TDD ở cấp độ thực hành đòi hỏi nhiều hơn là những giải thích lý thuyết và ví dụ đơn giản. Trong khóa học này, chúng ta sẽ bắt đầu với một ứng dụng máy chủ web Spring Boot từ trạng thái đã khởi tạo và phát triển tất cả các tính năng của nó bằng TDD, tiếp cận một ứng dụng thực tế.

Viết bài kiểm tra hiệu quả

Bạn sẽ học cách viết mã kiểm thử dễ đọc, xác minh các yêu cầu một cách trung thực. Vì các bài kiểm thử phải xác minh chính xác các yêu cầu phần mềm và là một hình thức tài liệu yêu cầu, nên tính dễ đọc của mã kiểm thử là rất quan trọng. Chúng ta sẽ xem xét cách viết mã kiểm thử vừa đảm bảo chức năng vừa dễ đọc, và chúng ta sẽ tự viết mã đó bằng JUnit.

Cải tiến kiến trúc

Để cải thiện chất lượng thiết kế của các ứng dụng được phát triển bằng TDD, chúng tôi chuyển từ kiến trúc đơn giản sang kiến trúc có cấu trúc. Chúng tôi tách biệt các mô hình khỏi các thành phần khác và áp dụng mô hình Phân tách Trách nhiệm Truy vấn Lệnh (CQRS).

Giới thiệu người chia sẻ kiến thức

  • Chúng tôi phát triển phần mềm bằng nhiều công nghệ khác nhau trong nhiều lĩnh vực.

  • Tôi đã làm việc với tư cách là CTO tại một số công ty khởi nghiệp trong hơn 10 năm và đã thiết lập TDD trong một số nhóm.

  • Tôi đã chia sẻ kiến thức và kinh nghiệm của mình với tư cách là diễn giả tại nhiều sự kiện kỹ thuật về nhiều chủ đề khác nhau, bao gồm cả TDD.

  • Tôi đang chạy AutoParams , một thư viện mở rộng JUnit để tạo dữ liệu thử nghiệm.

Những điều cần lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Các video hướng dẫn này dành cho Windows. Tuy nhiên, người dùng macOS cũng có thể tham gia khóa học mà không gặp bất kỳ vấn đề nào.

  • Tôi đang sử dụng IntelliJ Community Edition. Bạn cũng có thể sử dụng IntelliJ Ultimate Edition.

Tài liệu học tập

  • Cung cấp hơn 500 trang slide.

  • Toàn bộ mã thực hành, bao gồm hơn 100 lần cam kết, đều có sẵn thông qua kho lưu trữ GitHub.

  • Bạn có thể thoải mái trao đổi với những người chia sẻ kiến thức và các học viên khác về TDD và nội dung khóa học trên Discord.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người muốn trang bị TDD làm kỹ năng cơ bản ngay từ giai đoạn đầu học phát triển phần mềm

  • Người muốn phát triển thành lập trình viên có khả năng đáp ứng yêu cầu vững vàng và cải thiện thiết kế

  • Người muốn sử dụng TDD trong thực tế phát triển ứng dụng máy chủ web Spring Boot

  • Người đã có kiến thức cơ bản về TDD nhưng gặp khó khăn khi áp dụng vào thực tế.

  • Người muốn làm rõ những hiểu lầm liên quan đến TDD.

Cần biết trước khi bắt đầu?

  • Hiểu ngữ pháp Java đủ để lập trình không gặp bất tiện

  • Kiến thức cơ bản về HTTP

  • Kiến thức cơ bản về cơ sở dữ liệu quan hệ

Xin chào
Đây là

1,344

Học viên

71

Đánh giá

23

Trả lời

5.0

Xếp hạng

3

Các khóa học

여러 스타트업에서 CTO로 활동하며 기술팀의 역량 성장을 이끌어왔습니다.

코딩만큼이나 기술 지식과 경험을 나누는 일에서도 큰 즐거움을 느낍니다.

Chương trình giảng dạy

Tất cả

109 bài giảng ∙ (14giờ 9phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

44 đánh giá

5.0

44 đánh giá

  • denia님의 프로필 이미지
    denia

    Đánh giá 6

    Đánh giá trung bình 4.8

    Đã chỉnh sửa

    5

    100% đã tham gia

    Tôi thực sự đã lắng nghe bài giảng rất kỹ. Đây là bài giảng hữu ích nhất trong số những bài tôi đã xem gần đây. Tôi thực sự cảm ơn vì đã chuẩn bị một bài giảng tâm huyết như vậy. Tôi cũng rất quan tâm đến kiểm thử, nên đã mua và học nhiều khóa học và sách liên quan đến kiểm thử như Unit Test, TDD,... nhưng lần nào cũng cảm thấy bế tắc về cách áp dụng những gì đã học vào dự án thực tế. Vì vậy, tôi đã nghĩ sẽ thật tốt nếu có một bài giảng chỉ cách áp dụng TDD hoặc kiểm thử vào dự án một cách đúng đắn, và thông qua bài giảng này, tôi đã nắm bắt được hướng đi tổng thể về TDD. Nhờ đó, giờ đây tôi cũng có thể thử áp dụng TDD một cách thận trọng vào dự án của mình. Và ở phần cuối, bài giảng liên quan đến legacy mà bạn đã đề cập ngắn gọn, tôi rất mong nó sẽ sớm ra mắt. Lời nhắn gửi đến những ai đang cân nhắc mua khóa học: Nếu bạn muốn thử áp dụng TDD nhưng đang băn khoăn không biết phải làm sao, thì bài giảng này chắc chắn sẽ giúp ích rất nhiều.

    • gyuwon2187
      Giảng viên

      Xin chúc mừng và cảm ơn bạn denia park đã hoàn thành khóa học. Một trong những động lực lớn để tôi làm khóa học này là vì tôi đã gặp nhiều người nói họ gặp khó khăn khi bắt đầu với TDD như bạn đã đề cập ở cuối, và tôi muốn giúp họ giải quyết vấn đề đó, nên đánh giá khóa học của bạn thực sự có ý nghĩa đặc biệt với tôi. Tôi hy vọng bạn có thể áp dụng TDD một cách ổn định vào các dự án thực tế để tạo ra sản phẩm tốt hơn và nhanh hơn. 🙏

  • jin3378s님의 프로필 이미지
    jin3378s

    Đánh giá 5

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    67% đã tham gia

    Khóa học này làm rõ rằng công việc của chúng ta không chỉ đơn giản là thiết kế và viết code, mà là xác định vấn đề của khách hàng trong thế giới thực và giải quyết chúng thông qua phần mềm. Đối với người chỉ học về server, API, database, dù có nói "hãy phát triển hướng đến khách hàng" thì cũng khó mà hiểu được đó là gì, hoặc có người nói rằng sử dụng kiến trúc "Clean Architecture" hay "Ports and Adapters" thì dễ xử lý các yêu cầu thay đổi hơn. Dù đã học hành vất vả và áp dụng các mẫu thiết kế, cũng khó cảm nhận được mình đang phát triển hướng đến khách hàng. Khóa học này cung cấp hướng dẫn rõ ràng cho những người như vậy. Nội dung khóa học chỉ cho cách sắp xếp tốt các yêu cầu của khách hàng và viết code đáp ứng chúng. Và trong quá trình này, nó cho thấy "Phát triển dựa trên kiểm thử" (Test Driven Development) hiệu quả đến mức nào. Nếu theo dõi khóa học đến cùng và lắng nghe kỹ mục đích của nó, dấu hỏi về TDD của bạn sẽ biến thành dấu chấm than.

    • gyuwon2187
      Giảng viên

      Tôi thực sự cảm ơn bạn 뜨어어 vì đã tham gia khóa học và để lại đánh giá tốt. Tôi cảm thấy thật may mắn vì những suy nghĩ mà tôi muốn truyền tải đã được bạn 뜨어어 tiếp nhận tốt. Tôi hy vọng những nội dung đã học sẽ có tác động tích cực khi bạn phát triển thực tế và cũng hữu ích cho người dùng!

  • gggorock님의 프로필 이미지
    gggorock

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi đã có thể tiếp thu TDD thông qua thực hành code, theo hướng tập trung vào giá trị thực tế của phần mềm mà không bị lý thuyết hóa, đồng thời có thể nâng cao năng suất. Tôi cảm nhận được rằng các ví dụ trong bài giảng vừa rất thực tế, vừa được chọn lọc và sắp xếp tỉ mỉ để bao quát kiến thức cần thiết. Đối với những người có thói quen coding như tôi, tức là làm đại rồi tốn thời gian debug, thất bại và phải làm lại từ đầu, hoặc viết test cẩu thả làm giảm năng suất, tôi nghĩ rằng bài giảng này hoàn toàn có thể là giải pháp phù hợp.

    • gyuwon2187
      Giảng viên

      꼬꼬록님, xin chúc mừng đã nỗ lực hoàn thành khóa học không ngắn này. 👍 Cảm ơn bạn về đánh giá tốt. Hy vọng bạn sẽ áp dụng hiệu quả nội dung khóa học vào thực tế công việc!

  • junhyogi9546님의 프로필 이미지
    junhyogi9546

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Đây là buổi học giải đáp những thắc mắc thường gặp về phương pháp luận, cách áp dụng TDD. Đây là buổi học truyền tải tốt triết lý của giảng viên về việc TDD mang lại lợi ích gì cho chúng ta, và ý nghĩa của nó từ góc độ giải quyết vấn đề.

    • gyuwon2187
      Giảng viên

      Cảm ơn 준혁님 về bài đánh giá ạ. Rất vui vì không chỉ kỹ thuật mà cả suy nghĩ của tôi cũng được truyền tải ạ. Nếu có nội dung nào khó hiểu thì đừng ngần ngại đặt câu hỏi trên Inflearn hoặc Discord nhé!

  • apfhdzi118666님의 프로필 이미지
    apfhdzi118666

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    27% đã tham gia

    Vượt ra khỏi việc học phương pháp phát triển gọi là TDD, nó còn chứa đựng những câu chuyện quan trọng như nhìn nhận từ góc độ nào khi tiến hành thiết kế và triển khai phần mềm, hay coi trọng những khía cạnh nào. Ngoài ra, mặc dù độ khó của phần thực hành có thể được coi là khá dễ, tôi cảm thấy rằng bài giảng đã chuyển đổi các vấn đề hoặc hiện tượng phức tạp có thể phát sinh trong quá trình phát triển thực tế thành một hình thức dễ hiểu và đơn giản hơn để đưa vào bài giảng. Không chỉ dành cho người mới bắt đầu với TDD, tôi thực sự khuyên những người muốn trở thành kỹ sư phần mềm hoặc muốn phát triển từ một góc nhìn mới vượt ra ngoài quán tính hiện tại nên tham gia.

    • gyuwon2187
      Giảng viên

      Cảm ơn những đánh giá và đề xuất tốt. Mong rằng nội dung phần sau của bài giảng cũng sẽ giúp ích cho bạn!

3.214.502 ₫

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!