
Bài kiểm tra mùa xuân hoàn thành trong một ngày với Juju
jyujyu
Bạn đang do dự về việc viết mã kiểm tra? Trải nghiệm từ A đến Z về thử nghiệm môi trường Spring qua bài giảng này!
Cơ bản
Software Test, Mockito, JUnit
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.
558 học viên
Độ khó Cơ bản
Thời gian Không giới hạn
Đánh giá từ những học viên đầu tiên
5.0
denia park
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.
5.0
뜨어어
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.
5.0
꼬꼬록
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.
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
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ã .
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.
Để 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ế.
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.
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.
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ế.
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.
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 đó.
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 đã 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 đủ.
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).
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.
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.
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.
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ệ
1,606
Học viên
90
Đánh giá
24
Trả lời
4.9
Xếp hạng
3
Các khóa học
Tôi đã từng đảm nhiệm vị trí CTO tại nhiều startup khác nhau và dẫn dắt sự phát triển năng lực của các đội ngũ kỹ thuật.
Tôi cảm thấy niềm vui lớn trong việc chia sẻ kiến thức và kinh nghiệm công nghệ cũng giống như khi lập trình vậy.
LinkedIn: https://www.linkedin.com/in/gyuwonyi/
Tất cả
109 bài giảng ∙ (14giờ 9phút)
Tài liệu khóa học:
Tất cả
53 đánh giá
5.0
53 đánh giá
Đánh giá 6
∙
Đánh giá trung bình 4.8
Đã chỉnh sửa
5
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.
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. 🙏
Đánh giá 1
∙
Đánh giá trung bình 5.0
5
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.
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!
Đánh giá 1
∙
Đánh giá trung bình 5.0
5
Đâ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 đề.
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é!
Đánh giá 8
∙
Đánh giá trung bình 5.0
5
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.
꼬꼬록님, 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!
Đánh giá 5
∙
Đánh giá trung bình 5.0
Đã chỉnh sửa
5
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.
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!
Khám phá các khóa học khác trong cùng lĩnh vực!