12/08/2018, 17:37

Types of Migration Testing: With Test Scenarios for Each Type

Để đảm bảo việc di chuyển dữ liệu từ hệ thống cũ sang hệ thống mới không gây mất mát dữ liệu ta cần thực hiện kiểm tra migration. Tiếp tục chủ để về kiểm tra migration, trong các bài trước, tôi đã nói đến cách tiếp cận, chiến lược test cùng các phase trong kiểm tra migration. Trong bài này ...

Để đảm bảo việc di chuyển dữ liệu từ hệ thống cũ sang hệ thống mới không gây mất mát dữ liệu ta cần thực hiện kiểm tra migration.

Tiếp tục chủ để về kiểm tra migration, trong các bài trước, tôi đã nói đến cách tiếp cận, chiến lược test cùng các phase trong kiểm tra migration. Trong bài này tôi sẽ nói tới 4 loại kiểm tra migration thường hay xảy ra:

  1. Application migration
  2. Database migration
  3. Server Migration
  4. OS Migration

cùng với một số kịch bản kiểm thử cơ bản cho mỗi loại.

(Đọc lại những bài về kiểm tra migration trong các link sau:

https://viblo.asia/p/data-migration-testing-tutorial-a-complete-guide-part-1-L4x5xyYrKBM

https://viblo.asia/p/data-migration-testing-tutorial-a-complete-guide-part-2-gDVK2kNAZLj

https://viblo.asia/p/data-migration-testing-tutorial-a-complete-guide-part-3-Eb85oB24l2G)

1. Khái niệm

Toàn bộ ứng dụng được di chuyển từ môi trường này sang môi trường khác hoặc từ nền tảng này sang nền khác được xếp vào Application migration.

Một số ví dụ về Application migration như ứng dụng được chuyển từ nền tảng ASP sang ASP.NET, dùng nền tảng đám mây cho ứng dụng

Lợi ích của việc di chuyển này như:

  • Giảm chi phí hoạt động và dễ dàng cho việc bảo trì
  • Giảm sự phụ thuộc vào các hệ thống khác
  • Giải quyết được các risk của ứng dụng (có thể loại bỏ hoàn toàn hoặc giảm thiểu ảnh hưởng của risk)
  • Tăng hiệu suất của hệ thống
  • Thêm các chức năng mới và fix bugs

2. Các hoạt động kiểm tra

Với các dự án application migration như vậy, đòi hỏi tester phải thực hiện những công việc như:

  • Phân tích các yêu cầu và xác định tính ổn định của các yêu cầu
  • Phân tích phạm vi kiểm tra
  • Phân tích và kiểm tra tất cả các luồng trong ứng dụng
  • Kiểm tra các luồng mới trong ứng dụng (nếu có)

3. Một số scenarios cơ bản

Từ định nghĩa của application migration ta có thể thấy ngay application migration không chỉ có nghĩa là ứng dụng được chuyển sang công nghệ mới mà còn có nghĩa là ứng dụng có thể được nâng cấp thêm các chức năng mới. Chúng ta hãy xem xét các kịch bản này riêng biệt cho từng cái một

a. Ứng dụng được nâng cấp lên

  • Xác nhận tất cả các chức năng cũ và mới phải hoạt động chính xác
  • Kiểm tra ứng dụng chạy dữ liệu mới hay cũ đều hoạt động chính xác (ví dụ: thử cập nhật dữ liệu, xóa rồi tìm kiếm dữ liệu đó, xem kết quả trả về có chính xác không. Hoặc thử tạo tài khoản mới, rồi update dữ liệu cho tài khoản mới xem có chính xác không)

b. Ứng dụng chuyển sang dùng công nghệ mới

  • Xác minh xem toàn bộ ứng dụng có hoạt động chính xác không
  • Xác minh xem công nghệ mới vẫn hỗ trợ tất cả các thành phần của ứng dụng.( Ví dụ: URL của ứng dụng không bị thay đổi)
  • Xác minh xem ứng dụng mới có tương thích với tất cả các hệ điều hành, phiên bản trình duyệt, … hay không
  • Xác minh nếu dữ liệu cũ được giữ lại trong ứng dụng và ứng dụng hoạt động tốt với dữ liệu mới trên công nghệ mới

1. Khái niệm

Tất cả dữ liệu trong cơ sở dữ liệu của một ứng dụng được chuyển sang cơ sở dữ liệu khác được coi là database migration. Nếu database được chuyển từ dùng RDBMS sang RDBMS, hay từ RDBMS sang MongoDB thì đều được coi là database migration

Ta cần thực hiện database migration khi cơ sở dữ liệu mới:

  • Đáp ứng được khối lượng dữ liệu khổng lồ của khách hàng
  • Có thể thêm nhiều dữ liệu
  • Cải thiện chất lượng nhờ phân tích đúng dữ liệu
  • Lấy mẫu dữ liệu và làm sạch dữ liệu giúp giữ cơ sở dữ liệu sạch sẽ và hiệu quả

2. Các hoạt động kiểm tra

Đối với loại chuyển đổi này, điều ta quan tâm là ứng dụng phải ổn định và dữ liệu trong cơ sở dữ liệu phải chính xác và hợp lệ. Do đó phải kiểm tra format, type, value,... trong khi di chuyển giữa các cơ sở dữ liệu. Tester cần check:

  • Cơ sở dữ liệu cũ không được cập nhật sau khi di chuyển dữ liệu
  • Mapping giữa các trường (field) và bảng (table) không thay đổi
  • Dữ liệu được di chuyển chính xác và đầy đủ
  • Các hoạt động thử nghiệm trước và sau khi di chuyển

3. Một số scenarios cơ bản

Có 2 loại di database migration mà ta cần quan tâm như sau:

a. Database cũ và database mới có cùng một loại cơ sở dữ liệu

Đối với trường hợp này ta cần kiểm tra:

  • Các câu query trong cơ sở dữ liệu mới mang lại kết quả giống như trong cơ sở dữ liệu cũ
  • Số lượng các bản ghi trong cơ sở dữ liệu cũ bằng số bản gi trong cơ sở dữ liệu mới.
  • Không có data nào bị dư thừa và cơ sở dữ liệu mới hoạt động chính xác như cũ
  • Schema, mối quan hệ, cấu trúc bảng chính xác
  • Thao tác trên ứng dụng thì dữ liệu được cập nhật vào cơ sở dữ liệu mới chính xác về giá trị cũng như kiểu dữ liệu
  • Thời gian trả về kết quả của cùng câu truy vấn vào DB mới không lớn hơn so với DB cũ

b. Database cũ và database mới không cùng một loại cơ sở dữ liệu

Đói với loại này không những phải kiểm tra các phần như khi 2 DB cùng một loại cơ sở dữ liệu mà ta còn phải xem cách xử lý dữ liệu cho các trường kiểu calendars, số float, số hexa, ...

1. Khái niệm

Cũng như tên, server migration là loại server được thay đổi từ server này sang server khác (về mặt cấu hình). Lý do để integration là để đảm bảo server mới:

  • Nâng cao cấu hình
  • Nâng cao độ tin cậy
  • Nâng cao hiệu suất hơn so với server cũ

2. Các hoạt động kiểm tra

  • Kiểm tra sự tương thích với máy chủ mới
  • Kiểm tra việc xử lý dữ liệu trong máy chủ mới
  • Đảm bảo tên thư mục, tập tin được chia sẻ,... không thay đổi
  • Đảm bảo không có dữ liệu hỏng hoặc dữ liệu bị thay đổi trong máy chủ mới

3. Một số scenarios cơ bản

  • Xác minh phản hồi yêu cầu giữa ứng dụng và máy chủ thông qua API
  • Xác minh client-server logs cho mỗi hành động được thực hiện trên ứng dụng
  • Xác minh xem dùng ứng dụng trên giao diện có bị lỗi không
  • Xác minh xem môi trường có ổn định và server host không có vấn đề gì với kết nối, nghĩa là không có vấn đề môi trường sau khi di chuyển

1. Khái niệm

Di chuyển từ OS này sang OS khác là OS migration. Ví dụ như ứng dụng trên Android được chuyển sang iOS, từ Windows chuyển sang Mac

2. Các hoạt động kiểm tra

Thay đổi OS sẽ có nguy cơ lớn về tính tương thích của ứng dụng . Ngay cả mạng, cấu hình, giao diện và nhiều thành phần khác đòi hỏi phải thiết kế lại. Vì vậy, tester cần kiểm tra:

  • Sự tác động của việc thay đổi trong cấu hình tới ứng dụng
  • Luồng ứng dụng có thể thay đổi so với hệ điều hành cũ do đó cần kiểm tra kỹ
  • Kiểm tra khả năng tương thích với hệ điều hành mới

3. Một số scenarios cơ bản

  • Xác minh sự tương thích phần cứng và phần mềm
  • Xác minh thao tác với ứng dụng trên hệ điều hành mới không có gì bất thường.
  • Xác minh xem hiệu suất của ứng dụng trên hệ điều hành mới

http://www.helpingtesters.com/migration-testing-complete-guide/

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

http://testorigen.com/defining-types-of-migration-testing/

0