Kiểm thử ứng dụng Fintech

Ngày nay, kiểm thử phầm mềm trở thành một phần rất quan trọng với những lợi ích mà nó mang lại. Trong bài viết lần này, chúng ta sẽ xem xét về thách thức khi kiểm thử các ứng dụng Fintech. Trước khi kiểm thử một ứng dụng fintech, cần phải hiểu cách thức hoạt động trong lĩnh vực fintech để có được kiến thức chi tiết về cách người ta có thể kiểm thử và tất cả những gì cần phải kiểm thử.

I. Đặc điểm của ứng dụng Fintech

  1. Chức năng nhiều tầng ( Multi-tier functionality ) : Trên một ứng dụng fintech, hàng ngàn phiên làm việc đồng thời được thực hiện tại một thời điểm cụ thể, do đó ứng dụng cần hỗ trợ hàng ngàn phiên làm việc đồng thời.
  2. Tích hợp quy mô lớn ( Large-scale integration ) : Một ứng dụng fintech thường tích hợp với nhiều ứng dụng khác bao gồm các nhà cung cấp bên thứ ba để giao dịch, tài khoản người dùng, tiện ích thanh toán hóa đơn, v.v.
  3. Nhiều giao dịch được thực hiện cùng lúc trên ứng dụng fintech, do đó có tốc độ giao dịch/giây cao.
  4. Các giao dịch khổng lồ đang được thực hiện mỗi giây và cần phải bảo mật. Do đó, bảo mật trở thành một đặc điểm chính trong bất kỳ phần mềm fintech nào.
  5. Dữ liệu khổng lồ cho nhu cầu của hệ thống lưu trữ lớn.
  6. Dữ liệu được bảo mật cao và quan trọng là phải được trang bị quản lý thảm họa.
  7. Các giao dịch hàng ngày trên mạng được giữ lại bản sao
  8. Xử lý thời gian thực
  9. Xử lý hàng loạt
  10. Xử lý sự cố vững chắc cho các vấn đề của khách hàng.
  11. Luôn có nhiều người dùng từ nhiều địa điểm khác nhau truy cập vào cùng một ứng dụng, do đó, ứng dụng cần hỗ trợ người dùng đa ngôn ngữ.
  12. Giao dịch nhanh và an toàn

Một ứng dụng fintech sở hữu nhiều đặc điểm, vì vậy nó đòi hỏi một phương pháp kiểm thử để đảm bảo rằng ứng dụng fintech của bạn hoạt động hoàn hảo.

II. Làm thế nào người kiểm thử thấy quy trình làm việc của một ứng dụng Fintech cơ bản?

Giống như bất kỳ quy trình kiểm thử phần mềm nào, các công ty fintech cũng tuân theo quy trình kiểm tra 7 bước tiêu chuẩn.

1. Thu thập yêu cầu và Đánh giá

Đây là giai đoạn đầu tiên trong bất kỳ quy trình phát triển ứng dụng fintech nào, liên quan đến việc thu thập và thiết kế các tài liệu cơ bản về các yêu cầu của khách hàng. Tài liệu này bao gồm các tài liệu thu thập các yêu cầu chức năng hoặc tài liệu về các trường hợp sử dụng. Việc thu thập yêu cầu này được dựa trên nhu cầu của khách hàng, và phải kiểm tra chéo nếu bất kỳ quy trình công việc nào bị vi phạm.

2. Kịch bản trong hoạt động của Fintech

Trên cơ sở các yêu cầu business, QA đưa ra các kịch bản business từ các tài liệu yêu cầu. Thách thức ở đây là không bỏ lỡ bất kỳ kịch bản nào và đánh giá các kịch bản với độ ưu tiên cao và thấp. Thông thường các kịch bản có độ ưu tiên cao được phân tích testcase chi tiết hơn các kịch bản có độ ưu tiên thấp để các BA ( business analysts ) dễ dàng xem xét chúng hơn.

Kiến thức về business của lĩnh vực đóng vai trò chính trong khi chuẩn bị các kịch bản business và các trường hợp kiểm thử trong ứng dụng fintech.

Trong một ngân hàng có nhiều sản phẩm xung quanh như bảo hiểm, ngân hàng và đầu tư, vì vậy cần có nhiều kịch bản business khác nhau, như trong hình dưới đây

Từ hình ảnh trên, bạn có thể dễ dàng nhận ra rằng có thể có nhiều trường hợp trong các kịch bản business.

Ví dụ: Một trường hợp sử dụng đơn giản, để mở tài khoản tiền gửi cố định trong ngân hàng sẽ có nhiều quy trình khác nhau như mở tài khoản, gửi số tiền, chuyển khoản, theo dõi, lãi suất, v.v.

Do đó kiểm tra mọi kịch bản business có thể xảy ra trở nên quan trọng.

3. Functional Testing

Kiểm tra chức năng của một ứng dụng fintech là một thách thức lớn. Quá trình kiểm tra chức năng của ứng dụng fintech rất khác so với các kịch bản kiểm thử phần mềm thông thường vì nó liên quan đến các giao dịch tiền tệ và dữ liệu nhạy cảm, do đó mọi trường hợp kiểm thử có thể nên được xem xét.

Điều quan trọng đối với người kiểm thử là kiểm tra sự tương tác giữa các thành phần khác nhau và đồng thời lường trước các rủi ro trong bất kỳ phạm vi không xác định nào, ví dụ như trong việc triển khai phần mềm cloud hoặc on-premise.

Multiplatform Testing : Vì các ứng dụng fintech chạy trên nhiều môi trường khác nhau, do đó, việc kiểm tra tính tương thích giữa các trình duyệt trở nên quan trọng. Một số hệ thống có các thành phần có thể trải rộng trên một số hệ điều hành khác, vì vậy phát sinh yêu cầu kiểm tra lại toàn bộ hệ thống. Có rất nhiều hệ điều hành như các ứng dụng di động Unix, Linux, Windows, Mac, Android và iOS, và người kiểm thử cần đảm bảo khả năng tương thích cho tất cả.

4. Database Testing

Kiểm tra tính toàn vẹn của cơ sở dữ liệu cũng quan trọng như kiểm tra các chức năng vì các ứng dụng fintech liên quan đến các giao dịch phức tạp ở cấp cơ sở dữ liệu. Kiểm tra cơ sở dữ liệu trong phần mềm fintech bao gồm :

  • Kiểm tra tính toàn vẹn dữ liệu
  • Kiểm tra tải dữ liệu
  • Kiểm tra di chuyển cơ sở dữ liệu
  • Kiểm tra các kích hoạt khác nhau
  • Kiểm tra các quy tắc

Nếu bạn nói về việc tạo ra một bộ dữ liệu thực tế trong bất kỳ trang web thương mại điện tử nào, nó khá đơn giản để sao chép cơ sở dữ liệu nhưng trong trường hợp các ứng dụng fintech thì nó lại là một trò chơi hoàn toàn mới.

Bạn không thể chỉ copy-paste tập dữ liệu vì nó được bảo mật cao và bảo mật là mối quan tâm chính. Hơn nữa, có rất nhiều phụ thuộc trong một ứng dụng fintech mà việc tạo dữ liệu thực tế đòi hỏi phải kiểm tra chéo và do đó nó giới hạn hệ thống. Giải pháp duy nhất là tạo ra các robot chuyên dụng có thể mô phỏng việc tạo tài khoản với tất cả các bước chi tiết.

5. Security Testing

Bây giờ chúng ta có mối quan tâm lớn nhất của ứng dụng Fintech, bảo mật. Do các ứng dụng fintech liên quan đến chuyển tiền, dữ liệu tài chính nhạy cảm, cổng thanh toán của bên thứ ba, v.v. và rất dễ bị tin tặc đánh cắp dữ liệu nhạy cảm nên việc kiểm tra bảo mật trong miền fintech có vai trò rất quan trọng.

Các công nghệ và kỹ thuật mới nhất như triển khai đám mây, xác thực 2 yếu tố, kiến trúc microservice, v.v., làm cho quá trình bảo mật dễ dàng hơn một chút. Tuy nhiên, những ý tưởng công nghệ tương tự này đưa ra các vấn đề và biện pháp phòng ngừa của riêng họ.

Xác thực nhiều yếu tố ( Multiple-factor authentications ) : Các yêu cầu đối với các mối quan tâm bảo mật dẫn đến xác thực nhiều yếu tố. Việc xác thực này làm cho quá trình bảo mật phức tạp hơn.

Giả sử, bạn thay thế một mục nhập tên người dùng / mật khẩu đơn giản bằng xác minh dấu vân tay hoặc xác minh văn bản hoặc email hoặc một số xác minh thẻ , những cái mà bạn nghĩ rằng nó sẽ không tăng thêm độ phức tạp cho quá trình kiểm thử ?

Tất nhiên là có ! Điều này có thể làm phát sinh sự phức tạp lớn trong quá trình kiểm thử và làm phức tạp quá trình kiểm thử với ngày càng nhiều trường hợp kiểm thử.

API Security : Tôi sẽ đề nghị bạn theo dõi các thành phần phụ thuộc và lỗ hổng trong các thành phần cơ bản của ứng dụng fintech. Vì vậy, luôn luôn đảm bảo rằng bất cứ khi nào bạn thấy bất kỳ thư viện nào dễ bị tấn công trong trường hợp đó, hãy luôn giữ một giải pháp kiểm tra thay thế cho lỗ hổng đó.

6. User Acceptance Testing

User acceptance testing là giai đoạn kiểm thử cuối cùng trong mỗi chu kỳ phát triển. Trong User acceptance testing, ứng dụng được kiểm tra chức năng phù hợp theo yêu cầu của khách hàng. Từ chức năng phù hợp đến bảo mật, mọi thứ đều được kiểm tra xem xét mọi tình huống có thể xảy ra theo quan điểm của người dùng.

Đây là ứng dụng fintech cơ bản như được nhìn từ quan điểm của người thử nghiệm. Kiểm thử chủ yếu đóng vai trò quan trọng ở mọi giai đoạn trong vòng đời phát triển của ứng dụng, đó là chức năng, sự chấp nhận của người dùng hoặc kiểm tra bảo mật.

Nguồn tham khảo :

https://www.lambdatest.com/blog/all-about-testing-a-fintech-application/