Kiểm thử đám mây - Tương lai của Kiểm thử phần mềm
Lĩnh vực kiểm thử phần mềm đang trải qua quá trình phát triển liên tục. Với sự phát triển không ngừng của công nghệ, các chuyên gia kiểm thử phần mềm đã đưa ra những xu hướng mới nhất cho ngành kiểm thử phần mềm.
Trong lĩnh vực kiểm thử phần mềm, năm 2020 sẽ chứng kiến sự chuyển dịch từ kiểm thử hiệu năng sang kỹ thuật hiệu suất. Kỹ thuật hiệu suất sẽ tập trung vào các yếu tố quan trọng như chất lượng cấu hình, sự tiện lợi, tính thực tế của việc sử dụng và giá trị của khách hàng để cung cấp trải nghiệm khách hàng nâng cao.
Thử nghiệm đám mây đang trong quá trình phát triển liên tục và liên tục mang lại những cơ hội và thách thức mới. Chuyển sang thử nghiệm sang đám mây sẽ tiết kiệm chi phí hơn cho bất kỳ tổ chức nào miễn là nó không bao gồm dữ liệu nhạy cảm và có tác động tối thiểu đến các hoạt động kinh doanh của tổ chức. Một số có thể có ý kiến rằng các đơn vị doanh nghiệp nhỏ sẽ khai thác các đám mây công cộng, trong khi các doanh nghiệp lớn sẽ tận dụng các đám mây riêng cho các dịch vụ thử nghiệm dựa trên đám mây của họ. Tuy nhiên, cho dù công ty lớn hay nhỏ, con đường đến với thử nghiệm dựa trên đám mây được mở ra với những thách thức riêng.
Một số thống kê điện toán đám mây mà bạn nên biết
- Theo nghiên cứu của Gartner, người ta ước tính rằng chi tiêu của người dùng cuối cho các dịch vụ đám mây sẽ tăng lên 3,4 tỷ đô la vào cuối năm 2020, nhiều hơn 25% so với năm 2019.
- Sự tăng trưởng này vào năm 2020 sẽ đưa Ấn Độ lên vị trí thứ 3, chỉ sau Trung Quốc và Indonesia về chi tiêu của người dùng cuối cho các dịch vụ đám mây công cộng.
- Theo báo cáo của IDC, người ta ước tính rằng vào cuối năm 2025, dữ liệu trên toàn thế giới sẽ tăng 61% lên 175 zettabyte dữ liệu sẽ được lưu trữ trên đám mây.
- Cisco dự báo rằng lưu lượng truy cập trung tâm dữ liệu toàn cầu sẽ tăng gấp ba lần từ 2,6 zettabyte vào năm 2012 lên 7,7 zettabyte hàng năm vào năm 2017, tương ứng với CAGR 25%.
- Gartner đã ước tính, vào cuối năm 2021, 3/4 các tổ chức vừa và lớn sẽ áp dụng chiến lược đa đám mây hoặc kết hợp.
1. What? - Cloud Testing là gì?
Cloud testing (còn được gọi là kiểm thử dựa trên đám mây) được sử dụng để đánh giá các ứng dụng web (hoặc trang web) về khả năng mở rộng, hiệu suất, bảo mật và độ tin cậy. Như cái tên của nó, hình thức kiểm thử này được thực hiện trên môi trường điện toán đám mây của bên thứ ba có cơ sở hạ tầng cần thiết để thực hiện kiểm tra.
Các loại quy trình kiểm tra đám mây khác nhau cho phép bạn kiểm tra phần mềm và phần cứng mà không có những ràng buộc về ngân sách, các vấn đề địa lý, chi phí chạy mỗi lần kiểm tra cao,....
Chủ yếu có ba mô hình Điện toán đám mây :
- SaaS - Phần mềm như một dịch vụ
- PaaS - Nền tảng như một dịch vụ
- IaaS - Cơ sở hạ tầng như một dịch vụ
Loại thử nghiệm trên đám mây
Toàn bộ thử nghiệm đám mây được phân thành bốn loại chính
- Kiểm tra toàn bộ đám mây : Đám mây được xem như một thực thể toàn bộ và dựa trên các tính năng của nó, việc kiểm tra các tính năng được thực hiện. Các nhà cung cấp đám mây và SaaS, cũng như người dùng cuối, quan tâm đến việc thực hiện loại thử nghiệm này
- Kiểm tra trong một đám mây : Bằng cách kiểm tra từng tính năng bên trong của nó, quá trình kiểm tra sẽ được thực hiện. Chỉ các nhà cung cấp dịch vụ đám mây mới có thể thực hiện loại thử nghiệm này
- Kiểm tra trên đám mây : Kiểm tra được thực hiện trên các loại đám mây riêng, công khai và hỗn hợp giống như đám mây
- Kiểm tra SaaS trên đám mây : Kiểm tra chức năng và phi chức năng được thực hiện trên cơ sở các yêu cầu ứng dụng
Kiểm tra SaaS
Kiểm thử SaaS là một quy trình kiểm thử phần mềm trong đó ứng dụng phần mềm được xây dựng trong mô hình Phần mềm như một Dịch vụ được kiểm tra cho các yêu cầu chức năng cũng như phi chức năng. Mục tiêu của kiểm thử SaaS là đảm bảo chất lượng bằng cách kiểm tra tính bảo mật dữ liệu, tính toàn vẹn, hiệu suất, khả năng tương thích và khả năng mở rộng của ứng dụng phần mềm.

