12/08/2018, 16:53

Data Migration Testing Tutorial: A Complete Guide (Part 2)

Giai đoạn 1: Kiểm thử trước khi migration Trước khi di chuyển dữ liệu, cần phải kiểm thử. Điều này thường bị bỏ qua hoặc không được xem xét trong các ứng dụng đơn giản nhưng là hoạt động rất cần thiết đối với các ứng dụng lớn. Dưới đây là danh sách các hoạt động được thực hiện trong giai đoạn ...

Giai đoạn 1: Kiểm thử trước khi migration

Trước khi di chuyển dữ liệu, cần phải kiểm thử. Điều này thường bị bỏ qua hoặc không được xem xét trong các ứng dụng đơn giản nhưng là hoạt động rất cần thiết đối với các ứng dụng lớn. Dưới đây là danh sách các hoạt động được thực hiện trong giai đoạn này:

  • Đặt phạm vi rõ ràng cho dữ liệu - dữ liệu nào cần phải có, những dữ liệu nào cần phải loại trừ, những dữ liệu nào cần chuyển đổi ...
  • Thực hiện việc mapping dữ liệu giữa ứng dụng trước khi di chuyển và ứng dụng mới - tất cả các loại dữ liệu trong ứng dụng cũ cần được so sánh với các loại dữ liệu liên quan trong ứng dụng mới và sau đó thực hiện mapping - mapping mức high level.
  • Nếu ứng dụng cũ có chứa các trường bắt buộc, cần đảm bảo rằng sau khi di chuyển giá trị của các trường đó không phải là null - mapping mức thấp hơn.
  • Nghiên cứu các lược đồ dữ liệu của ứng dụng mới - tên, loại, giá trị tối thiểu và tối đa, độ dài, các trường bắt buộc, xác nhận cấp trường ..., một cách rõ ràng
  • Số bảng trong hệ thống cũ sẽ được ghi chép lại và nếu bất kỳ bảng nào bị bỏ và thêm vào sau khi di chuyển cần phải được xác minh.
  • Số bản ghi trong mỗi bảng nên được lưu ý trong ứng dụng mới.
  • Nghiên cứu giao diện trong ứng dụng mới và các kết nối của chúng. Dữ liệu chảy trong giao diện nên được bảo đảm và chúng không bị lỗi.
  • Chuẩn bị các trường hợp thử nghiệm, kịch bản kiểm tra, và trường hợp sử dụng cho các điều kiện mới trong các ứng dụng mới.
  • Thực hiện một tập hợp các trường hợp thử nghiệm, kịch bản với một bộ người dùng và ghi lại kết quả. Cũng cần phải xác minh tương tự sau khi di chuyển để đảm bảo rằng dữ liệu cũ cũng như các chức năng còn nguyên vẹn.
  • Số lượng dữ liệu nên được lưu ý rõ ràng, nó cần phải được xác minh sau khi di chuyển không mất dữ liệu.

Giai đoạn 2: Kiểm tra Di chuyển

"Migration Guide" cần phải được tuân thủ chặt chẽ để thực hiện hoạt động di chuyển. Lý tưởng nhất là di chuyển dữ liệu được sao lưu trên các tệp để bất kỳ khi nào hệ thống cũ cũng có thể phục hồi về trạng thái trước đó.

Verify tài liệu "Migration Guide" cũng là một phần của data migration testing. Xác minh xem tài liệu có rõ ràng và dễ thực hiện không. Tất cả các kịch bản và các bước phải được ghi lại chính xác, không có sự mơ hồ. Bất kỳ lỗi tài liệu nào, các bước nào không được thực hiện giống tài liệu phải được báo cáo và fix.

Các kịch bản di chuyển, hướng dẫn và các thông tin khác liên quan đến di chuyển trong thực tế cần được thu thập từ các phiên bản di chuyển để thực hiện.

Lưu ý thời gian thực hiện di chuyển từ thời điểm bắt đầu di chuyển đến khi khôi phục thành công hệ thống, là một trong các trường hợp thử nghiệm cần được thực hiện. "Thời gian di chuyển hệ thống" cần phải được ghi lại trong lần cuối cùng báo cáo thử nghiệm sẽ được gửi như là một phần của kết quả kiểm tra di chuyển và thông tin này sẽ hữu ích trong quá trình ra mắt sản phẩm. Thời gian chết được ghi lại trong môi trường thử nghiệm dùng để dự đoán thời gian chết xấp xỉ trong hệ thống trực tiếp.

Trong quá trình thử nghiệm này, tất cả các thành phần của môi trường sẽ không được kết nối mạng để thực hiện các hoạt động di chuyển. Do đó cần phải lưu ý 'Thời gian chết' cần thiết cho kiểm tra Di chuyển. Lý tưởng là nó sẽ giống như thời gian di chuyển.

