• Kiến thức
  • Kỹ năng
  • Nghề nghiệp
  • Công cụ hỗ trợ
  • Luật doanh nghiệp

Video

Business Analysis

Đăng ký nhận tin

 

Ý kiến học viên

  • Nguyễn Thị Mai Bình

    Business Analyst
    Với một người ngoại đạo như mình thì những chuyên đề về "kỹ thuật" của BA hết sức quan trọng. Ví dụ như sử dụng các diagram để mô hình hóa requirement, viết User Story/Use case, v...v..
     
    Đến với khóa học Fundamental Business Analysis, mình đã được gặp thầy Lộc, một người người rất nhiệt tình và có tâm. Ngoài việc chia sẻ các kinh nghiệm thực tế trên lớp thì thầy còn dành thời gian ra để tư vấn, hỗ trợ, góp ý CV cho mình. Bên cạnh đó trung tâm và anh Phụng cũng hỗ trợ gửi CV, kết nối học viên tới mạng lưới các công ty đối tác chất lượng, điều này giúp học viên như mình tìm được công việc phù hợp nhất. Cảm ơn BAC.
    Xem chi tiết +
  • Phạm Quế

    Business Analyst

    Khoá học Product Design của BAC đã cung cấp cho tôi nhiều kiến thức và nền tảng vô cùng hữu ích. Giảng viên giảng dạy rất nhiệt tình, truyền cho chúng tôi ngọn lửa đam mê và nhiệt huyết trong ngành. Đồng thời chia sẻ các kiến thức và kỹ năng cần thiết trong bài giảng một cách dễ hiểu hơn. Số lượng học viên không quá nhiều nên chất lượng giảng giạy vô cùng tốt. Giảng viên sửa bài tập 1-1 nên bài giảng sẽ chuyên sâu hơn.

    Xem chi tiết +
  • Nguyễn Văn Long

    Chuyên viên về chế độ kế toán & Giải pháp nghiệp vụ Tài chính kế toán trong ứng dụng CNTT - Tập đoàn Điện lực Việt Nam (EVN)

    Tôi đã tham gia khóa Phân tích nghiệp vụ phần mềm cơ bản 3.0 tại BAC. Ở đây, tài liệu đào tạo cung cấp nhiều nội dung bổ ích và trình bày dễ hiểu. Giảng viên rất nhiệt tình, ngoài nội dung giảng dạy theo giáo trình còn chia sẻ nhiều kinh nghiệm thực tiễn, các câu hỏi của học viên đều được giải đáp ngay trên lớp và có minh họa từ các dự án trong thực tế. Sau tất cả, tôi cảm ơn BAC và Thầy giáo Thái Sơn.

    Xem chi tiết +
BAC TRAINING & CONSULTANCY VN BAC TRAINING & CONSULTANCY VN BAC TRAINING & CONSULTANCY VN
Language  
Điện thoại tư vấn0909 310 768
Facebook Youtube Linkedin

Nov 24, 2023

Sự khác biệt giữa TDD và BDD (Test Driven Development và Behavior Driven Development)

Nếu bạn có hứng thú với công việc phát triển phần mềm hay kiểm thử phần mềm, hẳn bạn đã từng nghe qua nhiều lần về Test Driven Development - TDD và Behavior Driven Development. Ở bài viết này, BAC sẽ cùng bạn tìm hiểu rõ ràng hơn về hai khái niệm này cũng như một số ưu nhược điểm của hai từ khóa trên, từ đó giúp bạn có cái nhìn sâu hơn về lĩnh vực phát triển phần mềm. 
 
Test Driven Development và Behavior Driven Development
 
Test Driven Development và Behavior Driven Development
1. TDD - Test Driven Development
Test Driven Development là sự kết hợp giữa phương pháp Phát triển kiểm thử trước (Test First Development) và phương pháp Điều chỉnh lại mã nguồn (Refactoring), là một phần cốt lõi của Extreme Program (XP).
 
Mục tiêu của TDD là giúp cho mã nguồn được đảm bảo chất lượng, gọn gàng, chạy được trơn tru (Bizflycloud.vn). TDD xuất hiện không phải để thay thế phương pháp kiểm thử truyền thống, mà là nhằm đảm bảo cho việc thực hiện Unit testing - kiểm thử đơn vị (là một phương pháp được sử dụng để kiểm thử logic thực hiện của các đơn vị khối code riêng lẻ) đạt được hiệu quả tối đa. Hiện TDD là phương pháp được sử dụng khá rộng rãi, ở những công ty có dùng phương pháp Agile - Mô hình phát triển linh hoạt. 
  • Lưu ý khi sử dụng phương pháp TDD: 