Thử nghiệm đám mây tập trung vào các thành phần cốt lõi như:
- Ứng dụng: Nó bao gồm kiểm tra các chức năng, quy trình kinh doanh đầu cuối, bảo mật dữ liệu, khả năng tương thích của trình duyệt, v.v.
- Mạng : Nó bao gồm kiểm tra các băng thông mạng, giao thức khác nhau và truyền dữ liệu thành công qua các mạng.
- Cơ sở hạ tầng : Nó bao gồm các chính sách kiểm tra khôi phục thảm họa, sao lưu, kết nối an toàn và lưu trữ. Cơ sở hạ tầng cần được xác nhận để tuân thủ quy định
Các loại Thử nghiệm khác trong Đám mây bao gồm:
- Hiệu suất
- khả dụng
- Tuân thủ
- Bảo vệ
- Khả năng mở rộng
- Thuê nhiều kiểu
- Kiểm tra nâng cấp trực tiếp
2. Why? - Tại sao nên sử dụng các công cụ tự động hóa kiểm tra đám mây?
2.1. Tính khả dụng động của môi trường kiểm thử:
Phương pháp kiểm thử bình thường trong bất kỳ tổ chức nào là đầu tư vào cơ sở hạ tầng phần cứng / phần mềm cần thiết để kiểm thử. Hầu hết các bạn sẽ đồng ý rằng môi trường cung cấp cho các nhóm kiểm thử rất hiếm khi phù hợp với môi trường của khách hàng dựa trên các yêu cầu thay đổi nhanh chóng, do đó rất khó để các công ty duy trì nó. Cloud là câu trả lời duy nhất cho vấn đề này, theo đó, người dùng có thể dễ dàng tái tạo môi trường khách hàng và tìm lỗi sớm trong quá trình phát triển.
2.2. Chi phí thấp:
Một góc độ khác với điểm trước đó là khi các công ty đầu tư vào cơ sở hạ tầng, trường hợp thông thường của nó là nhiều máy chủ của họ không được sử dụng mọi lúc. Do đó, họ có thể phải chịu thêm chi phí cho việc gia hạn giấy phép. Việc chuyển đổi sang đám mây cũng giúp ích trong trường hợp này, vì người dùng có thể sử dụng các thiết bị bất cứ khi nào họ muốn, do đó tiết kiệm chi phí rất lớn cho một tổ chức.
2.3. Dễ dàng tùy chỉnh:
Với việc sử dụng đám mây, đây là một công cụ dễ dàng để các tổ chức mô phỏng môi trường trung tâm của người dùng cuối bằng cách tùy chỉnh nó theo cách sử dụng, tiết kiệm chi phí và thời gian. Các nhóm kiểm thử có thể dễ dàng thực hiện các kịch bản kiểm thử tải và hiệu suất bằng việc thay đổi và kết hợp khác nhau giữa các hệ điều hành, trình duyệt, cấu hình khác nhau,...
2.4. Khả năng mở rộng:
Đây là một trong những tính năng hấp dẫn nhất của đám mây nhờ đó tài nguyên máy tính có thể được tăng hoặc giảm bất cứ nơi nào cần thiết. Điều này được sử dụng rộng rãi trong các tình huống mà yêu cầu nghiệp vụ thay đổi thường xuyên.
3. Vòng đời của kiểm thử đám mây