Nói chung, hoạt động di chuyển được xác định trong tài liệu 'Hướng dẫn Di chuyển' bao gồm:

  • Di chuyển thực tế của ứng dụng
  • Tường lửa, cổng, máy chủ, phần cứng, cấu hình phần mềm đều được sửa đổi theo hệ thống mới
  • Rò rỉ dữ liệu, kiểm tra an ninh được thực hiện
  • Kiểm tra kết nối giữa tất cả các thành phần của ứng dụng
  • Để verify các phần trong hệ thống, ta cũng cần tiến hành kiểm tra hộp trắng.

Một khi hoạt động di chuyển được chỉ định trong hướng dẫn đã hoàn thành, thực hiện kiểm tra tất cả các máy chủ được đưa ra, xác minh di chuyển có thành công hay không, đảm bảo rằng tất cả các phần trong hệ thống được kết nối thích hợp và tất cả các thành phần có thể giao tiếp được với nhau, DB chạy đúng, kết quả trả ra sau khi query là đúng. Những bài kiểm tra này cần được xác định sớm và được ghi lại trong tài liệu Migration Test Specification.

Có nhiều khả năng phần mềm hỗ trợ nhiều nền tảng khác nhau. Trong trường hợp này, di chuyển dữ liệu cần được xác minh trên từng nền tảng một cách riêng biệt.

Xác minh các kịch bản di chuyển sẽ là một phần của bài kiểm tra Di chuyển. Việc di chuyển thử nghiệm là một sự kết hợp của cả kiểm thử hộp trắng và kiểm thử hộp đen.

Khi quá trình xác minh có liên quan đến chuyển đổi được thực hiện và các bài kiểm tra tương ứng được thông qua, nhóm có thể tiến hành thêm với hoạt động của bài kiểm tra sau chuyển đổi.

Giai đoạn 3: Kiểm tra sau di chuyển

Người kiểm tra thực hiện các trường hợp thử nghiệm đã xác định, các kịch bản kiểm tra, các trường hợp sử dụng với dữ liệu cũ cũng và tập hợp dữ liệu mới.

Ngoài ra, có những mục cụ thể cần được xác minh trong các môi trường di chuyển được liệt kê dưới đây: Tất cả những điều này được ghi lại như là một trường hợp thử nghiệm và được bao gồm trong tài liệu 'Tài liệu thử nghiệm'.

  • Kiểm tra xem tất cả dữ liệu trong ứng dụng cũ được di chuyển sang ứng dụng mới hay không. So sánh số lượng bản ghi giữa data của ứng dụng cũ và ứng dụng mới cho mỗi bảng và trong cơ sở dữ liệu. Ngoài ra, báo cáo thời gian để di chuyển nói 10.000 bản ghi.
  • Kiểm tra xem tất cả các lược đồ thay đổi (trường và bảng đã được thêm hoặc xoá) theo hệ thống mới được cập nhật.
  • Dữ liệu di chuyển từ ứng dụng cũ sang ứng dụng mới nên giữ lại giá trị và định dạng của nó trừ khi nó không được chỉ định để làm như vậy. Để đảm bảo điều này, hãy so sánh các giá trị dữ liệu giữa cơ sở dữ liệu cũ và cơ sở dữ liệu ứng dụng mới.
  • Kiểm tra dữ liệu di chuyển với ứng dụng mới. Ở đây bao gồm một số lượng tối đa các trường hợp có thể xảy ra. Để đảm bảo 100% đối với xác minh di chuyển dữ liệu, hãy sử dụng công cụ kiểm tra tự động.
  • Kiểm tra bảo mật cơ sở dữ liệu.
  • Kiểm tra tính toàn vẹn dữ liệu cho tất cả các bản ghi có thể có.
  • Kiểm tra và đảm bảo rằng chức năng được hỗ trợ trước đó trong hệ thống cũ hoạt động như mong đợi trong hệ thống mới.
  • Kiểm tra luồng dữ liệu trong ứng dụng.
  • Giao diện giữa các thành phần nên được kiểm tra, vì dữ liệu không được sửa đổi, mất và bị hỏng. Các trường hợp thử nghiệm tích hợp có thể được sử dụng để xác minh điều này.
  • Kiểm tra sự thừa dữ liệu. Không có dữ liệu cũ nào được nhân đôi trong quá trình di chuyển
  • Kiểm tra các trường hợp không hợp lệ dữ liệu như kiểu dữ liệu thay đổi, định dạng lưu trữ được thay đổi ...
  • Bất kỳ sự bổ sung dữ liệu nào trong ứng dụng mới không nên phản ánh lại về ứng dụng cũ
  • Cần phải hỗ trợ cập nhật dữ liệu của ứng dụng cũ thông qua ứng dụng mới. Sau khi cập nhật trong ứng dụng mới, nó không nên phản ánh lại về ứng dụng cũ.
  • Việc xóa dữ liệu của ứng dụng cũ trong ứng dụng mới cần được hỗ trợ. Sau khi đã xóa trong ứng dụng mới, nó cũng không nên xóa dữ liệu trong ứng dụng cũ thì tốt hơn.
  • Xác minh rằng những thay đổi được thực hiện đối với hệ thống cũ hỗ trợ các chức năng mới được phân phối như một phần của hệ thống mới.
  • Xác minh người dùng từ hệ thống cũ có thể tiếp tục sử dụng cả chức năng cũ và chức năng mới, đặc biệt là những người liên quan đến sự thay đổi. Thực hiện các trường hợp thử nghiệm và kết quả kiểm tra được lưu trữ trong quá trình thử nghiệm trước khi di chuyển.
  • Tạo người dùng mới trên hệ thống và thực hiện các bài kiểm tra để đảm bảo rằng chức năng từ ứng dụng cũ cũng như ứng dụng mới, hỗ trợ người dùng mới tạo và nó hoạt động tốt.
  • Thực hiện các kiểm tra liên quan đến chức năng với nhiều mẫu dữ liệu khác nhau (nhóm tuổi khác nhau, người dùng từ các vùng khác nhau, v.v ...)
  • Cũng cần phải xác minh xem 'cờ (Flags)' có được bật cho các tính năng mới và việc chuyển đổi bật / tắt của cờ có ảnh hưởng đển tính năng không.
  • Kiểm tra hiệu năng là rất quan trọng để đảm bảo rằng việc di chuyển sang hệ thống / phần mềm mới đã không làm suy giảm hiệu năng của hệ thống.
  • Nó cũng được yêu cầu để thực hiện Load test và stress test để đảm bảo sự ổn định của hệ thống.
  • Xác minh rằng nâng cấp phần mềm đã không mở ra bất kỳ lỗ hổng bảo mật và do đó cần thực hiện kiểm tra an ninh, đặc biệt là trong khu vực mà thay đổi đã được thực hiện cho hệ thống trong quá trình di chuyển.
  • Khả năng sử dụng là một khía cạnh khác cần được xác minh, trong đó nếu hệ thống giao diện / hệ thống giao diện người dùng đã thay đổi hoặc bất kỳ chức năng nào đã thay đổi, thì nó vẫn dễ dàng sử dụng so với hệ thống cũ. Do phạm vi kiểm tra Sau khi di chuyển rất lớn, nên tách các bài kiểm tra quan trọng cần thực hiện trước tiên và sau đó thực hiện phần còn lại sau đó.

