Tại sao cần một quy trình QA (đảm bảo chất lượng) cho dữ liệu

Chia sẻ kiến thức 02/01/2022

Dữ liệu là cực kỳ quan trọng và không thể thiếu đối với một ngành bất kỳ vì doanh nghiệp sẽ đưa ra những quyết định dựa trên những thông tin tổng hợp thu thập được. Và để đảm bảo chất lượng dữ liệu thì chúng ta cần có một quy trình QA để kiểm tra cách dữ liệu hoạt động, xem xét chất lượng và đo lường.

>> Nhập môn kỹ thuật phần mềm

>> Đảm bảo chất lượng và kiểm thử phần mềm

Kỹ thuật dữ liệu và phân tích dữ liệu (Data engineering and analysis)

Chúng ta cần biết dữ liệu được thiết kế như thế nào và điều gì khiến nó khác với các kiểu lập trình khác, ví dụ như phát triển phần mềm. Dữ liệu là một số loại thông tin tổng hợp được lưu trữ trong một công cụ kinh doanh. Công cụ đó có thể là bảng tính hoặc cơ sở dữ liệu, tùy thuộc doanh nghiệp. Và quy trình QA sẽ bắt đầu ở nơi dữ liệu được tạo ra ban đầu.

Dữ liệu thô là một nguồn không được sử dụng nhiều, lúc này cần có kỹ thuật dữ liệu (data engineering). Quá trình data engineering sẽ lấy dữ liệu và làm cho nó trở nên hữu ích khi trích xuất, chuyển đổi, tải hoặc ETL. Sau khi dữ liệu được trích xuất từ các nguồn, có thể được chuyển đổi theo nhu cầu của doanh nghiệp và được tải vào các công cụ phân tích hoạt động kinh doanh. Tại đây các nhà phân tích kinh doanh và tài chính có thể sử dụng dữ liệu để tạo báo cáo, biểu đồ và các chỉ số khác để cung cấp thông tin cho doanh nghiệp, dựa vào đó đưa ra các quyết định kinh doanh.

Chuyển đổi là bước quan trọng nhất trong quá trình data engineering. Một doanh nghiệp có thể có nhiều hệ thống cũ và mới hoạt động song song với nhau, quá trình chuyển đổi sẽ giúp lấy dữ liệu từ các hệ thống khác nhau và tập hợp chúng lại với nhau cho ra nguồn dữ liệu tổng hợp cần thiết. 

Quy trình QA dữ liệu
Quy trình QA dữ liệu.

Đo lường chất lượng dữ liệu

Sau khi đã có ý tưởng về dữ liệu và kỹ thuật dữ liệu, chúng ta không thể xác định chất lượng dữ liệu nếu không có một số loại điểm chuẩn để đo lường. Trong quy trình QA thì điểm chuẩn là một loạt các chỉ số có thể báo cáo. Vậy làm thế nào để chúng ta có thể đo lường và xác thực một sản phẩm trong thế giới dữ liệu?

Có 6 chỉ số đo lường được sử dụng trong quy trình QA của bất kỳ tập dữ liệu nhất định nào, bao gồm: tính nhất quán, độ chính xác, tính hợp lệ, tính duy nhất, tính đầy đủ, tính kịp thời.

Đây là một chuỗi được thống nhất rộng rãi, giúp các kỹ sư chất lượng dữ liệu và kỹ sư dữ liệu tạo ra các chỉ số xác thực có thể đo lường và cải thiện được. Đối với bất kỳ tập dữ liệu nhất định nào, thì kiểm tra và xác thực dữ liệu đều phải bao gồm 6 khía cạnh này.

Đo lường chất lượng dữ liệu trong quy trình QA
Đo lường chất lượng dữ liệu trong quy trình QA.

Kiểm tra dữ liệu trong quy trình kỹ thuật

Chúng ta đã biết về 6 khía cạnh để đo lường chất lượng dữ liệu, cách kỹ thuật dữ liệu hoạt động và tầm quan trọng của việc tập hợp dữ liệu lại với nhau để tạo ra kế hoạch cho quy trình QA. Kỹ sư chất lượng dữ liệu là trung tâm của quá trình kỹ thuật dữ liệu, họ hỗ trợ công việc kỹ thuật của các kỹ sư để cung cấp tập dữ liệu theo yêu cầu, và làm việc với các nhà phân tích kinh doanh để xác thực dữ liệu đó.

Các loại kiểm tra QA dữ liệu

Trong thế giới kiểm thử phần mềm, có một số loại hình kiểm tra chất lượng hữu ích phổ biến để xác định lỗi, xác nhận các thành phần hoạt động và điều tra hành vi mong muốn của phần mềm. Các loại hình kiểm tra này vẫn cực kỳ hữu ích trong thế giới kiểm thử dữ liệu, vì vậy nếu chúng ta đã có kiến thức về kiểm thử phần mềm thì có thể áp dụng tương tự với kiểm thử dữ liệu. 

