Bạn đã phát hành một phiên bản mới, và sau một giờ nhận được báo cáo lỗi: “Tại Đức hiển thị phiên bản trang không đúng”, “Tại Mỹ không hoạt động thanh toán”, “Tại Nga nội dung bị chặn”. Tái hiện điều này từ máy tính cục bộ là không thể. Chính tại đây, proxy trở thành một công cụ làm việc hoàn chỉnh cho kỹ sư QA.
Trong bài viết này, chúng ta sẽ xem xét cách sử dụng proxy đúng cách để kiểm tra hành vi phụ thuộc vào địa lý của các ứng dụng, các loại proxy nào phù hợp cho các nhiệm vụ QA khác nhau, và sẽ trình bày các kịch bản từng bước - từ việc kiểm tra nội dung địa lý đến kiểm tra cổng thanh toán.
Tại sao QA tester cần proxy: các kịch bản thực tế
Nhiều đội ngũ vẫn kiểm tra hành vi "quốc tế" của ứng dụng chỉ từ các máy tính cục bộ, thỉnh thoảng kết nối VPN. Điều này tạo ra một vùng mù lớn. VPN thay đổi địa chỉ IP, nhưng không mô phỏng mạng thực tế của người dùng từ một quốc gia cụ thể - nhà cung cấp, loại kết nối, nhà mạng di động. Proxy cho phép truy cập internet qua địa chỉ IP thực tế của khu vực hoặc loại mạng cần thiết.
Dưới đây là những nhiệm vụ cụ thể mà các QA tester gặp phải hàng ngày:
- Nội dung địa lý và địa phương hóa. Ứng dụng hiển thị nội dung khác nhau tùy thuộc vào quốc gia của người dùng: giá bằng tiền tệ địa phương, chương trình khuyến mãi khu vực, các phần bị chặn. Không thể kiểm tra điều này mà không có proxy.
- Các hệ thống thanh toán khu vực. Stripe hoạt động khác nhau ở EU và Mỹ. PayPal ở Brazil - một trường hợp riêng. Cần kiểm tra quy trình thanh toán từ đúng quốc gia.
- CDN và bộ nhớ đệm. Mạng phân phối nội dung có thể trả về các phiên bản khác nhau của tài nguyên từ các điểm khác nhau. QA phải đảm bảo rằng tĩnh tải đúng cho người dùng ở châu Á, châu Âu và châu Mỹ.
- Các chặn và hạn chế. Ở một số quốc gia, một số chức năng của ứng dụng không khả dụng theo luật. Cần đảm bảo rằng việc chặn hoạt động chính xác và người dùng thấy thông báo rõ ràng.
- A/B test theo địa lý. Nếu thí nghiệm chỉ được khởi động cho người dùng từ Vương quốc Anh, QA phải truy cập với IP của Vương quốc Anh và đảm bảo rằng họ thấy phiên bản cần thiết.
- Kiểm tra SEO. Thẻ meta, hreflang, các phiên bản trang khu vực - tất cả đều cần được kiểm tra với IP từ quốc gia tương ứng, nếu không, công cụ tìm kiếm và người dùng thực tế sẽ thấy khác nhau.
- Kiểm tra tốc độ từ các khu vực khác nhau. Thời gian tải trang từ Singapore và từ Moscow có thể khác nhau từ 3–5 lần. Proxy cho phép tái hiện điều này trong một môi trường làm việc duy nhất.
Điểm chính:
Proxy không phải là để vượt qua các chặn "cho bản thân". Đối với QA, đây là một công cụ hạ tầng cho phép tái hiện điều kiện thực tế của người dùng từ bất kỳ đâu trên thế giới ngay từ bàn làm việc của tester.
Các loại proxy nào phù hợp cho kiểm tra
Không phải tất cả các proxy đều hữu ích như nhau cho QA. Việc chọn loại phụ thuộc vào những gì bạn đang kiểm tra. Chúng ta sẽ xem xét ba loại chính và tính ứng dụng của chúng cho các nhiệm vụ của tester.
Proxy cư trú
Đây là các địa chỉ IP của người dùng thực tế từ các quốc gia và thành phố cụ thể. Trang web thấy họ như những người bình thường, không phải như trung tâm dữ liệu hoặc mạng doanh nghiệp. Proxy cư trú là lựa chọn tối ưu cho hầu hết các nhiệm vụ QA: kiểm tra nội dung địa lý, A/B test, quy trình thanh toán và kiểm tra địa phương hóa. Chúng mô phỏng chính xác người dùng thực tế từ quốc gia cần thiết.
Ưu điểm cho QA: độ tin cậy cao từ các trang web và ứng dụng, phạm vi địa lý rộng (hơn 100 quốc gia), khả năng chọn thành phố hoặc nhà cung cấp cụ thể. Nhược điểm - hơi chậm hơn so với proxy trung tâm dữ liệu, điều này cần được xem xét khi kiểm tra hiệu suất.
Proxy di động
Các địa chỉ IP của các nhà mạng di động (3G/4G/5G). Rất quan trọng khi bạn kiểm tra hành vi của ứng dụng cho người dùng di động. Nhiều trang web và ứng dụng hoạt động khác nhau khi truy cập từ IP di động: hiển thị phiên bản di động, nội dung khác, xử lý địa lý khác. Proxy di động là không thể thiếu khi kiểm tra ứng dụng di động qua các trình giả lập hoặc khi kiểm tra tính thích ứng của phiên bản web.
Ngoài ra, IP di động là các địa chỉ động mà một nhà cung cấp phát cho hàng ngàn thuê bao. Điều này có nghĩa là lưu lượng thử nghiệm của bạn không trông đáng ngờ ngay cả khi có nhiều yêu cầu.
Proxy trung tâm dữ liệu
Nhanh nhất và rẻ nhất. Phù hợp cho kiểm tra tải, kiểm tra tự động với số lượng yêu cầu lớn, kiểm tra các điểm cuối API. Proxy trung tâm dữ liệu dễ dàng bị phát hiện như "không phải người dùng tại nhà", vì vậy chúng không phù hợp lắm cho việc kiểm tra trải nghiệm người dùng - nhưng cho các kiểm tra kỹ thuật và tải, đây là lựa chọn tối ưu.
| Loại proxy | Cho những nhiệm vụ QA nào | Tốc độ | Mức độ tin cậy từ các trang web |
|---|---|---|---|
| Cư trú | Nội dung địa lý, địa phương hóa, A/B test, cổng thanh toán | Trung bình | Cao |
| Di động | Trải nghiệm người dùng di động, kiểm tra trong điều kiện mạng di động | Trung bình | Rất cao |
| Trung tâm dữ liệu | Kiểm tra tải, kiểm tra API, kiểm tra kỹ thuật | Cao | Thấp |
Kiểm tra nội dung phụ thuộc vào địa lý: từng bước
Kiểm tra phụ thuộc vào địa lý là kịch bản sử dụng proxy phổ biến nhất trong QA. Đây là cách thực hiện trong thực tế, không cần viết mã, qua trình duyệt thông thường.
Bước 1. Nhận dữ liệu proxy
Sau khi kết nối với dịch vụ, bạn nhận được dữ liệu để kết nối: máy chủ (IP hoặc miền), cổng, tên đăng nhập và mật khẩu. Đối với proxy cư trú, thường bạn có thể chọn quốc gia và thành phố ngay trong tài khoản cá nhân hoặc qua các tham số trong chuỗi kết nối.
Ví dụ về chuỗi kết nối cho proxy cư trú với việc chọn quốc gia như sau: máy chủ chứa tham số quốc gia (ví dụ, country-de cho Đức), cổng - tiêu chuẩn, tên đăng nhập và mật khẩu - thông tin tài khoản của bạn.
Bước 2. Cài đặt proxy trong trình duyệt
Để kiểm tra thủ công, tiện nhất là sử dụng các tiện ích mở rộng cho trình duyệt, cho phép nhanh chóng chuyển đổi proxy mà không cần thay đổi cài đặt hệ thống. Các tùy chọn phổ biến: Proxy SwitchyOmega (Chrome/Firefox), FoxyProxy (Firefox).
Cài đặt từng bước qua Proxy SwitchyOmega:
- Cài đặt tiện ích từ Chrome Web Store.
- Mở cài đặt tiện ích → nhấn "New Profile" → chọn "Proxy Profile".
- Nhập dữ liệu proxy: Giao thức (SOCKS5 hoặc HTTP), Máy chủ (máy chủ), Cổng (cổng).
- Nếu cần xác thực - nhập tên đăng nhập và mật khẩu vào các trường tương ứng.
- Lưu hồ sơ và kích hoạt nó qua biểu tượng tiện ích trên thanh trình duyệt.
- Truy cập trang web whatismyip.com hoặc 2ip.ru - đảm bảo rằng IP từ quốc gia cần thiết được hiển thị.
Bước 3. Kiểm tra các yếu tố phụ thuộc vào địa lý
Sau khi kết nối proxy với địa lý cần thiết, hãy kiểm tra:
- Ngôn ngữ giao diện (xác định tự động theo IP)
- Tiền tệ giá và phương thức thanh toán
- Sự hiện diện/không hiện diện của các phần cụ thể của trang web
- Biểu ngữ và chương trình khuyến mãi cho khu vực cụ thể
- Độ chính xác của thẻ hreflang (mở mã nguồn trang)
- Chuyển hướng đến các miền phụ khu vực (ví dụ, de.site.com thay vì site.com)
- Biểu ngữ cookie (ở EU là bắt buộc theo GDPR)
Lời khuyên:
Tạo một số hồ sơ trong Proxy SwitchyOmega cho các quốc gia khác nhau: DE, US, GB, CN, BR. Điều này sẽ cho phép bạn chuyển đổi giữa các khu vực trong 10 giây và nhanh chóng hoàn thành toàn bộ danh sách kiểm tra mà không cần thao tác thừa.
Kiểm tra từ các loại mạng khác nhau
Ngoài địa lý, quan trọng là kiểm tra hành vi của ứng dụng tùy thuộc vào loại mạng của người dùng. Điều này đặc biệt quan trọng cho các sản phẩm có khán giả toàn cầu, nơi một phần lớn người dùng truy cập từ thiết bị di động qua các mạng của nhà cung cấp.
Mạng doanh nghiệp và tường lửa
Người dùng từ các mạng doanh nghiệp thường làm việc qua các máy chủ proxy của công ty và tường lửa, chặn một số loại yêu cầu, kết nối WebSocket hoặc CDN bên ngoài. Để mô phỏng những điều kiện như vậy, các tester sử dụng proxy trung tâm dữ liệu với các cài đặt hạn chế - điều này cho phép tái hiện môi trường doanh nghiệp "khó khăn".
Những gì cần kiểm tra trong kịch bản này: liệu thông báo đẩy có hoạt động không, liệu phông chữ có tải từ Google Fonts (thường bị chặn bởi tường lửa doanh nghiệp) hay không, liệu xác thực qua OAuth có hoạt động chính xác không.
Mạng di động (3G/4G/5G)
Qua các proxy di động, tester không chỉ nhận được IP di động mà còn cả các điều kiện thực tế của mạng di động: độ trễ khác nhau, đặc điểm NAT, tiêu đề yêu cầu đặc biệt từ các nhà mạng di động. Một số ứng dụng xử lý các yêu cầu từ IP di động khác nhau - ví dụ, đề nghị tải ứng dụng thay vì hiển thị phiên bản web.
Kết hợp các proxy di động với trình giả lập thiết bị trong Chrome DevTools (chế độ Device Toolbar) - như vậy bạn sẽ có được môi trường gần nhất với người dùng thực tế.
Nhà cung cấp với quyền truy cập hạn chế
Ở một số quốc gia, các nhà cung cấp internet chặn một số tài nguyên hoặc làm chậm lưu lượng truy cập đến các đối thủ cạnh tranh. Nếu sản phẩm của bạn hoạt động trên các thị trường có internet hạn chế (Trung Quốc, Iran, Nga), việc kiểm tra qua các proxy cư trú từ các quốc gia này sẽ cho thấy bức tranh thực tế về khả năng truy cập dịch vụ.
Kiểm tra cổng thanh toán và các chức năng khu vực
Kiểm tra thanh toán là một trong những lĩnh vực đau đầu nhất cho QA trong các sản phẩm quốc tế. Các hệ thống thanh toán sử dụng địa lý để kiểm tra gian lận: nếu IP của người dùng không khớp với địa chỉ thanh toán hoặc quốc gia của thẻ, giao dịch có thể bị từ chối hoặc đánh dấu là đáng ngờ.
QA tester phải tái hiện chính xác kịch bản như vậy: truy cập với IP từ quốc gia nơi thẻ thử nghiệm được phát hành và hoàn tất toàn bộ quy trình thanh toán. Không có proxy, điều này không thể thực hiện từ một máy cho nhiều khu vực.
Những gì cần kiểm tra qua proxy trong kiểm tra thanh toán
- Hiển thị các phương thức thanh toán có sẵn (PayPal, Stripe, Klarna, SEPA, PIX - mỗi khu vực có riêng)
- Độ chính xác của việc chuyển đổi tiền tệ và hiển thị phí
- Hoạt động của xác thực 3DS từ các quốc gia khác nhau
- Hành vi khi IP và quốc gia của thẻ không khớp (phải có thông báo lỗi chính xác)
- Thuế khu vực (VAT ở EU, GST ở Úc) - có tính toán chính xác không
- Hoạt động của các phương thức thanh toán khu vực: iDEAL ở Hà Lan, Sofort ở Đức, Boleto ở Brazil
Kiểm tra các chức năng khu vực (GDPR, CCPA và các yêu cầu khác)
Các yêu cầu pháp lý đối với sản phẩm khác nhau tùy thuộc vào quốc gia của người dùng. Đối với QA, điều quan trọng là đảm bảo rằng ứng dụng xác định chính xác quyền tài phán và áp dụng các quy tắc cần thiết:
- EU (GDPR): khi truy cập từ IP châu Âu, phải hiển thị biểu ngữ cookie với tùy chọn từ chối theo dõi
- California (CCPA): liên kết "Do Not Sell My Personal Information" phải hiển thị cho người dùng từ California
- Nga: nếu dữ liệu của người dùng Nga phải được lưu trữ trên các máy chủ ở Nga - hãy kiểm tra xem việc địa phương hóa có hoạt động chính xác không
- Trung Quốc: có chặn các dịch vụ bên ngoài (Google Analytics, Facebook Pixel) khi truy cập từ IP Trung Quốc không, và trang có bị hỏng do điều này không
Công cụ cho QA hỗ trợ proxy
Proxy có thể được sử dụng không chỉ trong trình duyệt một cách thủ công, mà còn tích hợp vào các bài kiểm tra tự động và công cụ QA. Hãy xem xét các tùy chọn chính.
Postman
Để kiểm tra API qua proxy trong Postman: hãy chuyển đến Cài đặt → Proxy → bật Sử dụng Proxy Hệ thống hoặc chỉ định proxy thủ công. Điều này cho phép kiểm tra cách các điểm cuối API phản hồi với các yêu cầu từ các quốc gia khác nhau - điều này rất quan trọng cho các API phụ thuộc vào địa lý, trả về nội dung khác nhau tùy thuộc vào IP.
Charles Proxy / Fiddler
Những công cụ này chặn lưu lượng HTTP/HTTPS và chính chúng là proxy. Chúng có thể được cấu hình để cho phép lưu lượng đi qua một máy chủ proxy bên ngoài (upstream proxy). Điều này cho phép chặn và phân tích các yêu cầu đồng thời và kiểm tra với IP địa lý cần thiết.
Trong Charles: Proxy → Cài đặt Proxy Bên ngoài → bật Sử dụng proxy bên ngoài và chỉ định thông tin của máy chủ proxy của bạn.
Playwright và Selenium
Đối với kiểm tra tự động, proxy được kết nối ở cấp độ cấu hình trình duyệt. Trong Playwright, điều này được thực hiện qua tham số proxy khi tạo ngữ cảnh trình duyệt. Trong Selenium - qua các tùy chọn ChromeDriver với việc chỉ định máy chủ proxy. Điều này cho phép chạy các bộ kiểm tra từ hàng chục quốc gia ở chế độ song song mà không cần cài đặt thủ công.
BrowserStack và Sauce Labs
Các nền tảng đám mây để kiểm tra có các công cụ tích hợp để kiểm tra từ các khu vực khác nhau. Tuy nhiên, khả năng chọn nhà cung cấp cụ thể hoặc loại mạng (di động/nhà) bị hạn chế. Proxy cung cấp nhiều linh hoạt hơn: bạn tự chọn quốc gia, thành phố, loại IP và nhà cung cấp.
k6 và JMeter (kiểm tra tải)
Đối với kiểm tra tải từ các khu vực khác nhau, proxy trung tâm dữ liệu được kết nối qua cấu hình HTTP client. Điều này cho phép mô phỏng tải từ người dùng thực tế từ các quốc gia khác nhau và kiểm tra cách CDN và các bộ cân bằng tải xử lý lưu lượng phân phối theo địa lý.
Danh sách kiểm tra: những gì cần kiểm tra qua proxy trước khi phát hành
Sử dụng danh sách kiểm tra này cho mỗi lần phát hành liên quan đến khán giả quốc tế. Chúng tôi khuyên bạn nên kiểm tra ít nhất 3–5 khu vực chính của sản phẩm của bạn.
📋 Danh sách kiểm tra kiểm tra địa lý
Địa phương hóa và nội dung:
- ☐ Ngôn ngữ giao diện được xác định chính xác theo IP
- ☐ Tiền tệ và định dạng số được hiển thị chính xác
- ☐ Biểu ngữ và chương trình khuyến mãi khu vực được hiển thị cho khán giả cần thiết
- ☐ Các phần bị chặn không khả dụng từ các quốc gia tương ứng
- ☐ Thẻ hreflang chỉ định các phiên bản khu vực chính xác
- ☐ Chuyển hướng đến các miền phụ khu vực hoạt động chính xác
Thanh toán và yêu cầu pháp lý:
- ☐ Các phương thức thanh toán chính xác cho khu vực có sẵn
- ☐ Thuế được tính toán chính xác
- ☐ Biểu ngữ cookie xuất hiện cho người dùng từ EU
- ☐ Liên kết CCPA hiển thị cho người dùng từ California
- ☐ Chính sách quyền riêng tư phù hợp với các yêu cầu khu vực
Hiệu suất và khả năng truy cập:
- ☐ Các trang tải trong thời gian chấp nhận từ các khu vực chính
- ☐ CDN trả về tĩnh chính xác từ các nút gần nhất
- ☐ Các dịch vụ bên ngoài (phân tích, chatbot) không bị chặn ở các quốc gia mục tiêu
- ☐ Ứng dụng hoạt động khi truy cập từ IP di động
A/B test và thí nghiệm:
- ☐ Các thí nghiệm nhắm mục tiêu địa lý được hiển thị cho khán giả cần thiết
- ☐ Người dùng từ các khu vực bị loại trừ thấy phiên bản kiểm soát
- ☐ Các cờ tính năng theo địa lý hoạt động chính xác
Những sai lầm phổ biến khi kiểm tra qua proxy
Ngay cả những tester có kinh nghiệm cũng mắc phải sai lầm khi làm việc với proxy. Chúng ta sẽ xem xét những sai lầm phổ biến nhất trong số đó.
Sai lầm 1: Không kiểm tra xem proxy thực sự hoạt động
Trước khi bắt đầu kiểm tra, luôn kiểm tra IP hiện tại trên một nguồn độc lập (whatismyip.com, 2ip.ru, ipleak.net). Đôi khi, proxy đã được cấu hình nhưng trình duyệt vẫn tiếp tục sử dụng kết nối trực tiếp - đặc biệt nếu tiện ích không được kích hoạt hoặc có xung đột với cài đặt hệ thống.
Sai lầm 2: Bỏ qua rò rỉ DNS
Các yêu cầu DNS có thể đi qua proxy, tiết lộ IP thực của tester. Điều này đặc biệt quan trọng khi kiểm tra các chặn địa lý - trang web có thể xác định quốc gia thực tế qua DNS, ngay cả khi địa chỉ IP đã bị thay thế. Kiểm tra rò rỉ DNS qua ipleak.net hoặc dnsleaktest.com.
Sai lầm 3: Sử dụng một proxy cho tất cả các nhiệm vụ
Proxy trung tâm dữ liệu không phù hợp cho việc kiểm tra trải nghiệm người dùng - trang web có thể hiển thị cho họ captcha hoặc trang bị chặn mà người dùng thực tế không bao giờ thấy. Sử dụng loại proxy đúng cho mỗi nhiệm vụ (xem bảng trên).
Sai lầm 4: Quên xóa bộ nhớ cache của trình duyệt
Khi chuyển đổi giữa các vị trí địa lý, trình duyệt có thể trả về nội dung đã được lưu vào bộ nhớ cache từ phiên trước. Luôn xóa bộ nhớ cache và cookies trước khi chuyển sang proxy mới, hoặc sử dụng chế độ ẩn danh cho mỗi thử nghiệm địa lý mới.
Sai lầm 5: Không ghi lại các phiên thử nghiệm
Khi phát hiện lỗi qua proxy, hãy ghi lại: quốc gia và thành phố của proxy, loại proxy (cư trú/di động), thời gian thử nghiệm, phiên bản trình duyệt. Nếu không có những dữ liệu này, nhà phát triển sẽ gặp khó khăn trong việc tái hiện vấn đề. Thêm ảnh chụp màn hình với xác nhận IP vào báo cáo lỗi.
Sai lầm 6: Nhầm lẫn proxy và VPN trong tài liệu
Trong các đội thường viết trong báo cáo lỗi "đã tái hiện qua VPN từ Đức" - nhưng VPN và proxy hoạt động khác nhau. VPN mã hóa toàn bộ lưu lượng và thay đổi IP ở cấp độ hệ điều hành, proxy hoạt động ở cấp độ ứng dụng. Đối với một số lỗi, đây là sự khác biệt quan trọng. Sử dụng các cụm từ chính xác trong tài liệu.
Kết luận
Proxy cho QA tester không phải là điều kỳ lạ, mà là công cụ cơ bản cho bất kỳ sản phẩm nào có khán giả quốc tế. Chúng cho phép tái hiện các điều kiện thực tế của người dùng từ các quốc gia khác nhau, kiểm tra nội dung phụ thuộc vào địa lý, cổng thanh toán, yêu cầu pháp lý và hành vi của CDN - tất cả đều từ nơi làm việc, không cần đi công tác và máy tính từ xa.
Những điểm chính: để kiểm tra trải nghiệm người dùng, hãy sử dụng proxy cư trú, cho các kịch bản di động - proxy di động, cho kiểm tra tải và API, proxy trung tâm dữ liệu là lựa chọn phù hợp. Luôn kiểm tra IP trước khi bắt đầu thử nghiệm, theo dõi các rò rỉ DNS và ghi lại các phiên thử nghiệm với các tham số địa lý.
Nếu bạn muốn bắt đầu kiểm tra hành vi phụ thuộc vào địa lý của ứng dụng của mình, chúng tôi khuyên bạn nên thử proxy cư trú - chúng cung cấp khả năng tái hiện chính xác người dùng thực tế từ quốc gia cần thiết và hỗ trợ lựa chọn địa lý linh hoạt đến từng thành phố và nhà cung cấp.