Vòng đời của Clod-testing bao gồm các hoạt động sau. Người quản lý kiểm thử / Người quản lý dự án / Người lãnh đạo kiểm thử đóng vai trò Quản trị viên kiểm thử. Quản trị viên kiểm thử tạo các kịch bản kiểm thử và thiết kế các trường hợp kiểm thử. Dựa trên các kịch bản và trường hợp kiểm thử, kịch bản kiểm thử tự động sẽ được tạo bởi quản trị viên kiểm thử hoặc người kiểm thử chuyên nghiệp. Sau khi nhà cung cấp dịch vụ đám mây có sẵn để kiểm tra quản trị viên, anh ta sẽ tạo người dùng để cấp quyền truy cập cho người kiểm tra. Nhà cung cấp dịch vụ đám mây thiết lập cơ sở hạ tầng. Người dùng thử nghiệm / Người thử nghiệm sử dụng thông tin đăng nhập để đăng nhập vào cổng thông tin và có thể sử dụng tất cả các tài sản có sẵn. Quá trình thử nghiệm đám mây bắt đầu tại đây. Người kiểm tra thực hiện kiểm tra. Sau khi hoàn thành quá trình, các nhà cung cấp thử nghiệm đám mây sẽ cung cấp kết quả.
4. Which? - Các loại kiểm thử được thực hiện trong đám mây