Bao gồm các loại phổ biến dưới đây và không giới hạn nhiều loại khác:

  • Các bài kiểm tra đơn vị (Unit tests): Các bài test bite-sized được nhúng trong code mô hình dữ liệu, và được sử dụng để xác định các điểm ngắt nhỏ cần thiết bên trong các khối code cho chức năng cơ bản.
  • Các bài kiểm tra tích hợp (Integration tests): Đây là các bài test tìm kiếm các phần tổng hợp hoạt động của một chương trình hoặc đường dẫn dữ liệu (data pipeline).
  • Kiểm tra khói (Smoke tests): Bài test nhanh được sử dụng để kiểm tra hiệu quả của các bộ phận quan trọng và phổ biến nhất của data pipeline, xem chúng có bị hỏng hóc hay không.
  • Kiểm tra hồi quy (Regression tests): Một loạt các bài test được sử dụng để kiểm tra các hoạt động cốt lõi của một chương trình, được gọi là “regression”.
  • Kiểm tra tính năng (Feature tests): Kiểm tra bất kỳ thành phần mới nào (“features”) được thêm vào trên các hoạt động hiện đã phát hành của chương trình.

Đây là những loại kiểm thử phổ biến, hữu ích mà nhiều nhóm phát triển phần mềm sử dụng thường xuyên, chúng ta có thể áp dụng chúng để kiểm tra dữ liệu.

Kiểm tra dữ liệu trong quy trình kỹ thuật
Kiểm tra dữ liệu trong quy trình kỹ thuật.

Unit testing được xem như vũ khí bí mật của xác thực dữ liệu

Trong quy trình QA, kỹ thuật QA dữ liệu sẽ tăng thêm giá trị cho công việc của kỹ sư và cung cấp phản hồi hữu ích. Kiểm tra dữ liệu luôn bắt đầu bằng việc kiểm tra thủ công, đặc biệt là trong các doanh nghiệp có cơ sở dữ liệu và kho dữ liệu kế thừa. Điều này dẫn đến sẽ có quá nhiều, có thể lên đến vài trăm tập lệnh SQL trên máy tính xách tay của kỹ sư QA dữ liệu. Vậy để giúp việc kiểm thử dữ liệu được hoàn toàn tự động hóa thì cần đến các bài kiểm tra và xác nhận theo từng đơn vị.

Một trong những vai trò lớn nhất của kỹ sư QA dữ liệu là truyền bá các bài kiểm tra theo đơn vị được tích hợp trong data pipeline. Khi được kỹ sư dữ liệu triển khai trong quá trình phát triển chuyển đổi dữ liệu, các bài kiểm tra đơn vị có thể phát hiện lỗi dữ liệu, thậm chí trước khi các kỹ sư QA dữ liệu xem xét tập dữ liệu.

Tự động hóa (Automation test)

Test tự động là một nguyên tắc quan trọng trong thế giới chất lượng dữ liệu và việc thực hiện 6 khía cạnh của chất lượng dữ liệu. Khi chúng ta dùng nhiều cách để kiểm tra chất lượng dữ liệu trong data pipeline, nếu có càng nhiều thử nghiệm tự động thì lượng công việc của các kỹ sư dữ liệu càng được giảm thiểu.

Kết luận

Quy trình QA là đang phát triển và thay đổi hàng ngày. Không có quá nhiều tiêu chuẩn chất lượng dữ liệu được chấp nhận rộng rãi và ngay cả 6 khía cạnh đo lường chất lượng dữ liệu cũng đang được tranh luận. Các lĩnh vực khoa học dữ liệu như máy học và trí tuệ nhân tạo (AI) đang ngày càng phát triển và tạo ra những cách thức mới để xác nhận tính chính xác, nhất quán, đầy đủ của dữ liệu và hơn thế nữa.

Bài gốc: https://stackoverflow.blog/2021/09/13/why-your-data-needs-a-qa-process/

Phạm Thị Thanh Ngọc (theo Stackoverflow)

Bình luận (
0
)

Bài liên quan

Tổng quan về network scanning

Tội phạm mạng luôn tìm kiếm network (mạng) tiếp theo để tấn công. Network scanning (quét mạng) là một phương pháp rất hữu ích để bảo vệ network của bạn.

5 môn học trong chương trình Blockchain Developer tại FUNiX có gì thú vị?

Tại đây, anh Nguyễn Hải Nam – Giám đốc Trung tâm Công nghệ Chuyên sâu xSeries đã có những chia sẻ cụ thể về chương trình đào tạo Blockchain Developer của FUNiX. Theo đó, khi tham gia chương trình này, các học...

Bí kíp giúp mẹ đồng hành cùng con gái học lập trình online

Có mặt trong buổi Ngày hội phụ huynh của FUNiX, chị Vũ Thị Vân - phụ huynh nữ sinh Nguyễn Vũ Khánh Linh của FUNiX đã tiết lộ những bí kíp giúp người mẹ đồng hành cùng con gái học...

Kinh nghiệm đồng hành cùng con học trực tuyến của phụ huynh FUNiX

Trong sự kiện “Ngày phụ huynh” đầu tiên của FUNiX diễn ra tối 15/1, ba vị phụ huynh FUNiX FUNiX đã có cuộc giao lưu trực tuyến thú vị, chia sẻ những kinh nghiệm đồng hành cùng con trong việc...

Những phụ huynh có con “mê tít” chương trình công nghệ thông tin online

Con khẳng định: “Không thấy học công nghệ thông tin online ở FUNiX có bất cứ nhược điểm gì. Cháu hài lòng khi không phải hít bụi để đi học thêm, không phải tham gia các lớp học thêm, học...

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

yêu cầu gọi lại