TDD được áp dụng theo các bước như sau:
  1. Chuẩn bị script cho kế hoạch kiểm thử phần mềm.
  2. Viết một test cho hàm và đảm bảo rằng test đó sẽ lỗi.
  3. Viết lại test đủ để test được pass.
  4. Tối ưu hóa đoạn code của hàm vừa viết, loại bỏ code trùng lặp nếu có, đảm bảo cho test vẫn được pass. 
  5. Lặp lại các bước trên cho những hàm sau.
Theo như Javier Saldana để sử dụng TDD cần nắm rõ 2 nguyên tắc sau:
  1. Chỉ viết đủ số lượng Unit test để fail. 
  2. Chỉ viết đủ số lượng Production code để test fail trở thành pass. 
Chu trình của TDD có thể được gói gọn bởi ba từ khóa : Red - Green - Refactor
 
Quy trình khi áp dụng TDD theo nguồn : Bizflycloud.vn
Quy trình khi áp dụng TDD theo nguồn : Bizflycloud.vn
 
Red/màu đỏ: Viết một test fail, và chạy thử xem nó gặp lỗi thế nào.
Green/màu xanh lá: Viết lại code ở mục Red để hoàn thành test.
Refactor: Tối ưu hóa code, kiến trúc test, loại trừ code bị trùng lặp (ibm.com). 
  • Ưu điểm của TDD:
  1. Tăng độ chính xác của code, giảm thiểu các vấn đề lỗi trùng lặp về sau.
  2. Tối ưu hóa quy trình kiểm thử, hạn chế việc lãng phí công sức ( khi chỉ sử dụng đủ unit test cần thiết và không cần kiểm tra thủ công ).
  3. Nắm được logic hoạt động của code.
  • Nhược điểm của TDD:
  1. Làm script kỳ công và tốn thời gian ( ảnh hưởng đến thời gian phát triển sản phẩm nói chung).
  2. Cần duy trì chạy thử nghiệm thường xuyên.
  3. Việc thực hiện kiểm thử cần trình độ, kinh nghiệm cao nếu không sẽ rất dễ lan man và sai bước thực hiện.
2. BDD - Behavior Driven Development
Behavior Driven Development
Behavior Driven Development
 
BDD được hiểu đơn giản là dạng mở rộng từ TDD, phát triển hành vi kết hợp với các kỹ thuật và nguyên tắc TDD chung. Tuy nhiên TDD thì tập trung vào việc kiểm thử code, quy trình kiến trúc nội bộ. Còn BDD tập trung vào việc kiểm thử hành vi, chức năng của phần mềm. Có thể nói TDD kiểm thử từng chi tiết code nhỏ trong phần mềm, còn BDD thì kiểm thử chức năng hành vi tổng quát. Thông thường, BDD được viết dưới dạng Plain Text Language gọi là Gherkin, sau đó lưu file dưới dạng Extension là .feature. 
  • Lưu ý khi sử dụng phương BDD:
Theo Maria Filina của Redwerk, BDD được áp dụng theo các bước như sau:
  1. Viết script trên Gherkin cho kế hoạch kiểm thử hành vi.
  2. Tiến hành chạy test theo script và kiểm tra các hoạt động của hệ thống phần mềm
  3. Xác định các tình huống, hành vi khi thực hiện theo script.
  4. Kiểm tra từng tình huống, hành vi để xác định nếu có lỗi sai.
  5. Xác định và điều chỉnh các chức năng, hành vi cần thiết để hoàn thành test.
  6. Tiến hành chạy test lại lần nữa, nếu có lỗi thì lặp lại các bước trên.
  • Ưu điểm của BDD:
  1. Cung cấp cái nhìn trực quan, tổng thể cho phần mềm.
  2. Do được thực hiện dưới dạng ngôn ngữ tối giản Plain Text Language cho nên tất cả mọi người dù có ngoài chuyên môn vẫn có thể hiểu được, khách hàng cũng có thể biết được nhà phát triển có đang đi đúng hướng yêu cầu hay không. Từ đó nhà phát triển biết được chính xác nhu cầu của khách hàng.
  3. Vì mang tính chất kiểm thử hành vi tổng quát phần mềm, thay vì kiểm thử các code phức tạp thì BDD có nhìn được khách quan về chức năng nào cần thiết và không cần thiết cho khách hàng.
  • Nhược điểm của BDD:
  1. Vì BDD được phát triển thêm qua TDD nên để thực hiện BDD thì bạn cũng cần có kiến thức tổng quát về phương pháp TDD để nắm được những quy tắc, khái niệm về kiểm thử phần mềm một cách khoa học nhất.
  2. Không có tính chất kiểm thử độc lập như TDD mà khi áp dụng BDD, cần có sự kết nối chặt chẽ giữa người phát triển phần mềm và người viết file .feature. Bởi nếu người kiểm thử hành vi không hiểu ý tưởng của người phát triển phần mềm thì sẽ không thể kiểm thử một cách khách quan, hợp lý.
  3. Việc dễ giao tiếp, hiểu yêu cầu của khách hàng là một ưu điểm, đồng thời cũng là một nhược điểm khiến quá trình kiểm thử hành vi có thể trở nên tốn thời gian, công sức nếu bạn phải thực hiện theo từng yêu cầu từ cần thiết đến không cần thiết của khách hàng. 