Kiểm thử tự động được khuyến khích dùng trong data migration testing để giảm thời gian thử nghiệm và kết quả sẽ có một cách nhanh chóng.

Một vài tips viết các trường hợp thử nghiệm cho việc thực hiện sau khi di chuyển:

  • Khi ứng dụng được di chuyển, nó không có nghĩa là các trường hợp thử nghiệm phải được viết cho toàn bộ ứng dụng mới. Các trường hợp thử nghiệm đã được thiết kế cho ứng dụng cũ vẫn được dùng tốt cho ứng dụng mới. Vì vậy, nếu có thể sử dụng được, hãy kế thừa các trường hợp thử nghiệm cũ, chuyển đổi các trường hợp thử nghiệm cũ sang các trường hợp của ứng dụng mới bất cứ khi nào có yêu cầu.
  • Nếu có bất kỳ thay đổi tính năng trong ứng dụng mới, thì cần phải sửa đổi các trường hợp thử nghiệm liên quan.
  • Nếu có bất kỳ tính năng mới được thêm vào trong ứng dụng mới, thì các trường hợp thử nghiệm mới sẽ được thiết kế cho tính năng cụ thể đó.
  • Khi có bất kỳ tính năng nào bị xóa trong ứng dụng mới, các trường hợp thử nghiệm ứng dụng di sản liên quan không được xem xét để thực hiện sau khi di chuyển, và chúng nên được đánh dấu là không hợp lệ và tách biệt.
  • Các trường hợp thử nghiệm được thiết kế phải luôn đáng tin cậy và nhất quán về cách sử dụng. Việc kiểm tra các dữ liệu quan trọng cần được đề cập đến trong các trường hợp thử nghiệm để không bị lỡ khi thực thi.
  • Khi thiết kế cho ứng dụng mới khác với thiết kế cũ (UI), thì các trường hợp thử nghiệm liên quan tới UI cần được sửa đổi để thích ứng với thiết kế mới. Quyết định cập nhật hoặc viết những cái mới trong trường hợp này có thể được thực hiện bởi người kiểm tra dựa trên khối lượng thay đổi đã xảy ra.

Bài viết được dịch từ trang:

http://www.softwaretestinghelp.com/data-migration-testing/

0