4.1. Kiểm thử chức năng:
Kiểm thử chức năng để đảm bảo rằng các yêu cầu nghiệp vụ đang được đáp ứng.
Một số kiểm thử chức năng được mô tả dưới đây:
-
Kiểm thử xác minh hệ thống: Điều này đảm bảo liệu các mô-đun khác nhau có hoạt động khớp với nhau hay không, do đó đảm bảo rằng hành vi của chúng đúng như mong đợi.
-
Kiểm thử chấp nhận: Đây là giải pháp dựa trên đám mây được bàn giao cho người dùng để đảm bảo đáp ứng được kỳ vọng của họ.
-
Kiểm thử khả năng tương tác: Bất kỳ ứng dụng nào cũng phải có tính linh hoạt để hoạt động mà không có bất kỳ vấn đề nào không chỉ trên các nền tảng khác nhau nhưng nó cũng phải hoạt động trơn tru khi di chuyển từ cơ sở hạ tầng đám mây sang nền tảng khác.
4.2. Kiểm thử phi chức năng:
Kiểm thử phi chức năng chủ yếu tập trung vào các kiểm thử dựa trên ứng dụng web đảm bảo rằng chúng đáp ứng các yêu cầu mong muốn.
Dưới đây là một vài dạng thử nghiệm phi chức năng:
1) Kiểm thử tính khả dụng: nhà cung cấp đám mây phải đảm bảo rằng đám mây có sẵn suốt ngày đêm. Vì có thể có nhiều hoạt động quan trọng trong nhiệm vụ, quản trị viên phải đảm bảo rằng không có tác động tiêu cực đến người tiêu dùng
2) Kiểm thử việc nhiều người sử dụng: Ở đây, nhiều người dùng sử dụng dịch vụ đám mây. Kiểm thử phải được thực hiện để đảm bảo rằng có đủ bảo mật và kiểm soát truy cập dữ liệu khi nhiều người dùng đang sử dụng một cá thể duy nhất.
3) Kiểm thử hiệu suất: Việc xác minh thời gian phản hồi cần phải được thực hiện để đảm bảo rằng mọi thứ vẫn còn nguyên vẹn ngay cả khi có rất nhiều yêu cầu được đáp ứng. Mạng chậm cũng là một trong những yếu tố quan trọng để đánh giá hiệu suất. Ngoài ra, cân bằng tải là công việc cần phải được thực hiện khi có giảm tải, bằng cách ngừng hoạt động tài nguyên. Do đó việc kiểm tra khả năng chịu tải và quá tải được thực hiện trong việc cung cấp đám mây để đảm bảo các ứng dụng hoạt động tối ưu với việc tăng / giảm tải và quá tải.
Bao gồm :
-
+ Kiểm thử tải (Load test)
-
+ Kiểm thử quá tải (Stress test),
-
+ Kiểm thử độ bền hoặc kiểm thử khối lượng,
-
+ Kiểm thử tính mềm dẻo và khả năng mở rộng
4) Kiểm thử bảo mật: Vì mọi thứ đều khả dụng bất cứ lúc nào với Cloud, điều cần thiết là đảm bảo rằng tất cả thông tin nhạy cảm của người dùng không có quyền truy cập trái phép và quyền riêng tư của người dùng vẫn còn nguyên vẹn. Khi duy trì các ứng dụng trong đám mây, toàn vẹn dữ liệu người dùng cũng phải được xác minh.
5) Kiểm thử khôi phục thảm họa: Như đã nêu trong kiểm tra tính khả dụng, đám mây luôn sẵn sàng và nếu có bất kỳ sự cố nào như mất mạng, hỏng hóc do tải cực đoan, lỗi hệ thống, v.v. thất bại được chỉ ra và nếu có bất kỳ mất mát dữ liệu nào xảy ra trong giai đoạn này.
6) Kiểm thử khả năng mở rộng: Kiểm tra để đảm bảo rằng dịch vụ có khả năng cung cấp các tiện ích mở rộng quy mô hoặc giảm kích thước theo nhu cầu.
7) Kiểm thử tương thích
Mục đích: nhằm bảo đảm khả năng tương thích của ứng dụng với các mục tiêu khác nhau như trình duyệt web, các nền tảng phần cứng, người dùng (ngôn ngữ, vùng miền khác nhau) hay hệ điều hành, v.v...)
Bao gồm :
+ Kiểm thử khả năng tương thích của dịch vụ với các quy tŕnh nghiệp vụ
+ Kiểm thử tính tương thích với các trình duyệt
+ Kiểm thử tính tương thích với các hệ điều hành khác nhau
+ Kiểm thử khả năng nội địa hoá (Localization)
+ Kiểm thử khả năng quốc tế hoá (Internationalization testing)
+ Kiểm thử khả năng tương thích ngược về mặt giao diện
5. How? - Công cụ kiểm thử đám mây
5.1. Công cụ kiểm thử hiệu năng
Nhiều công cụ cơ bản được sử dụng để thực hiện để kiểm thử tải và quá tải. Một số công cụ dưới đây cũng có thể được sử dụng để kiểm thử chức năng:
-
SOASTA CloudTest
-
LoadStor
-
CloudTestGo
-
AppPerfect
-
Jmeter
-
Cloudslueth
-
CloudTestGo
-
AppPerfect
5.2. Công cụ kiểm thử bảo mật đám mây
Ngoài ra còn có một số công cụ liên quan đến bảo mật thường được sử dụng:
6. Cách thực hiện Kiểm tra đám mây
7. Các trường hợp thử nghiệm mẫu cho Thử nghiệm đám mây
8. Những thách thức trong thử nghiệm đám mây
Thách thức #1: Bảo mật dữ liệu và quyền riêng tư
Ứng dụng đám mây có bản chất là nhiều người thuê, nguy cơ bị đánh cắp dữ liệu luôn tồn tại. Là một chiến lược kiểm tra đám mây, người dùng phải được các nhà cung cấp đảm bảo về tính an toàn cho dữ liệu của họ.
Thách thức #2: Thời gian thông báo ngắn
Nhà cung cấp dịch vụ đám mây đưa ra một khoảng thời gian thông báo ngắn (1-2 tuần) cho khách hàng hiện tại về việc nâng cấp. Đây là một vấn đề lớn khi xác thực thủ công các thay đổi đối với ứng dụng SaaS của bạn.
Thách thức #3: Xác thực khả năng tương thích của giao diện
Với sự nâng cấp của nhà cung cấp dịch vụ Đám mây, đôi khi giao diện bên ngoài cũng được nâng cấp, đây là một thách thức đối với một số thuê bao đã quen với giao diện cũ hơn. Người đăng ký đám mây (SaaS) cần đảm bảo rằng người dùng có thể chọn phiên bản giao diện mà họ muốn hoạt động
Thách thức #4: Di chuyển dữ liệu
Di chuyển dữ liệu từ nhà cung cấp Đám mây này sang nhà cung cấp khác là một thách thức lớn vì cả hai nhà cung cấp có thể có các lược đồ cơ sở dữ liệu khác nhau và nó đòi hỏi nhiều nỗ lực để hiểu các trường dữ liệu, mối quan hệ và cách chúng được ánh xạ trên ứng dụng SaaS
Thách thức #5 : Tích hợp ứng dụng doanh nghiệp
Tích hợp ứng dụng doanh nghiệp yêu cầu xác thực tích hợp dữ liệu của cả dữ liệu đi và đến, từ mạng khách hàng đến ứng dụng SaaS và ngược lại. Quyền riêng tư dữ liệu yêu cầu xác thực kỹ lưỡng để đảm bảo người đăng ký SaaS về tính bảo mật và quyền riêng tư của dữ liệu.
Thách thức #6 : Mô phỏng thử nghiệm nâng cấp trực tiếp
Thách thức lớn nhất của thử nghiệm đám mây là đảm bảo rằng các bản nâng cấp trực tiếp không ảnh hưởng đến người dùng SaaS được kết nối hiện có
9. Thử nghiệm đám mây so với Thử nghiệm thông thường
Tài liệu tham khảo
Anh Tester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu