Viblo CTF
+1

Big Data/Dữ liệu lớn: Nhìn từ góc độ thử nghiệm

1. Khái niệm big data:

  • Dữ liệu lớn là một thuật ngữ được sử dụng cho số lượng dữ liệu có cấu trúc hoặc không có cấu trúc có tiềm năng đưa ra một số thông tin. Khi nói đến dữ liệu lớn không phải nói về một số lượng dữ liệu cụ thể mà nói chung là số lượng petabytes và exabyte. Số lượng lớn dữ liệu không thể được tích hợp một cách dễ dàng. Dữ liệu lớn là dữ liệu luân chuyển nhanh rất hữu ích trong việc phát triển các doanh nghiệp đang phát triển bằng cách hiểu khách hàng và sản phẩm tốt hơn.
  • Big Data là tài sản thông tin, mà những thông tin này có khối lượng dữ liệu lớn, tốc độ cao và dữ liệu đa dạng, đòi hỏi phải có công nghệ mới để xử lý hiệu quả nhằm đưa ra được các quyết định hiệu quả, khám phá được các yếu tố ẩn sâu trong dữ liệu và tối ưu hóa được quá trình xử lý dữ liệu
  • Big data có nhiều tính năng khác nhau trong đó có 3 tính năng quan trọng là:
    • Số lượng dữ liệu lớn
    • Các loại dữ liệu khác nhau
    • Tốc độ dữ liệu có thể được xử lý
  • Những nguồn chính tạo ra Big Data:
    • Hộp đen dữ liệu
    • Dữ liệu từ các kênh truyền thông xã hội: Đây là dữ liệu được tạo ra và phát triển bởi như các trang web truyền thông xã hội như Twitter, Facebook, Instagram, Pinterest và Google+
    • Dữ liệu giao dịch chứng khoán: Đây là số liệu từ thị trường chứng khoán đối với quyết định mua và bán cổ phiếu được thực hiện bởi khách hàng.
    • Dữ liệu điện lực: đây là dữ liệu tạo ra bởi điện lực. Nó bao gồm các thông tin cụ thể từ các điểm giao nhau của các nút thông tin sử dụng.
    • Dữ liệu giao thông: dữ liệu này bao gồm sức chưa và các mẫu phương tiện giao thông, độ sẵn sàng và khoảng cách đã đi được của từng phương tiện giao thông.
    • Dữ liệu các thiết bị tìm kiếm: đây là dữ liệu được tạo ra từ các công cụ tìm kiếm và đây cũng là nguồn dữ liệu lớn nhất của Big Data. Công cụ tìm kiếm có cơ sở dữ liệu cực kỳ rộng lớn, nơi họ có thể tìm thấy dữ liệu họ cần.

2. Tại sao thử nghiệm kỹ lưỡng lại quan trọng đối với các ứng dụng dữ liệu lớn?

Có một số thách thức trong ứng dụng dữ liệu lớn khiến cho các ứng dụng dữ liệu lớn phải được kiểm tra kỹ lưỡng. Cho dù đó là một ứng dụng kho dữ liệu hay một ứng dụng dữ liệu lớn thì từ quan điểm thử nghiệm điều quan trọng nhất là cho người kiểm tra dữ liệu

  • Tích hợp thông tin trực tiếp:
    • Vì thông tin được lấy ra từ các nguồn khác nhau, cần phải tạo điều kiện tích hợp thông tin trực tiếp.
    • Thông qua kiểm tra cuối cùng của các nguồn dữ liệu và các nhà tích hợp liên tục sạch sẽ và đáng tin cậy dữ liệu có thể được đảm bảo
  • Thách thức khả năng mở rộng thời gian thực:
    • Lỗi trong thiết kế của các ứng dụng dữ liệu lớn có thể dẫn đến những vấn đề lớn. Vì vậy các kỹ thuật kiểm tra như lấy mẫu dữ liệu, kỹ thuật lập danh mục, theo đó nên kiểm tra hiệu năng để giải quyết các vấn đề về khả năng mở rộng của ứng dụng
  • Giải pháp thu thập dữ liệu tức thì:
    • Khả năng dự đoán và khả năng đưa ra quyết định tức thời đã buộc các ứng dụng dữ liệu lớn phải áp dụng giải pháp tức thời. Nó tạo ra tác động kinh doanh đáng chú ý trong bộ dữ liệu lớn
  • Triển khai dữ liệu tức thời:
    • Cần có nhu cầu triển khai ngay các giải pháp để đáp ứng nhu cầu thay đổi của doanh nghiệp.
    • Các ứng dụng phải được kiểm tra kỹ lưỡng và chứng nhận để triển khai trực tiếp cho sự đảm bảo vì nó là rất quan trọng cho mỗi hoạt động.

3. Thử nghiệm các ứng dụng dữ liệu lớn:

Về cơ bản, việc xác nhận dữ liệu trong Các ứng dụng dữ liệu lớn liên quan đến xác nhận dữ liệu dựa trên yêu cầu kinh doanh. Có nghĩa rằng việc thử nghiệm các ứng dụng kho dữ liệu và các ứng dụng dữ liệu lớn là như nhau là hoàn toàn sai. Hãy hiểu các cách thử nghiệm các ứng dụng dữ liệu lớn

  • Dữ liệu trong các ứng dụng dữ liệu lớn:
    • Khối lượng dữ liệu, đa dạng dữ liệu, vận tốc dữ liệu và giá trị dữ liệu giữa Kho dữ liệu và các ứng dụng dữ liệu lớn là khác nhau. Trong các ứng dụng kho dữ liệu thì dữ liệu có thể có khối lượng "gigabyte" trong khi trong trường hợp các ứng dụng dữ liệu lớn, dữ liệu có thể mở rộng lên đến các byte chốt.
    • Sự đa dạng dữ liệu trong các ứng dụng kho dữ liệu chỉ là "dữ liệu được cấu trúc". Các ứng dụng kho dữ liệu có thể lưu trữ và xử lý dữ liệu có cấu trúc. Trong khi các ứng dụng dữ liệu lớn không có ràng buộc về lưu trữ và quá trình loại dữ liệu. Các ứng dụng kho dữ liệu xử lý dữ liệu thông qua xử lý hàng loạt trong khi trong các ứng dụng dữ liệu lớn thì dữ liệu cũng có thể được xử lý thông qua luồng dữ liệu
    • Trong các ứng dụng kho dữ liệu, người kiểm tra chỉ cần làm việc trên dữ liệu có cấu trúc trong khi trong trường hợp các ứng dụng dữ liệu lớn thì người kiểm tra có thể cần đào sâu vào dữ liệu không có cấu trúc của dữ liệu bán cấu trúc
    • Từ quan điểm thử nghiệm, người kiểm tra cần phải làm việc trên dữ liệu với việc thay đổi giản đồ trong các ứng dụng dữ liệu lớn. Kiểm thử viên phải làm việc với bên kinh doanh và phát triển(dev) để hiểu làm thế nào lấy được cấu trúc từ các nguồn dữ liệu nhất định.
    • Trong các ứng dụng kho dữ liệu, phương pháp thử nghiệm được sử dụng là "Lấy mẫu" khi có phương pháp xác minh đầy đủ. Trong khi trong trường hợp ứng dụng Dữ liệu lớn, lý thuyết này không hoạt động. Trong những bộ dữ liệu lớn như vậy, cách tốt nhất để kiểm tra là thông qua nghiên cứu và phát triển. Đây là một nhiệm vụ rất sáng tạo và đầy thách thức đối với người kiểm tra
  • Cơ sở hạ tầng của các ứng dụng dữ liệu lớn:
    • Kho lưu trữ ứng dụng kho dữ liệu dựa trên hệ thống quản lý cơ sở dữ liệu liên quan trong khi lưu trữ các ứng dụng dữ liệu lớn dựa trên Hệ thống tệp. Các ứng dụng dữ liệu lớn có khả năng lưu trữ dữ liệu trong nhiều nhóm
    • Các ứng dụng này sử dụng Apache Hadoop mà không có bất kỳ hạn chế nào nếu lưu trữ dữ liệu. Hệ thống tệp phân phối hadoop là một hệ thống lưu trữ chia sẻ có thể được phân tích thông qua công nghệ MapReduce. Với hệ thống này khách hàng có thể lưu trữ khối lượng lớn dữ liệu và xử lý những dữ liệu đó bằng cách sử dụng các truy vấn trên bộ dữ liệu lớn và thu được kết quả trong một khoảng thời gian ngắn mà không giới hạn về số lượng dữ liệu có thể lấy ra. Điều này đồng nghĩa với việc đối với kiểm thử viên khi có yêu cầu về gia tăng số lượng thì việc kiểm tra cũng dễ dàng
  • Kiểm tra các ứng dụng sử dụng các công cụ xác nhận