Bài viết trên hy vọng có thể giải đáp được những thắc mắc của bạn đọc về TDD cũng như BDD và ưu nhược điểm của cả hai phương pháp kiểm thử. Nếu bạn có quan tâm về những kiến thức liên quan đến mảng phát triển hay kiểm thử phần mềm. Hy vọng rằng những chia sẻ của BAC sẽ giúp ích cho bạn. Đừng quên đón đọc các bài viết mới nhất được qua các kiến thức bổ ích tại BAC's Blog.
 
Nguồn tham khảo: 

https://www.javiersaldana.com/articles/tech/refactoring-the-three-laws-of-tdd

 

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
 
 

CÁC KHOÁ HỌC BUSINESS ANALYST BACs.VN DÀNH CHO BẠN

Khoá học Online:

  • Chìa khoá thành công dành cho Business Analyst

  • Công cụ & Kỹ năng dành cho Business Analyst

Khoá học Offline:

Tại Tp.HCM:

  • Phân tích nghiệp vụ cơ bản 3.0

  • Phân tích nghiệp vụ nâng cao 3.0

  • Luyện thi chứng chỉ IIBA 3.0

Tại Hà Nội:

  • Hà Nội - Phân tích nghiệp vụ 3.0

  • Hà Nội - Phân tích nghiệp vụ nâng cao 3.0

Tham khảo lịch khai giảng TẤT CẢ các khóa học mới nhất

Ban biên tập nội dung - BAC

 

Click để đọc tiếp

  • Các Business Analyst cần trau dồi những công nghệ gì trong năm 2025
    Các Business Analyst cần trau dồi những công nghệ gì trong năm 2025

    Đối với sự phát triển nhanh chóng của công nghệ ngày này, việc không ngừng trau dồi và học hỏi là điều bắt buộc mà các Business Analyst phải làm để phát triển hơn trong lĩnh vực phân tích nghiệp vụ. Trong bài viết này, các bạn hãy cùng BAC tìm hiểu các xu hướng và các kỹ năng mới để làm hành trang trên sự nghiệp Business Analyst nhé!

  • Sự khác biệt giữa UAT và Usability Testing Business Analyst cần lưu ý
    Sự khác biệt giữa UAT và Usability Testing Business Analyst cần lưu ý

    UAT và Usability Testing thường được mang lên bàn cân để so sánh nhưng, đây là 2 phương pháp kiểm thử khác nhau. Trong khi Usability Testing đảm bảo sự hài lòng của người dùng thì UAT lại giúp các Business Analyst xác thực chức năng. Cả hai đều là một phần không thể thiếu để cung cấp một sản phẩm chất lượng cao. Hãy cùng BAC tìm hiểu ngay nhé!

  • API là gì? Khám phá cầu nối giữa các ứng dụng
    API là gì? Khám phá cầu nối giữa các ứng dụng

    API là nền tảng quan trọng kết nối các ứng dụng và dịch vụ trong kỷ nguyên số, tạo ra sự linh hoạt, hiệu quả và mở rộng cho các hệ thống. Bài viết sau giới thiệu API, cách hoạt động, các kiểu kiến trúc phổ biến cùng các công cụ kiểm thử API như Postman.

  • Meta AI là gì và cách sử dụng Meta AI hiệu quả 2025
    Meta AI là gì và cách sử dụng Meta AI hiệu quả 2025

    Meta AI là một công cụ Trí Tuệ Nhân Tạo do chính công ty mẹ của Facebook, Instagram, WhatsApp ra mắt. Đây được xem là một cuộc cách mạng sẽ làm thay đổi cách mà các doanh nghiệp và người dùng sử dụng mạng xã hội.

Bình luận

CÔNG TY CỔ PHẦN ĐÀO TẠO VÀ TƯ VẤN BAC

Mã số doanh nghiệp: 0312713743 do Sở Kế hoạch & Đầu tư TP.HCM cấp ngày 28/03/2014
Trụ sở chính: Lầu 6 - Tòa nhà Thiên Phước 1, 244 Cống Quỳnh, Phường Phạm Ngũ Lão, Quận 1, TP. HCM.
Chi nhánh: Lầu 11, Tòa nhà Hải Âu, Số 39B Trường Sơn, Quận Tân Bình, Tp.HCM.
Email: info@bacs.vn - Web: www.bacs.vn - Điện thoại: (84) 909 310 768

Đã thông báo bộ công thương
DMCA.com Protection Status

Copyright © 2014 BAC JSC.
All Rights Reserved.

BAC - Business Analyst Training Center