1
1
1
2
Mục lục
I. Bảng phân công công việc
Người thực hiện
TRƯỜNG ĐẠI HỌC -----------------KHOA CÔNG NGHỆ THÔNG TIN
~~~~~~*~~~~~~
========
==========
=============
Nhiệm vụ
Kiểm tra ứng dụng tên miền ngân hàng
Hướng dẫn kiểm tra cổng thanh toán (payment
gateway) với các trường hợp kiểm tra mẫu
Cách kiểm tra trang web thương mại điện tử
BÀI TẬP LỚN
MÔN HỌC: KIỂM THỬ PHẦN MỀM
Đề tài: Nghiên cứu các kỹ thuật kiểm thử với các hệ thống ứng dụng ngân hàng, web
Giáo Viên Hướng Dẫn: ----------------.
Lớp: .
Nhóm : -------------------.
Thành Viên Nhóm:
--------------------------------------------------------------------------------------------------------------------
Hà Nội 2021
2
2
3
II. Kiểm tra ứng dụng tên miền ngân
hàng
Ngành BFSI (Ngân hàng, Dịch vụ tài chính và Bảo hiểm) có số người tiêu
dùng dịch vụ CNTT lớn nhất. Ứng dụng ngân hàng trực tiếp xử lý dữ liệu tài chính
bảo mật. Một điều bắt buộc là tất cả các hoạt động được thực hiện bởi phần mềm
ngân hàng đều phải chạy trơn tru và khơng có bất kỳ lỗi nào.
Phần mềm ngân hàng thực hiện các chức năng khác nhau như chuyển và gửi
tiền, yêu cầu số dư, lịch sử giao dịch, rút tiền, v.v. Kiểm tra ứng dụng ngân hàng
đảm bảo rằng các hoạt động này không chỉ được thực hiện tốt mà còn được bảo vệ
khỏi hacker.
1. Khái niệm về domain trong kiểm thử
Domain là nơi mà dự án kiểm thử phần mềm được tạo ra. Khi chúng ta nói về
dự án hoặc phát triển phần mềm, thuật ngữ này thường được nhắc đến. Ví dụ:
Domain về bảo hiểm, Domain về ngân hàng, Domain về bán lẻ, Domain về viễn
thông, v.v.
Kiểm thử domain ngân hàng là kiểm thử tất cả mọi mặt hay một nhóm các chức
năng, phạm vi mà dự án đề , lên kế hoạch trước.
2. Lợi ích khi kiểm thử domain
Kiến thức domain là quan trọng và cần thiết để thử nghiệm bất kỳ sản phẩm
phần mềm nào và nó có những lợi ích riêng như:
Hình 1.1 Lợi ích khi kiểm thử domain
3
3
4
3. Kiến thức domain về ngân hàng
Khái niệm lĩnh vực ngân hàng là rất lớn và về cơ bản, nó được phân loại thành hai
lĩnh vực
• Ngành ngân hàng truyền thống
• Dịch vụ ngân hàng dựa trên lĩnh vực
Dưới đây là bảng dịch vụ hai phân ngành ngân hàng này bao gồm
*Ngành ngân hàng truyền thống bao gồm :
• Ngân hàng lõi
• Ngân hàng doanh nghiệp
• Ngân hàng bán lẻ
*Dịch vụ ngân hàng dựa trên lĩnh vực bao gồm :
•
•
•
•
•
Cơng ty
Khoản vay
Ngân hàng tư nhân
Ngân hàng Hồi giáo
•
•
•
•
Bán lẻ
Tài chính thương mại
Tài chính tiêu dùng
Kênh phân phối/ giao hàng
Dựa trên scope của dự án của bạn, bạn có thể cần phải kiểm tra một hoặc tất cả
các dịch vụ trên. Trước khi bạn bắt đầu thử nghiệm, hãy đảm bảo bạn có đủ nền
tảng về dịch vụ đang được thử nghiệm.
4. Đặc điểm của ứng dụng ngân hàng
Một ứng dụng ngân hàng tiêu chuẩn phải đáp ứng tất cả các đặc điểm sau:
• Hỗ trợ hàng ngàn phiên người dùng đồng thời
• Một ứng dụng ngân hàng nên tích hợp với nhiều ứng dụng khác như tài
khoản giao dịch, tiện ích thanh tốn hóa đơn, thẻ tín dụng…
• Nó nên xử lý các giao dịch nhanh chóng và an tồn
• Nó nên bao gồm hệ thống lưu trữ lớn.
• Để khắc phục sự cố của khách hàng, cần có khả năng audit cao
• Nó sẽ xử lý các quy trình cơng việc phức tạp
• Cần hỗ trợ người dùng trên nhiều nền tảng (Mac, Linux, Unix, Windows)
Thời gian thực và xử lý hàng loạt
• Tỷ lệ giao dịch mỗi giây cao
5. Tầm Quan Trọng Của Việc Thử Nghiệm Ứng
Dụng Ngân Hàng
4
4
5
•
•
•
•
•
Việc kiểm tra ứng dụng Ngân hàng đảm bảo rằng tất cả các hoạt động
không chỉ được thực hiện tốt mà còn được bảo vệ và bảo mật.
Phần mềm ngân hàng phức tạp với hàng nghìn phần phụ thuộc và q
trình thử nghiệm địi hỏi nhiều thời gian, nguồn lực và sự giám sát liên
tục.
Vì liên quan đến vấn đề tài chính, các nguyên tắc này phải được tuân
thủ nghiêm ngặt. Cả người kiểm tra và nhà phát triển phải có kiến
thức miền tốt.
Quan trọng nhất, nó phải được đảm bảo rằng các luật và quy định
được thực thi một cách chính xác trong các giao dịch tài chính. Điều
này chỉ có thể được đảm bảo với thử nghiệm.
Điều quan trọng nữa là đảm bảo rằng ứng dụng và cơ sở hạ tầng mà
ứng dụng đã được triển khai có thể xử lý tải, đặc biệt là trong giờ làm
việc cao điểm, mà không gây ra bất kỳ gián đoạn nào. Điều này có thể
được đảm bảo bằng cách thực hiện kiểm tra hiệu suất.
6. Quy trình kiểm tra ứng dụng ngân hàng
Ví dụ: Đây là mơ hình Thác nước để thử nghiệm một ứng dụng
a) Thu thập Yêu cầu
Giai đoạn Thu thập Yêu cầu bao gồm tài liệu về các yêu cầu dưới dạng Thông
số kỹ thuật chức năng hoặc Trường hợp sử dụng. Các yêu cầu được thu thập theo
nhu cầu của khách hàng và được các Chuyên gia ngân hàng hoặc Nhà phân tích
kinh doanh ghi lại.
Ví dụ: một ứng dụng ngân hàng có thể có các mơ-đun riêng biệt cho Chuyển
khoản, Thẻ tín dụng, Báo cáo, Tài khoản Khoản vay, Thanh tốn Hóa đơn, Giao
dịch, v.v.
b) Đánh giá Yêu cầu
Việc cung cấp Thu thập Yêu cầu được xem xét bởi tất cả các bên liên quan như
Kỹ sư QA, Trưởng nhóm phát triển và Nhà phân tích kinh doanh ngang hàng. Tất
cả các yêu cầu đã được xác minh và xác nhận. Hành động theo dõi và sửa đổi tài
liệu yêu cầu được thực hiện dựa trên cùng một.
c) Lập kế hoạch kiểm tra
5
5
6
Trong giai đoạn này, Kỹ sư QA lấy các Kịch bản kinh doanh từ các tài liệu yêu
cầu (Thông số chức năng hoặc Trường hợp sử dụng)
Các tình huống kinh doanh được đưa ra theo cách mà tất cả các Yêu cầu
nghiệp vụ đều được đề cập. Kịch bản kinh doanh là kịch bản cấp cao mà khơng có
bất kỳ bước chi tiết nào.
Ví dụ , một khách hàng mở Khoản tiền gửi cố định trên giao diện ngân hàng kỹ
thuật số có thể là một kịch bản kinh doanh. Tương tự, chúng tơi có các kịch bản
kinh doanh khác nhau liên quan đến việc tạo tài khoản ngân hàng ròng, gửi tiền
trực tuyến, chuyển khoản trực tuyến, v.v.
d) Kiểm tra chức năng
Chuẩn bị trường hợp thử nghiệm: Ở giai đoạn này, các trường hợp thử
nghiệm bắt nguồn từ các Kịch bản nghiệp vụ, một Kịch bản nghiệp vụ dẫn đến một
số trường hợp thử nghiệm tích cực và tiêu cực.
Đánh giá trường hợp thử nghiệm: Đánh giá chi tiết các trường hợp thử nghiệm
Kiểm thử chức năng của một ứng dụng ngân hàng khá khác so với kiểm thử
phần mềm thơng thường. Vì 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 nên chúng bắt buộc phải được kiểm tra kỹ
lưỡng. Khơng có kịch bản kinh doanh quan trọng nào nên được đề cập.
e) Kiểm tra cơ sở dữ liệu
Ứng dụng Ngân hàng liên quan đến các giao dịch phức tạp được thực hiện ở cả
cấp độ UI và cấp độ Cơ sở dữ liệu, Do đó, kiểm thử 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 & là một lớp hoàn tồn riêng biệt
trong ứng dụng và do đó việc kiểm tra nó được thực hiện bởi các chuyên gia cơ sở
dữ liệu.
Sử dụng các kỹ thuật như:
Đang tải dữ liệu
Kiểm tra lược đồ và kiểu dữ liệu DB
Kiểm tra các thủ tục và chức năng
được lưu trữ
Toàn vẹn dữ liệu
6
6
Di chuyển cơ sở dữ liệu
Kiểm tra quy tắc
Kiểm tra kích hoạt
7
.
Chủ yếu có ba cách Kiểm tra Cơ sở dữ liệu:
• Kiểm tra kết cấu
• Thử nghiệm chức năng
• Kiểm tra phi chức năng
f) Kiểm tra bảo mật
Kiểm tra bảo mật thường là giai đoạn cuối cùng của chu kỳ kiểm tra. Điều
kiện tiên quyết để bắt đầu kiểm thử bảo mật là hoàn thành kiểm thử chức năng và
phi chức năng. Kiểm tra bảo mật là một trong những giai đoạn chính của tồn bộ
chu trình Kiểm thử ứng dụng vì giai đoạn này đảm bảo rằng ứng dụng tuân thủ các
tiêu chuẩn của Liên bang và Công nghiệp.
Do tính chất của dữ liệu mà chúng mang theo, các ứng dụng ngân hàng rất
nhạy cảm và là mục tiêu hàng đầu của tin tặc và các hoạt động gian lận.
Kiểm tra bảo mật đảm bảo rằng ứng dụng không có bất kỳ lỗ hổng web nào như
vậy có thể làm lộ dữ liệu nhạy cảm cho kẻ xâm nhập hoặc kẻ tấn cơng. Nó cũng
đảm bảo rằng ứng dụng tuân thủ các tiêu chuẩn như OWASP.
Ở giai đoạn này, nhiệm vụ chính là qt tồn bộ ứng dụng được thực hiện bằng các
công cụ như IBM AppScan hoặc HP WebInspect (đây là những công cụ phổ biến
nhất).
Kiểm tra bảo mật kiểm tra ứng dụng chống lại:
• Mọi cuộc tấn cơng từ bên ngồi hoặc cố gắng hack ứng dụng với mục đích
xấu.
• Bất kỳ lỗ hổng nào trong ứng dụng phần mềm đều có thể bị lợi dụng gây ra
tổn thất dữ liệu hoặc tiền tệ.
• Bất kỳ lỗ hổng nào trong mạng, máy chủ hoặc máy trạm lưu trữ ứng dụng.
Các loại Kiểm tra bảo mật khác nhau:
Kiểm tra lỗ hổng bảo mật: Một chương trình tự động được phát triển và thực
thi để kiểm tra các lỗ hổng bảo mật khác nhau.
Quét bảo mật: Biến thể này xoay quanh việc điều tra các lỗ hổng mạng &
hệ thống, từ đó cung cấp các giải pháp để giảm rủi ro liên quan.
7
7
8
Kiểm tra thâm nhập: Biến thể của kiểm tra bảo mật này bắt chước một nỗ
lực hack để nắm bắt các lỗ hổng và lỗ hổng, mà nếu khơng thì có thể đã giành
được quyền truy cập vào cơ sở dữ liệu hoặc dữ liệu ứng dụng.
Kiểm tra bảo mật: Điều này liên quan đến việc kiểm tra ứng dụng và các
mạng liên quan xem có bất kỳ lỗi bảo mật nào không.
Đánh giá rủi ro: Biến thể này thực hiện phân tích để đánh giá mức độ rủi
ro, trong trường hợp lỗ hổng hoặc kẽ hở bị lợi dụng cho mục đích xấu. Rủi ro như
vậy có thể được phân loại thành thấp, trung bình và cao. Dựa trên mức độ rủi ro,
nhóm thử nghiệm sẽ đưa ra các biện pháp thích hợp để giảm hoặc ngăn chặn rủi ro.
Lấy cắp thông tin đạo đức: Điều này được thực hiện bởi một tổ chức trên
hệ thống của họ để xác định các sơ hở có thể bị khai thác trong ứng dụng hoặc
mạng của họ. Mục đích của kiểu tấn công này không phải là để ăn cắp hoặc gây ra
thiệt hại cho ứng dụng hoặc mạng.
Đánh giá tư thế: Đây là một đánh giá chung bao gồm quét bảo mật, đánh
giá rủi ro và hack đạo đức.
SQL Injection: SQL Injection có thể được sử dụng để truy cập vào cơ sở dữ
liệu máy chủ. Kiểm tra được thực hiện để đảm bảo rằng mã đang hoạt động chính
xác, mã này thực thi các truy vấn trong cơ sở dữ liệu dựa trên các đầu vào sau từ
người dùng:
Dấu ngoặc
Apostrophes
Dấu phẩy
Dấu ngoặc kép
Ngồi các giai đoạn chính ở trên, có thể có các giai đoạn khác nhau liên quan
như Kiểm tra tích hợp, Kiểm tra khả năng sử dụng, Kiểm tra sự chấp nhận của
người dùng và Kiểm tra hiệu suất.
g) Kiểm tra khả năng sử dụng
Một ứng dụng ngân hàng phục vụ nhiều loại khách hàng. Một số khách hàng
trong số này có thể thiếu các kỹ năng và nhận thức cần thiết để thực hiện các
nhiệm vụ ngân hàng qua ứng dụng.
Ví dụ: ngày nay mọi người đều sử dụng ứng dụng dành cho thiết bị di
động. Ứng dụng ngân hàng phải thân thiện với người dùng và dễ hiểu và dễ sử
dụng đối với người dùng cuối.
h) Kiểm tra năng suất
8
8
9
Một số khoảng thời gian nhất định, như ngày lĩnh lương, cuối năm tài chính và
mùa lễ hội, có thể mang lại sự thay đổi hoặc tăng đột biến về lưu lượng truy cập
thơng thường trên ứng dụng. Do đó, nên thực hiện kiểm tra hiệu suất kỹ lưỡng để
khách hàng không bị ảnh hưởng bởi các lỗi hiệu suất.
i) Kiểm tra sự chấp nhận của người dùng
Điều này được thực hiện bằng cách liên kết với người dùng cuối để đảm bảo
rằng ứng dụng tuân thủ các tình huống trong thế giới thực và sẽ được người dùng
chấp nhận nếu nó xuất hiện trực tuyến.
7. Những thách thức trong thử nghiệm
domain ngân hàng & giảm thiểu
Thử thách tester có thể gặp phải trong quá trình thử nghiệm tên miền ngân hàng:
a) Truy cập vào dữ liệu sản xuất và sao chép nó dưới dạng dữ liệu thử nghiệm,
để thử nghiệm là một thách thức
Cách giải quyết:
• Đảm bảo rằng dữ liệu thử nghiệm đáp ứng các yêu cầu và hướng dẫn tn
thủ quy định
• Duy trì bảo mật dữ liệu bằng cách làm theo các kỹ thuật như che giấu dữ
liệu, dữ liệu thử nghiệm tổng hợp, tích hợp hệ thống thử nghiệm, v.v.
b) Thách thức lớn nhất trong hệ thống ngân hàng thử nghiệm là trong quá trình
di chuyển hệ thống từ hệ thống cũ sang hệ thống mới như thử nghiệm tất cả các
vòng lặp, phương pháp, plan.
Ngồi ra, cách dữ liệu sẽ được tìm nạp, tải lên và chuyển sang hệ thống mới
sau khi di chuyển
Cách giải quyết:
• Đảm bảo kiểm tra di chuyển dữ liệu hồn tất
• Đảm bảo các trường hợp Kiểm tra hồi quy được thực thi trên các hệ thống
cũ và mới và kết quả khớp.
c) Có thể có những trường hợp u cầu khơng được ghi chép tốt và có thể dẫn
đến những lỗ hổng chức năng trong kế hoạch kiểm tra
9
9
10
Nhiều yêu cầu phi chức năng không được ghi lại đầy đủ và người kiểm tra
khơng biết có nên kiểm tra hay không
Cách giải quyết:
Việc test nên tham gia vào dự án ngay từ các giai đoạn Phân tích yêu cầu và
nên chủ động xem xét các Yêu cầu nghiệp vụ
d) Điểm quan trọng nhất là kiểm tra xem hệ thống nói trên có tn theo các
chính sách và quy trình mong muốn khơng
Cách giải quyết:
Kiểm tra chính sách tn thủ hoặc quy định phải được thực hiện
e) Phạm vi và các mốc thời gian tăng lên khi ứng dụng ngân hàng được tích hợp
với các ứng dụng khác như internet hoặc Mobile bank
Cách giải quyết:
Đảm bảo ngân sách thời gian cho Kiểm tra tích hợp được hạch tốn nếu ứng
dụng ngân hàng của bạn có nhiều giao diện bên ngoài.
10
10
11
8. Một trường hợp thử nghiệm mẫu
Bảo mật là yếu tố chính cho bất kỳ ứng dụng ngân hàng. Do đó, trong q
trình chuẩn bị thử nghiệm, nhóm QA nên bao gồm cả kịch bản thử nghiệm tích cực
và tiêu cực để lẻn vào hệ thống và báo cáo mọi lỗ hổng trước khi bất kỳ cá nhân
trái phép nào có quyền truy cập vào nó.
Nó khơng chỉ liên quan đến việc viết các trường hợp thử nghiệm tiêu cực
mà cịn có thể bao gồm thử nghiệm phá hủy.:
1. Dành cho quản trị viên
• Xác minh đăng nhập của quản trị viên với dữ liệu hợp lệ và không hợp lệ
• Xác minh đăng nhập quản trị mà khơng có dữ liệu
• Xác minh tất cả các liên kết nhà quản trị
• Xác minh mật khẩu thay đổi quản trị viên với dữ liệu hợp lệ và khơng
hợp lệ
• Xác minh quản trị viên thay đổi mật khẩu mà không có dữ liệu
• Xác minh quản trị viên thay đổi mật khẩu với dữ liệu hiện có
• Xác minh đăng xuất quản trị
2. Đối với branch mới:
• Tạo một branch mới với dữ liệu hợp lệ và khơng hợp lệ
• Tạo một branch mới mà khơng có dữ liệu
• Tạo một branch mới với dữ liệu nhánh hiện có
• Xác minh tùy chọn đặt lại và hủy
• Cập nhật branch với dữ liệu hợp lệ và khơng hợp lệ
• Cập nhật branch khơng có dữ liệu
• Cập nhật branch với dữ liệu chi nhánh hiện có
• Xác minh tùy chọn hủy
• Xác minh xóa branch có và khơng có phụ thuộc
• Xác minh tùy chọn tìm kiếm chi nhánh
3. Cho Rule mới:
• Tạo một rule mới với dữ liệu hợp lệ và khơng hợp lệ
• Tạo một rule mới mà khơng có dữ liệu
• Xác nhận rule mới với dữ liệu hiện có
11
11
12
•
•
•
•
Xác minh mơ tả rule và loại rule
Xác minh tùy chọn hủy và đặt lại
Xác minh xóa rule có và khơng có phụ thuộc
Xác minh các liên kết trong trang chi tiết rule
4. Dành cho khách hàng và khách truy cập
• Xác minh tất cả các liên kết của khách truy cập hoặc khách hàng
• Xác nhận khách hàng đăng nhập với dữ liệu hợp lệ và khơng hợp lệ
• Xác nhận khách hàng đăng nhập mà khơng có dữ liệu
• Xác nhận đăng nhập ngân hàng mà khơng có dữ liệu
• Xác minh đăng nhập ngân hàng với dữ liệu hợp lệ hoặc không hợp lệ
5. Dành cho người dùng mới
•
•
•
•
•
•
•
•
Tạo người dùng mới với dữ liệu hợp lệ và khơng hợp lệ
Tạo người dùng mới khơng có dữ liệu
Tạo người dùng mới với dữ liệu branch hiện có
Xác minh tùy chọn hủy và đặt lại
Cập nhật người dùng với dữ liệu hợp lệ và không hợp lệ
Cập nhật người dùng với dữ liệu hiện có
Xác minh tùy chọn hủy
Xác minh xóa người dùng
9. Ví dụ kiểm tra chức năng module chuyển tiền
a) Kịch bản kiểm thử :
Các bước chi tiết :
• Đi tới trang chủ của trang web ngân hàng.
• Đến trang đăng nhập trang web ngân hàng.
• Nhập tên người dùng và mật khẩu.
• Chuyển đến trang chuyển tiền.
• Chọn ngân hàng chuyển tiền
• Chọn tài khoản người cần chuyển , số tài khoản người thụ hưởng.
• Nhập số tiền cần chuyển .
• Thơng điệp có thể nhập hoặc để trống
• Bấm nút thực hiện chuyển tiền
12
12
13
• Thơng báo sẽ hiển thị trang thái chuyển tiền.
• Bất cứ bước nào ở trên . Sẽ có các ngoại lệ được thu lại như các trường kiểm
thử đầu vào.
• Quy trình điền các trường vào form được thực hiện với nhiều test case để
thực hiện kiểm thử dựa trên bộ test mẫu trong file test.xlsx.
• Kết quả kiểm thử các bước sẽ được lưu lại trong file result.xlsx
b) Các trường trong file báo cáo excel
ST
T
1
Tên trường
Mô tả
Ngân hàng
2
3
Số tiền
Trạng thái
4
Thành cơng
5
Vượt qua
Đây là trường chọn ngân hàng đích trong form chuyển
tiền
Đây là trường nhập số lượng tiền cần chuyển
Trạng thái thu về sau mỗi test thực hiện ( có thể là lỗi hoặc
thành cơng )
Trường hỗ trợ trạng thái truyển tiền thành công hay thất
bại (0 là thất bại , 1 là thành công)
Trường này thể hiện xem test case có đúng với test case
mẫu khơng . Nếu PASS là vượt qua test , FAIL là không
vượt qua test case đó
c) Xác định cơng cụ kiểm thử :
Xác định công cụ kiểm thử sử dụng mã viết bằng ngơn ngữ python trên
Pycharm trên các thư viện tiện ích hỗ trợ như numpy pandas , selenium, drive ,
ChromeDriverManager.
Sử dụng các thư viện selenium, driver tương tác với trình duyệt để nhập và
gửi dữ liệu về . Pandas , numpy để xuất dữ liệu và lấy dữ liệu cho báo cáo.
d) Chi tiết công cụ
Sử dụng Pycharm chạy mã python trên mơi trường python 3.9
• Main.py là file chứa mã chính của chương trình .
• Generate.py là file chứa các hàm sinh test và lấy test từ dữ liệu từ excel
• File result.xlsx ở cùng thư mục chứ file kết quả của các test case
13
13
14
• File test.xlsx chứa test case mẫu
Ảnh 9.1 Màn hình cơng cụ pycharm kiểm thử
Ảnh 9.2 Màn hình login
14
14
15
Ảnh 9.3Màn hình form chuyển tiền để tiến hành ghi test case mẫu
Ảnh 9.4 Màn hình hiển thị kết quả trả về
15
15
16
Ảnh 9.5 Màn hình excel file test.xlsx
Ảnh 9.6 Màn hình excel file result.xlsx
e) Tiến hành đối chiếu sau khi chạy mã kiểm thử:
16
16
17
• Sau khi kiểm thử dữ liệu test được đưa vào file result.xlsx thì xác nhận có 4
dịng lỗi ( 4 dòng hiển thị tại cột Vượt qua là “FAIL”)
Ảnh 9.7 File result.xlsx
Ảnh 9.8 File result.xlsx
• Tiến hành đối chiếu với file test.xlsx để xác nhận lỗi chi tiết tại
18,26,55,86 đều khơng khớp với test mẫu
ST Dịn Đầu ra thực tế
Đầu ra mong muốn
T
g
1
18
Chuyen tien thanh cong ! So tien toi giao dich
toi thieu la 1000đ
2
26
Chuyen tien thanh cong ! So tien toi giao dich
toi thieu la 1000đ
3
55
Chuyen tien thanh cong ! So tien toi giao dich
toi thieu la 1000đ
4
86
Giao dich that bai. So du Han muc giao dich
khong du
toi da 100.000.000đ
các dịng
KQ
FAIL
FAIL
FAIL
FAIL
Nhận xét :
Có 2 lỗi được mã phát hiện là “So tien toi giao dich toi thieu la 1000đ” và “Han
muc giao dich toi da 100.000.000đ” . Được thơng báo rõ qua bảng . Từ đó xác
nhận ra lỗi và kiểm thử lại sau
17
17
18
III. Hướng dẫn kiểm tra cổng thanh toán
(payment gateway) với các trường hợp
kiểm tra mẫu
1. Kiểm tra cổng thanh toán là gì?
Payment gateway là kiểm tra 1 cổng thanh tốn. Hệ thống cổng thanh toán là một
dịch vụ ứng dụng thương mại điện tử chấp thuận thanh toán bằng thẻ tín dụng trong
mua hàng trực tuyến. Cổng thanh tốn bảo vệ các thơng tin thẻ tín dụng bằng cách
mã hóa các thơng tin như số thẻ tín dụng, chi tiết chủ tài khoản, v.v. Thơng tin này
được truyền an tồn giữa khách hàng và người bán và ngược lại.
Cổng thanh toán hiện đại cũng chấp thuận thanh toán qua thẻ ghi nợ, chuyển khoản
ngân hàng điện tử, thẻ tiền mặt, điểm thưởng, v.v.
2. Thuật ngữ cho các cổng thanh toán
Hãy xem qua một số thuật ngữ mà chúng tôi sẽ sử dụng trong bài viết này Merchant (Thương nhân) - Thương gia là một cá nhân hoặc doanh nghiệp bán hàng
hóa hoặc dịch vụ. Một số thương gia bao gồm Flipkart, Amazon và eBay.
Credit Card (Thẻ tín dụng) - Thẻ tín dụng là một thẻ nhựa có thể được sử dụng để
mua hàng hóa hoặc dịch vụ bằng tài khoản tín dụng. Thẻ Tín dụng có số thẻ Mười
sáu chữ số, ngày hết hạn, hình ba chiều, dải từ tính, bảng chữ ký và số CVV (Giá trị
xác minh thẻ) ở mặt sau của thẻ.
Acquiring bank (Ngân hàng mua lại) - Ngân hàng mua là một tổ chức tài chính
quản lý tài khoản ngân hàng của người bán và cho phép họ chấp nhận và xử lý các
giao dịch thẻ ghi nợ và thẻ tín dụng tại địa điểm của họ.
Issuing Bank (Ngân hàng phát hành) - Ngân hàng phát hành là một tổ chức tài
chính phát hành thẻ ghi nợ hoặc thẻ tín dụng cho khách hàng. Khi khách hàng sử
dụng thẻ tín dụng hoặc thẻ ghi nợ để mua hàng, ngân hàng phát hành sẽ chấp thuận
hoặc từ chối giao dịch dựa trên trạng thái tài khoản của chủ thẻ và thông tin này do
ngân hàng mua yêu cầu sẽ được thơng qua. Ví dụ: nếu ngày hết hạn của thẻ không
18
18
19
chính xác hoặc nếu số tiền mua hàng vượt quá hạn mức tín dụng của thẻ, giao dịch
sẽ bị từ chối.
Transaction (Giao dịch) - Thủ tục đầu cuối mà người bán nhận được tiền từ khách
hàng cho một giao dịch.
Authorization (Ủy quyền) - Khi người tiêu dùng mua hàng, ủy quyền sẽ được yêu
cầu. Ngân hàng phát hành của khách hàng cung cấp ủy quyền này, ủy quyền này
xác minh tính xác thực của chủ thẻ, khả năng thanh tốn và sở hữu đủ tiền, cùng
những thứ khác. Tiền được giữ và số dư được giảm từ hạn mức tín dụng của khách
hàng, nhưng chưa được chuyển vào tài khoản người bán, sau khi việc này được
thực hiện.
Capture (Thu thập)- Trong bước này, người bán thu thập tất cả thông tin thanh tốn
cần thiết từ phía khách hàng và gửi đơn khiếu nại thu xếp / thu thập cho người xử
lý. Thông tin này được bộ xử lý sử dụng để bắt đầu chuyển tiền từ tài khoản thẻ của
khách hàng sang tài khoản ngân hàng của người bán.
3. Thông tin về Cổng thanh tốn và bộ xử lý
thanh tốn.
Có rất nhiều thông tin trực tuyến về việc liệu cổng thanh tốn và bộ xử lý thanh
tốn có phải là các mô-đun riêng biệt với các chức năng khác nhau hay khơng
Trong suốt các dự án của mình, ta thấy rằng các từ Bộ xử lý thanh toán và Cổng
thanh tốn được sử dụng thay thế cho nhau mà khơng có sự khác biệt rõ ràng. Cổng
thanh tốn đơi khi được người bán gọi là bộ xử lý thanh toán vì chúng xử lý tất cả
các khoản thanh tốn.
Cổng thanh tốn được gọi là 'Bộ xử lý thanh tốn' vì chúng hoạt động như một
phương tiện xử lý và hoàn thành các giao dịch thanh tốn an tồn. Ví dụ về bộ xử lý
thanh toán là eBay, Paypal, v.v.
19
19
20
4. Các loại hệ thống cổng thanh toán
a) Cổng thanh toán được lưu trữ (Hosted Payment Gateway):
Hosted Payment Gateway hướng khách hàng đi từ một trang web thương mại điện
tử đến liên kết cổng trong q trình thanh tốn. Sau khi thanh tốn xong, nó sẽ đưa
khách hàng trở lại trang web thương mại điện tử. Đối với hình thức thanh tốn này,
bạn khơng cần id người bán ( VD: PayPal, Noche và WorldPay)
b) Cổng thanh toán dùng chung (Shared Payment Gateway):
Một share payment gateway, trong khi xử lý, khách hàng thanh toán được chuyển
đến trang thanh toán và ở lại trên trang web thương mại điện tử khi chi tiết thanh
tốn được điền, q trình thanh tốn được tiến hành. Vì nó khơng rời khỏi trang
web thương mại điện tử trong khi xử lý thanh tốn, nên hình thức thanh toán này dễ
dàng và tốt hơn (VD: eWay, Stripe).
5. Các loại thử nghiệm cho Payment Domain
a) Function testing:
Đó là hành động kiểm tra chức năng cơ bản của cổng thanh tốn, để xác minh xem
ứng dụng có hoạt động theo cùng một cách giống như xử lý các đơn đặt hàng, tính
tốn, thêm thuế VAT theo quốc gia, v.v
b) Integration:
20
20
21
Là kiểm tra tích hợp với dịch vụ thẻ tín dụng.
c) Performance:
Thống kê các số liệu hiệu suất khác nhau khi số lượng người dùng lớn nhất có thể
thơng qua các cổng trong một ngày cụ thể và chuyển đổi chúng thành người dùng
đồng thời.
d) Security:
Bạn cần có bảo mật cao cho Cổng thanh toán.
6. Cách kiểm tra Cổng thanh tốn: Danh sách
kiểm tra hồn chỉnh
Trước khi bắt đầu kiểm tra:
•
Chuẩn bị dữ liệu để kiểm tra: số thẻ tín dụng giả lập cho maestro, visa,
master, v.v.
•
Thu thập thơng tin cổng thanh tốn như Google Wallet, Paypal hoặc những
thứ khác
•
Thu thập tài liệu cổng thanh tốn với mã lỗi
•
Hiểu các session và các tham số được truyền qua ứng dụng và cổng thanh
tốn
•
Hiểu và kiểm tra lượng thơng tin liên quan được truyền qua chuỗi truy vấn
hoặc biến hoặc session
•
Cùng với ngơn ngữ cổng thanh tốn, kiểm tra ngơn ngữ của ứng dụng
•
Các cài đặt khác nhau của cổng thanh toán như định dạng tiền tệ, dữ liệu
thuê bao được thu thập.
7. Các trường hợp kiểm tra ví dụ cho kiểm tra
cổng thanh tốn
Sau đây là các tình huống / trường hợp kiểm tra quan trọng để kiểm tra Cổng thanh
toán
21
21
22
#
Test case
1 Trong q trình thanh tốn, hãy cố gắng thay đổi ngơn ngữ cổng thanh tốn
2 Sau khi thanh tốn thành cơng, hãy kiểm tra tất cả các thơng tin cần thiết, cho
dù nó có được truy xuất hay khơng
3 Kiểm tra xem điều gì xảy ra nếu cổng thanh toán bị ngừng lại trong khi thanh
toán
4 Trong quá trình thanh tốn, hãy kiểm tra xem điều gì xảy ra nếu phiên kết thúc
5 Trong q trình thanh tốn, hãy kiểm tra những gì xảy ra trong phần backend
6 Kiểm tra xem điều gì xảy ra nếu quá trình thanh toán thất bại
7 Kiểm tra các mục Cơ sở dữ liệu có lưu trữ chi tiết thẻ tín dụng hay khơng
8 Trong q trình thanh tốn, kiểm tra các trang lỗi và trang bảo mật
9 Kiểm tra cài đặt của pop-up blocker và xem điều gì sẽ xảy ra nếu pop-up
blocker bật và tắt
10 Kiểm tra các buffer page giữa cổng thanh toán và ứng dụng
11 Kiểm tra thanh tốn thành cơng, mã thành cơng được gửi đến ứng dụng và trang
xác nhận được hiển thị cho người dùng
12 Xác minh xem các giao dịch được xử lý ngay lập tức hoặc xử lý được giao cho
ngân hàng của bạn
13 Sau khi giao dịch thành cơng cổng thanh tốn, kiểm tra xem có trở lại ứng dụng
của bạn khơng
14 Kiểm tra tất cả các định dạng và tin nhắn khi q trình thanh tốn thành cơng
15 Khi bạn khơng có hóa đơn từ cổng thanh tốn, khơng nên chuyển hàng
16 Thơng báo cho chủ sở hữu khi có bất kỳ giao dịch được xử lý qua e-mail. Mã
hóa nội dung của thư
22
22
23
#
Test case
17 Kiểm tra định dạng số tiền với định dạng tiền tệ
18 Kiểm tra với mỗi tùy chọn thanh toán được lựa chọn
19 Kiểm tra xem với mỗi tùy chọn thanh tốn được liệt kê có mở tùy chọn thanh
tốn tương ứng theo thơng số kỹ thuật khơng
20 Xác minh xem cổng thanh tốn có tùy chọn cho thẻ ghi nợ / thẻ tín dụng khơng
21 Xác minh tùy chọn mặc định cho thẻ ghi nợ có hiển thị drop down menu để lựa
chọn thẻ không
8. Những điều cần xem xét trước khi mua qua
payment gateway
•
Nếu bạn đã mua một gói hàng, hãy tìm hiểu về khả năng tương thích của nó
•
Nếu gói cổng mua sắm đến hạn, hãy hỏi nhà cung cấp cổng thanh toán để
biết danh sách các ứng dụng được hỗ trợ
•
Cổng phải có hệ thống bảo vệ thơng tin địa chỉ
•
Tìm hiểu các hình thức bảo vệ giao dịch đang được cung cấp
•
Kiểm tra loại thẻ ghi nợ hoặc thẻ tín dụng nào được chấp nhận bởi cổng
thanh tốn bạn đã chọn
•
Kiểm tra phí giao dịch được thu bởi cổng thanh tốn
•
Kiểm tra xem các cổng thu thập thanh toán ngay trên biểu mẫu hoặc trực
tiếp đến một trang khác để hoàn tất giao dịch mua
9. Ví dụ kiểm tra chức năng thanh tốn qua
cổng thanh tốn(payment gateway)
Cổng thanh tốn có các phương thức thanh toán như: thanh toán bằng visa,
thanh toán thẻ ATM, thanh toán ngân hàng nội địa,…(trong trường hợp này
em thực hiện kiểm thử thanh toán ngân hàng nội địa)
23
23
24
a. Kịch bản kiểm thử
• Bật trình duyệt web đi đến trang mua sắm chọn thanh tốn
• Đi tới trang cổng thanh tốn (http://localhost/vnpay_php/)
• Chọn ngân hàng của tài khoản bạn muốn thanh tốn
• Nhập tên chủ tài khoản và mã số ID
• Số tiền sẽ được chuyển qua tự động từ trang mua sắm(ở đây em tạo trường
hợp kiểm thử với mức thanh toán nên trường này sẽ được nhập)
• Bấm vào nút thanh tốn
• Dữ liệu sẽ được gửi sang bên ngân hàng và bên ngân hàng sẽ gửi lại thông
tin thông báo giao dịch thành công hoặc thất bại
• Bấm nút “quay lại” để quay về màn hình cổng thanh tốn
b. Các case kiểm thử
•
Kiểm tra trường hợp khơng đủ tiền thanh tốn
•
Kiểm tra trường hợp nhập sai tài khoản hoặc mật khẩu
•
Kiểm tra trường hợp ngân hàng không phục vụ
c.
Phần mềm kiểm thử được sử dụng (katalon studio)
• Giao diện tool kiểm thử:
24
24
25
d.
Màn hình giao diện cổng thanh tốn
a.
Màn hình trường nhập:
b. Màn hình thanh tốn thành cơng
c. Màn hình trả về khi nhập sai tài khoản hoặc mật khẩu
25
25