4. Chiến lược kiểm thử và các bước thử nghiệm cho các ứng dụng dữ liệu lớn

Trong các ứng dụng Big Data, người kiểm tra xác minh việc xử lý số lượng dữ liệu lớn bằng cách sử dụng các phương pháp phân cụm và các thành phần khác. Việc kiểm tra dữ liệu lớn đòi hỏi người kiểm tra phải rất khéo léo khi quá trình xử lý dữ liệu rất nhanh. Chủ yếu là nhóm QA thực hiện kiểm tra chức năng và hiệu suất đối với các ứng dụng dữ liệu lớn. Điều quan trọng là phải kiểm tra chất lượng dữ liệu trước khi thử nghiệm ứng dụng. Kiểm tra chất lượng dữ liệu thường được coi là một phần của kiểm tra cơ sở dữ liệu. Nó bao gồm kiểm tra tính nhất quán, tính hợp lệ, độ chính xác của dữ liệu...

  • Xác nhận dữ liệu:
    • Đây là bước đầu tiên của thử nghiệm ứng dụng dữ liệu lớn, còn được gọi là thử nghiệm trước khi bắt đầu. Bước này bao gồm kiểm tra xem liệu dữ liệu chính xác từ nhiều nguồn khác nhau như Media blogs, cơ sở dữ liệu, được kéo vào hệ thống hay không
  • Xác nhận Logic Doanh nghiệp: Trong bước này tính đúng đắn của quá trình được kiểm tra, dữ liệu được xác nhận và việc tổng hợp và phân tách dữ liệu được kiểm tra
  • Xác nhận đầu ra: Đây là giai đoạn cuối cùng của quá trình xử lý dữ liệu lớn. Các tệp dữ liệu đầu ra đã được tạo ra đã sẵn sàng để chuyển đến kho dữ liệu hoặc bất kỳ hệ thống nào khác. Trong bước này chúng tôi kiểm tra, tính toàn vẹn dữ liệu và dữ liệu được nạp thành công vào hệ thống đích, kiểm tra rằng không có dữ liệu tham nhũng bằng cách so sánh dữ liệu đích với hệ thống tệp HDFS

5. Các bước để kiểm tra hiệu suất của các ứng dụng dữ liệu lớn

Thử nghiệm hiệu suất của các ứng dụng dữ liệu lớn được thực hiện như sau:

  • Một nhóm dữ liệu lớn được chuẩn bị để thực hiện việc kiểm tra.
  • Các khối lượng công việc tương ứng được xác định
  • Tạo script
  • Thực hiện các bài kiểm tra và quan sát kết quả. Nếu kết quả không được đáp ứng thì cấu hình lại và thực hiện các phép thử.
  • Có nhiều tham số kiểm tra hiệu suất trong ứng dụng dữ liệu lớn như cách dữ liệu được lưu trữ trong các nút khác nhau, đồng thời, bộ nhớ đệm, thời gian trôi, tỷ lệ tin nhắn, kích cỡ tin nhắn, hiệu suất của bản đồ giảm vv Nguồn tham khảo: http://www.softwaretestingclass.com/big-data-from-testing-perspective/

All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.