Làm thế nào để kiểm thử các ứng dụng ngân hàng
Ứng dụng ngân hàng là một trong những ứng dụng phức tạp nhất trong ngành công nghiệp phát triển và kiểm thử phần mềm hiện nay. Điều gì làm cho ứng dụng ngân hàng nên phức tạp? Phương pháp gì cần phải áp dụng để kiểm thử luồng công việc phức tạp liên quan đến ứng dụng ngân hàng? Trong bài viết này, ...
Ứng dụng ngân hàng là một trong những ứng dụng phức tạp nhất trong ngành công nghiệp phát triển và kiểm thử phần mềm hiện nay. Điều gì làm cho ứng dụng ngân hàng nên phức tạp? Phương pháp gì cần phải áp dụng để kiểm thử luồng công việc phức tạp liên quan đến ứng dụng ngân hàng? Trong bài viết này, chúng tôi sẽ làm nổi bật giai đoạn khác nhau và các kỹ thuật liên quan đến việc kiểm thử các ứng dụng ngân hàng.
Các đặc điểm của một ứng dụng ngân hàng như sau:
- Chức năng đa tầng để hỗ trợ hàng ngàn người sử dụng phiên đồng thời
- Tích hợp quy mô lớn: Thông thường, một ứng dụng ngân hàng tích hợp với nhiều ứng dụng khác như tiện ích thanh toán hóa đơn và tài khoản giao dịch
- Luồng nghiệp vụ phức tạp
- Thời gian thực và xử lý hàng loạt
- Tỷ lệ giao dịch cao trên mỗi giây
- Giao dịch an toàn
- Báo cáo để theo dõi các giao dịch trong ngày
- Kiểm tra mạnh để khắc phục sự cố của khách hàng
- Hệ thống lưu trữ khổng lồ
- Quản lý khôi phục. 10 điểm liệt kê ở trên là những đặc điểm quan trọng nhất của một ứng dụng ngân hàng. Ứng dụng ngân hàng có đa tầng liên quan trong việc thực hiện một hoạt động. Ví dụ, một ứng dụng ngân hàng có thể có:
- Web Server để tương tác với người dùng cuối thông qua trình duyệt
- Tầng giữa để xác nhận các đầu vào và đầu ra cho máy chủ web
- Cơ sở dữ liệu để lưu trữ dữ liệu và các thủ tục lưu trữ
- Bộ xử lý giao dịch có thể là một Mainframe dung lượng lớn hoặc bất kỳ hệ thống Legacy khác để thực hiện hàng tỷ các giao dịch trong một giây. Nếu chúng ta nói về việc kiểm ứng dụng ngân hàng, nó đòi hỏi một phương pháp kiểm thử liên quan đến nhiều kỹ thuật kiểm thử phần mềm để đảm bảo:
- Coverage toàn bộ tất cả luồng công việc ngân hàng và yêu cầu nghiệp vụ
- Khía cạnh chức năng của ứng dụng
- Khía cạnh an ninh của ứng dụng
- Toàn vẹn dữ liệu
- Đồng thời
- Kinh nghiệm người dùng Các giai đoạn tham gia vào kiểm thử ứng dụng ngân hàng được thể hiện như luồng việc dưới đây. Chúng tôi sẽ thảo luận về từng giai đoạn cụ thể
- Thu thập yêu cầu: Giai đoạn thu thập yêu cầu liên quan đến tài liệu như đặc tả chức năng hoặc Use cases. Yêu cầu được tập hợp theo nhu cầu khách hàng và ghi nhận bởi các chuyên gia Ngân hàng hoặc Chuyên viên phân tích nghiệp vụ.
Các chuyên gia tham gia viết yêu cầu nhiều hơn 1 chủ đề như bản thân ngân hàng có nhiều tên miền phụ và một ứng dụng ngân hàng đầy đủ sẽ là tích hợp của tất cả các lĩnh vực. Ví dụ, một ứng dụng ngân hàng có thể có các module riêng biệt cho Transfers, thẻ tín dụng, Báo cáo, Tài khoản vay, thanh toán hóa đơn, Thương mại vv
- Review yêu cầu : Sản phẩm của việc thu thập yêu cầu được xem xét bởi tất cả các bên liên quan như QA Engineers, trưởng nhóm phát triển và đội phân tích nghiệp vụ
Họ kiểm tra chéo các luồng nghiệp vụ đang tồn tại mà không phải là các nghiệp vụ bị vi phạm. Tất cả các yêu cầu đều được kiểm tra và xác nhận. Theo dõi hành động và sửa đổi tài liệu yêu cầu được thực hiện dựa trên ý kiến giống nhau.
-
Chuẩn bị kịch bản nghiệp vụ: Trong giai đoạn này, kỹ sư đảm bảo chất lượng lấy kịch bản nghiệp vụ từ các tài liệu yêu cầu (Các đặc tả chức năng hoặc use cases); Kịch bản nghiệp vụ được viết từ tất cả các yêu cầu nghiệp vụ. Kịch bản nghiệp vụ là kịch bản mức cao mà không cần bất kỳ bước chi tiết. Hơn nữa, những kịch bản nghiệp vụ được xem xét bởi các nhà phân tích nghiệp vụ để đảm bảo tất cả các yêu cầu nghiệp vụ được đáp ứng. Nó là dễ dàng hơn cho các nhà phân tích nghiệp vụ để review kịch bản mức cao hơn là xem xét Test Cases chi tiết ở mức độ thấp. Ví dụ , một khách hàng mở một khoản đặt cọc cố định trên giao diện ngân hàng kỹ thuật số có thể là một kịch bản nghiệp vụ. Tương tự như vậy, chúng ta có thể có kịch bản nghiệp vụ khác nhau liên quan đến việc tạo tài khoản internet banking, tiền gửi trực tuyến, chuyển trực tuyến, vv
-
Kiểm tra chức năng : Trong giai đoạn này, chức năng kiểm tra được thực hiện và các hoạt động kiểm thử phần mềm thông thường được thực hiện như sau: Chuẩn bị Test Case : Trong giai đoạn này Test Cases có nguồn gốc từ kịch bản nghiệp vụ , một trong những kịch bản nghiệp vụ dẫn đến một số trường hợp xét kiểm thử các trường hợp đúng và kiểm thử các trường hợp sai. Nói chung, các công cụ được sử dụng trong giai đoạn này là Microsoft Excel, Giám đốc kiểm thử hoặc Trung tâm Chất lượng. Review Test Case: Review bởi các kỹ sư đảm bảo chất lượng Thực thi Test Case: Thực thi Test Case có thể là một trong hai công cụ liên quan đến tay hoặc tự động như QC, QTP hoặc bất kỳ công cụkhác. Các thử nghiệm chức năng của một ứng dụng ngân hàng là khá khác biệt so với kiểm thử phần mềm bình thường. Kể từ khi các ứng dụng này hoạt động bằng tiền của khách hàng và dữ liệu tài chính nhạy cảm, họ được yêu cầu phải được kiểm tra kỹ lưỡng.Tất cả các kịch bản nghiệp vụ cần phải cover. Ngoài ra, các QA - những người đang thử nghiệm ứng dụng cần phải có kiến thức cơ bản của lĩnh vực ngân hàng.
-
Kiểm thử DB : Ứng dụng ngân hàng liên quan đến giao dịch phức tạp được thực hiện cả ở mức giao diện người dùng và mức độ cơ sở dữ liệu, vì vậy, kiểm tra cơ sở dữ liệu cũng quan trọng như kiểm tra chức năng. Cơ sở dữ liệu phức tạp & một tầng hoàn toàn riêng biệt trong ứng dụng và do đó việc kiểm thử DB của nó được thực hiện bởi các chuyên gia cơ sở dữ liệu. Nó sử dụng các kỹ thuật như:
- Tải dữ liệu
- Migration cơ sở dữ liệu
- Kiểm tra lược đồ DB và các kiểu dữ liệu
- Kiểm tra quy tắc
- Kiểm tra các thủ tục lưu trữ và chức năng
- Kiểm tra Triggers
- Kiểm tra tính toàn vẹn dữ liệu
- Kiểm thử bảo mật : Kiểm thử bảo mật thường là giai đoạn cuối cùng trong chu trình kiểm thử. Một điều kiện tiên quyết để bắt đầu kiểm thử bảo mật là việc hoàn thành kiểm thử chức năng và phi chức năng. Kiểm thử bảo mật là một trong những giai đoạn quan trọng trong toàn bộ chu trình kiểm thử ứng dụng, giai đoạn này đảm bảo rằng ứng dụng phù hợp với các tiêu chuẩn liên bang và các chuẩn công nghiệp. Do tính chất của dữ liệu mà họ thực hiện, ứng dụng ngân hàng rất nhạy cảm và là một mục tiêu chính cho các hacker và các hoạt động gian lận. Kiểm thử bảo mật để đảm bảo rằng các ứng dụng không có bất kỳ lỗ hổng web cái mà để lộ dữ liệu nhạy cảm tới một kẻ xâm nhập hay kẻ tấn công. Nó cũng đảm bảo rằng các ứng dụng phù hợp với các tiêu chuẩn như OWASP. Trong giai đoạn này, nhiệm vụ chủ yếu của ứng dụng quét hoàn toàn được tiến hành bằng việc sử dụng các công cụ như IBM AppScan hoặc HP WebInspect (2 công cụ phổ biến nhất). Một khi Scan xong, Báo cáo Scan được công bố. Trong báo cáo này, các lỗ hổng được báo cáo với nhóm phát triển để họ bắt đầu sửa chữa các vấn đề tùy thuộc vào mức độ nghiêm trọng của từng vấn đề. Kiểm thử thâm nhập cũng được thực hiện ở bước này phát hiện các sai sót. Kiểm thử bảo mật nghiêm ngặt nên được thực hiện trên nhiều nền tảng, mạng, và hệ điều hành. Một số các công cụ bằng tay khác cho kiểm thử bảo mật được sử dụng là: Paros Proxy , Http Xem , Burp Suite , Fortify vv Ngoài các giai đoạn chính ở trên, có thể có các giai đoạn khác nhau liên quan đến việc kiểm thử tích hợp, kiểm thử khả năng sử dụng, kiểm thử chấp nhận người dụng và kiểm tra hiệu suất. Chúng ta nói một cách ngắn gọn về các giai đoạn này như sau: Thử nghiệm tích hợp Như bạn đã biết rằng trong một ứng dụng ngân hàng, có thể có một số module khác nhau như chuyển nhượng, thanh toán hóa đơn, tiền gửi, vv Và do đó, có rất nhiều các thành phần phát triển. Trong thử nghiệm tích hợp, tất cả các thành phần và tích hợp với nhau và được validate. Kiểm tra khả năng sử dụng
Một ứng dụng ngân hàng phục vụ để một loạt các khách hàng. Một số các khách hàng có thể thiếu kỹ năng và nhận thức cần thiết để thực hiện nhiệm vụ ngân hàng qua các ứng dụng. Do đó, ứng dụng ngân hàng phải được kiểm tra để thiết kế đơn giản và hiệu quả để làm cho nó có thể sử dụng giữa các nhóm khách hàng khác nhau. Giao diện sử dụng đơn giản và dễ dàng thì số lượng khách hàng lớn sẽ được hưởng lợi từ các ứng dụng ngân hàng. Kiểm tra năng suất Thời gian nhất định như ngày phải trả tiền, kết thúc năm tài chính, mùa lễ hội có thể mang lại sự thay đổi hoặc tăng vọt các giao dịch trên ứng dụng. Do đó, một kiểm thử hiệu suất kỹ lưỡng nên được thực hiện để khách hàng không bị ảnh hưởng bởi sự cố hiệu suất. Kiểm thử chấp nhận người dùng Kiểm thử này được thực hiện bởi những người dùng cuối để đảm bảo rằng các ứng dụng phù hợp với các tình huống thực tế và sẽ được chấp nhận bởi người dùng nếu nó hoạt động Ngày nay phần lớn kịch bản của dự án Ngân hàng đang sử dụng : Agile / Scrum, RUP và phương pháp tích hợp liên tục , và gói công cụ như VSTS của Microsoft và Rational Như chúng ta đã đề cập về RUP ở trên, RUP là viết tắt của Rational Unified Process, mà là một phương pháp phát triển phần mềm lặp được giới thiệu bởi IBM trong đó bao gồm bốn giai đoạn, trong đó hoạt động phát triển và thử nghiệm được thực hiện. Bốn giai đoạn là i) Pha khởi đầu (Inception) ii) Pha xây dựng phác thảo (Elaboration) iii) Pha xây dựng iv) Pha chuyển giao (Transition) RUP liên quan rộng rãi đến công cụ IBM Rational Trong bài viết này, chúng tôi đã thảo luận một ứng dụng ngân hàng phức tạp như thế nào và các giai đoạn điển hình tham gia vào kiểm thử ứng dụng . Ngoài ra chúng tôi cũng đã thảo luận các xu hướng hiện tại theo chuẩn công nghiệp IT bao gồm các phương pháp phát triển phần mềm và các công cụ. Đọc thêm
- Làm thế nào để thử nghiệm hệ thống Ngân hàng Bán lẻ http://www.softwaretestinghelp.com/how-to-test-retail-banking-system/
- Làm thế nào để kiểm thử ứng dụng ngân hàng đầu tư(với 34+ kịch bản kiểm thử quan trọng) http://www.softwaretestinghelp.com/how-to-test-investment-banking-application/
Refer: http://www.softwaretestinghelp.com/testing-banking-applications/