강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Practical Testing: Hướng dẫn kiểm thử thực tế

Thông qua khóa học này, bạn sẽ có thể viết mã kiểm thử gọn gàng và rõ ràng, đúng như cách phát triển trong thực tế. Đây là khóa học dành cho tất cả những ai tò mò muốn biết tại sao mã kiểm thử lại cần thiết và thế nào là mã kiểm thử tốt.

(4.9) 301 đánh giá

3,159 học viên

  • wbluke
테스팅
유닛테스트
junit5
스프링
mockito
BDD
tdd
jpa
Software Test
Mockito
Spring
JPA

Đá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.

  • Cách viết mã test vững chắc đảm bảo chất lượng code production

  • Cách viết test code trong dự án dựa trên Spring & JPA

  • Khung kiểm thử - JUnit5

  • Framework Mock - Mockito

  • 공구 tự động hóa tài liệu thông qua mã kiểm thử - Spring REST Docs

Mã kiểm tra chính xác cho bài thực hành của bạn
Tôi sẽ là bước đi đầu tiên của bạn!

Kiểm thử mã có thực sự quan trọng không? 🤔

Chắc chắn! Nếu không có mã kiểm thử, sẽ rất khó để đảm bảo mức độ chất lượng nhất định cho ứng dụng tôi xây dựng.
Sẽ mất bao nhiêu thời gian và tiền bạc nếu mọi người phải kiểm tra thủ công từng tính năng mới được thêm vào hoặc từng tính năng hiện có được sửa đổi?

Bạn có thể tạo ra những ứng dụng mạnh mẽ hơn nếu bạn có thể xác minh mã của mình thường xuyên thông qua mã kiểm tra tự động .
Sự tự tin mà tôi có được khi tái cấu trúc là một phần thưởng, vì các bài kiểm tra đảm bảo rằng mã tôi viết hoạt động như mong đợi!

Tôi biết chúng ta cần mã kiểm tra, nhưng
Tôi không biết phải viết thế nào cả. 😵‍💫

Ngay cả khi bạn biết tầm quan trọng của mã kiểm thử, mã kiểm thử khó đọc hoặc viết kém cũng dễ trở thành một mối lo ngại khác. Nếu khó biết bạn đang thử nghiệm cái gì hoặc nếu nó phức tạp và khó bảo trì, bạn sẽ thấy mình không đụng đến mã thử nghiệm theo thời gian.

Trong bài giảng này, chúng tôi sẽ hướng dẫn bạn cách viết mã kiểm tra rõ ràng, sạch sẽ và có thể phát triển theo những thay đổi trong mã sản xuất.


Trong bài giảng này 📖

Khung thử nghiệm

Chúng tôi sẽ giới thiệu JUnit5, một nền tảng kiểm thử dựa trên Java và Mockito, một nền tảng kiểm thử giả lập.
Chúng tôi sẽ thảo luận chi tiết, với các ví dụ cụ thể, về những gì cần xác minh và trong những tình huống nào thì nên sử dụng đối tượng giả.

Spring và JPA, kiểm thử dựa trên kiến ​​trúc phân lớp

Chúng tôi sẽ xây dựng một máy chủ API dựa trên kiến ​​trúc nhiều lớp và thảo luận về cách viết mã thử nghiệm cho từng lớp.
Chúng tôi sẽ đề cập đến công nghệ này cũng như những nguyên tắc cơ bản khi viết các bài kiểm tra sạch bằng bất kỳ ngôn ngữ nào hoặc sử dụng bất kỳ công nghệ nào.

Các chủ đề được đề cập trong các bài đánh giá mã thực tế

Tôi đã đưa vào bài giảng những câu hỏi và câu trả lời liên quan khác nhau mà tôi nhận được khi làm người đánh giá cho Khóa học Elegant Tech và Trại Elegant Tech Pro.
Thông qua các bài giảng, bạn có thể tự nhiên tiếp xúc với các chủ đề được đề cập và xem xét trong thực tế.

Tóm tắt từ khóa cho tăng trưởng một bước

Thay vì chỉ đề cập đến các chủ đề liên quan đến thử nghiệm, nó còn cung cấp nền tảng để phát triển hơn nữa với tư cách là một nhà phát triển phần mềm.
Vào cuối mỗi phần, chúng tôi cung cấp các từ khóa cốt lõi liên quan được trình bày trong bài giảng và các từ khóa để học chuyên sâu hơn, giúp bạn mở rộng tầm hiểu biết về phát triển.

Hướng dẫn chi tiết, biểu đồ và các dự án mẫu mà bạn có thể làm theo.

Chúng tôi trình bày các điểm chính và một số hình ảnh minh họa cho từng chủ đề để giúp bạn hiểu rõ hơn. Sau khi giải thích các khái niệm, chúng tôi sẽ tiến hành mã hóa thông qua một dự án ví dụ.
Nó được cấu trúc sao cho bạn có thể hiểu sâu hơn bằng cách làm theo mã từ đầu đến cuối.


Đối với những người này
Tôi khuyên bạn nên dùng🙌🏻


Chương trình giảng dạy
Hãy xem thử nhé ✨


Hỏi & Đáp 💬

H. Tôi chưa biết nhiều về Spring và JPA. Tôi vẫn có thể tham gia khóa học chứ?

Tôi sẽ cung cấp cho bạn bản tóm tắt ngắn gọn về những yêu cầu, nhưng bạn cần có hiểu biết cơ bản về Spring và JPA.
Tuy nhiên, nó không bao gồm nội dung quá phức tạp, vì vậy nếu bạn có kinh nghiệm tạo API bằng công nghệ này một hoặc hai lần thì nó sẽ đủ.
Tôi nghĩ sẽ là một ý tưởng hay nếu chúng ta cùng nhau học khi gặp phải điều gì đó mà bạn không biết :)

H. Tôi tò mò về môi trường thực tế!

Để chỉ cho bạn cách phát triển trong thực tế một cách sát nhất có thể, chúng tôi sử dụng giấy phép IntelliJ Ultimate theo mặc định.
Tôi đang sử dụng macOS, nhưng tôi đã áp dụng plugin phím tắt IntelliJ để những người sử dụng hệ điều hành khác tham khảo.

Spring Boot sử dụng phiên bản 2.7.7, nhưng bạn có thể tham gia khóa học bằng phiên bản cao hơn mà không gặp vấn đề gì. Để biết thêm thông tin, vui lòng tham khảo bài giảng mở [Giới thiệu về Dự án mẫu & Hướng dẫn môi trường phát triển]. :)

H. Tôi có thể chọn bất kỳ phần nào tôi muốn trước, bất kể thứ tự ra sao không?

Vì bài giảng này trình bày mã sản xuất và mã thử nghiệm phát triển dần dần trong một luồng lớn nên chúng tôi khuyên bạn nên học tuần tự từ các phần trước. :)

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

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

  • Những người thắc mắc vì sao cần mã kiểm thử

  • Những ai đã học Spring, JPA nhưng không biết cách viết code test

  • Tất cả những ai muốn viết code test sạch sẽ và rõ ràng

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

  • Ai đã từng phát triển API cơ bản với Spring và JPA dù chỉ một lần!

Xin chào
Đây là

5,508

Học viên

422

Đánh giá

378

Trả lời

4.9

Xếp hạng

5

Các khóa học

안녕하세요 ☺️
몰입을 즐기는 개발자, 박우빈입니다.

  • (현) 캐치테이블(와드) 소프트웨어 엔지니어

  • (전) 우아한형제들 소프트웨어 엔지니어

  • 우아한테크코스 3기, 4기 리뷰어 / 우아한테크캠프pro 1기 리뷰어 / 그 외 다양한 리뷰어 활동

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

Tất cả

48 bài giảng ∙ (12giờ 27phú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ả

301 đánh giá

4.9

301 đánh giá

  • khd16927573님의 프로필 이미지
    khd16927573

    Đánh giá 12

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Xin chào người hướng dẫn! Tôi là nhà phát triển phụ trợ mới đang ở tháng thứ 4. Tôi biết đến RestDocs vì tôi cần sử dụng nó tại nơi làm việc. Kết quả là tôi cảm thấy cần phải thử nghiệm. Chúng tôi đã có thể cùng nhau học cách viết mã kiểm tra. Tuy nhiên, điều tôi hài lòng nhất là bạn đã chia sẻ với tôi những phương pháp bạn sử dụng trong lĩnh vực của mình. Tôi rất biết ơn. Tất nhiên, tôi rất biết ơn vì bạn đã đưa ra câu trả lời cho những câu hỏi tiếp theo. Tôi đặc biệt thích thực tế là các điểm cuối DB có thể được phân biệt thông qua @Transactional(readOnly = true). Tôi rất biết ơn thông tin về cách phân biệt giữa requestDto và ResponseDto giữa Service và Controller. Để trả lời câu hỏi của tôi Hiệu suất ứng dụng quan trọng hơn khả năng đọc mã, Để đạt được điều này, tôi đã nghe bạn giải thích rằng khả năng đọc mã sẽ giảm là điều không thể tránh khỏi. Tôi thậm chí còn tái cấu trúc mã làm việc của mình! Ồ, và bạn cũng đã dạy tôi về ổi nên tôi đang sử dụng nó rất tốt haha. Đó là một bài giảng mà tôi thực sự đến để tìm hiểu RestDocs và nhận được nhiều lợi ích hơn nữa. Cảm ơn bạn rất nhiều một lần nữa cho bài giảng. thêm vào đó Cảm ơn bạn đã chia sẻ kinh nghiệm làm việc, Tôi thực sự nghĩ rằng sẽ là một ý tưởng hay nếu tạo một bài giảng dự án cho các chuyên gia thực sự. Nhiều bài giảng của Infrun tập trung vào sinh viên hoặc người tìm việc. Tất nhiên, sẽ có nhiều nhu cầu hơn cho những bộ phận đó, Tôi không nghĩ có bất kỳ bài giảng dựa trên dự án nào tập trung vào việc xem xét chuyên sâu cho những người trong lĩnh vực này. Ngoài việc học đơn giản, Nếu có một bài giảng cấp cao kết hợp kinh nghiệm thực địa, Ngoài ra, tôi nghĩ sẽ thật tuyệt nếu người hướng dẫn chụp một bức ảnh về nó. Đây là mong muốn cá nhân của tôi, nhưng cảm ơn bạn đã đọc ^^ Ngay cả khi nó không phải là một bài giảng dự án, Nếu một bài giảng khác của người hướng dẫn được đưa ra, tôi chắc chắn sẽ nghe nó. Cá nhân tôi nghĩ các nhà phát triển là những người thường xuyên lo lắng. Về mặt đó, thật tuyệt khi cảm thấy suy nghĩ của tôi phù hợp với người hướng dẫn (để trả lời câu hỏi), Đó là một vinh dự. Khi viết lại code test một cách nghiêm túc Khi xem lại bài giảng Tôi sẽ hỏi một câu hỏi khác. Cảm ơn

    • wbluke
      Giảng viên

      khd1692~! Không, đó là một bài đánh giá khóa học chân thành 🥲 Tôi đang tranh luận về việc có nên đưa RestDocs vào chương trình giảng dạy hay không, nhưng đó là một điều tốt mà tôi đã làm! Tôi đang suy nghĩ về nhiều điều khác nhau về bài giảng tiếp theo. hehe Cảm ơn bạn rất nhiều vì đánh giá chân thành của bạn và tôi sẽ hỗ trợ hành trình học tập trong tương lai của bạn! ☺️

  • spring0073님의 프로필 이미지
    spring0073

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    96% đã tham gia

    Xin chào, tôi là nhà phát triển với 6 năm kinh nghiệm. Tôi chỉ biết đại khái mã kiểm tra và không thực sự sử dụng nó nhiều trong thực tế. Kết luận của tôi là có nhiều nhà phát triển có kinh nghiệm nhưng không thể viết mã kiểm tra một cách trôi chảy. Thực ra tôi đã nghĩ nó thật “khó chịu” cho đến khi tôi nhìn thấy bài giảng này. Tôi là một trong những nhà phát triển đó. Nhưng sau khi xem bài giảng này, tôi đã thay đổi suy nghĩ của mình. Tôi là một nhà phát triển cấp cao và tôi là một nhà phát triển rất sợ mã kiểm tra, vì vậy tôi rất coi trọng cơ hội này. Tôi đã học nó tốt. Ngoài ra, JPA còn được giải thích một cách thực tế, nếu chưa nắm vững kiến ​​thức cơ bản, bạn có thể hỏi "Tại sao?" Bạn có thể thắc mắc tại sao họ lại làm như vậy, nhưng đây chính xác là khóa học mà tôi mong muốn. Cảm ơn

    • wbluke
      Giảng viên

      Nhà phát triển Choi Kang, cảm ơn bạn đã đánh giá chi tiết! “Suy nghĩ của tôi về mã kiểm tra đã thay đổi,” đó là lời khen tốt nhất đối với tôi. Tôi thực sự vui mừng vì bạn thấy nó hữu ích. Là một giảng viên, tôi thường có cảm giác rằng test code thật khó chịu, vậy nên hãy tự nhắc nhở bản thân tại sao chúng ta cần phải không ngừng suy nghĩ và viết test code chất lượng, đồng thời nỗ lực hết mình trong lĩnh vực này! Cảm ơn :)

  • langoustine님의 프로필 이미지
    langoustine

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Trước hết tôi xin cảm ơn bạn. Trong 12 giờ học, tôi đã có thời gian suy nghĩ hiệu quả về ý định và mục đích của việc viết bài kiểm tra. Ngoài ra, tôi có thể hiểu các khái niệm mơ hồ về thử nghiệm và được thúc đẩy để áp dụng tinh thần phát triển không khoan nhượng. Trong tương lai, tôi sẽ không tự mãn và sẽ áp dụng kiến ​​thức về test code mà tôi đã học được ở đây và ở đó và phát triển thành một nhà phát triển có thể viết bài kiểm tra bất kể công cụ nào!

    • wbluke
      Giảng viên

      Lango! Bài giảng trở nên khá dài khi tôi nói về nhiều thứ khác nhau do tính tham lam của mình, nhưng tôi rất vui vì sự chân thành của mình đã được truyền tải tốt. hehe Tôi hy vọng rằng chúng ta sẽ tiếp tục cùng nhau phát triển với tư cách là những nhà phát triển đáng tin cậy với mã thử nghiệm. Cảm ơn bạn đã để lại đánh giá! ☺️

  • mokdogdev님의 프로필 이미지
    mokdogdev

    Đánh giá 6

    Đánh giá trung bình 4.8

    5

    100% đã tham gia

    Cho đến nay, tôi đã viết bài kiểm tra một cách thiếu hiểu biết... Bằng cách nghe bài giảng này, tôi đã có thể xây dựng những kiến ​​thức cơ bản để tạo ra mã mạnh hơn. Tôi đề nghị bài giảng.

    • wbluke
      Giảng viên

      Nhà phát triển Mokdong! Tôi rất vui khi được tham gia vào quá trình hình thành các kỹ năng cơ bản. Viết bài kiểm tra đôi khi rất khó nhưng chúng ta hãy cùng nhau cố gắng nhé. hehe Cảm ơn bạn đã để lại đánh giá! ☺️

  • shseoul148113님의 프로필 이미지
    shseoul148113

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Đó là một bài giảng thực sự làm tôi ngứa ngáy về việc kiểm tra. Vì tôi đang học một mình và không có nơi nào để nhận phản hồi về mã kiểm tra nên tôi đã xem qua một số kho dự án từ các câu lạc bộ CNTT và các chương trình giáo dục và đang tự hỏi làm thế nào để viết mã kiểm tra, và bài giảng thực sự hữu ích. Bây giờ tôi đã biết được phương hướng và phương pháp ở một mức độ nào đó, vẫn còn một bước nữa để tìm hiểu và biến nó thành của riêng mình. Cảm ơn bạn vì bài giảng tuyệt vời. Tôi cảm thấy như bạn đã nỗ lực rất nhiều để chuẩn bị cho bài giảng. Cảm ơn

    • wbluke
      Giảng viên

      Jason! Cảm ơn bạn đã đánh giá mới mẻ! Đối với tôi, điều đó có ý nghĩa rất lớn khi biết rằng bạn đã giúp đỡ tôi rất nhiều. Chúng tôi sẽ hỗ trợ bạn trên hành trình học tập của bạn. :)

Ưu đãi có thời hạn

53.900 ₫

30%

1.610.616 ₫

Khóa học khác của wbluke

Hãy khám phá các khóa học khác của giảng viên!

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!