Kaip išbandysite 20 skirtingų mokėjimo būdų svetainėje?
sobes.tech AI
Atsakymas iš AI
Testavimui 20 apmokėjimo būdų taikysiu išsamų požiūrį, apimantį rankinį ir automatizuotą testavimą, taip pat duomenų pagrindu vykdomą testavimą:
Pagrindiniai etapai:
-
Reikalavimų supratimas. Išnagrinėti visas specifikacijas kiekvienam apmokėjimo būdui: valiutos, apribojimai, komisijos, apdorojimo srautai (peradresavimai, iframe ir kt.), sėkmingi ir nesėkmingi apmokėjimo scenarijai:
-
Prioritetų nustatymas. Nustatyti apmokėjimo sistemų testavimo prioritetus remiantis naudojimo dažnumu, verslo svarba, integracijos sudėtingumu ir rizika. Pirmiausia testuojami svarbiausi ir dažniausiai naudojami būdai:
-
Testavimo scenarijų planavimas. Kurti testinius atvejus kiekvienam apmokėjimo būdui, apimančius:
- Sėkmingas operacijas (skirtingos sumos, valiutos, kortelių/sąskaitų tipai)
- Nesėkmingas operacijas (neteisingi duomenys, lėšų trūkumas, banko/ar sistemos atmestas)
- Klaidas ir klaidų pranešimus
- Naršyklių ir įrenginių testavimą (krosnaršyklinis, kryžminis platforminis)
- Našumo testavimą (apmokėjimo puslapio įkėlimo laikas, apdorojimo greitis)
- Saugumo testavimą (kortelės duomenų apsauga, pažeidžiamumai)
- Integracijos su kitomis sistemomis testavimą (CRM, buhalterija)
- Grąžinimo scenarijus (jei taikoma)
-
Testinių duomenų paruošimas. Naudoti realius ir testinius duomenis kiekvienam apmokėjimo būdui. Kai kurioms sistemoms reikalingos testinės kortelės ar paskyros, kurios teikiamos mokėjimo vartais:
-
Rankinio testavimo vykdymas.
- Vartotojo sąsajos ir patogumo testavimas
- Visų žingsnių rankinis patikrinimas, siekiant nustatyti nelogišką elgesį ar klaidas
- Scenarijų testavimas, kurį sunku automatizuoti (pvz., dviejų veiksnių autentifikacija)
-
Automatizuotų testų kūrimas.
- Dažniausiai ir kritiškiausių scenarijų automatizavimas
- Užsakymo būsenos automatinė patikra
- Naudojant karkasus (pvz., Selenium WebDriver, Cypress, Postman/Rest Assured) ir programavimo kalbas (Java, Python, JavaScript)
- Testų vykdymo laiko sutaupymas
// Automatizuoto apmokėjimo testo pavyzdys (pseudo-kodas) @Test public void testSuccessfulPaymentWithCreditCard() { // Pereiti į užsakymo puslapį orderPage.open(); // Pridėti prekes orderPage.addItems("item1", 2); // Pereiti į apmokėjimo puslapį orderPage.goToPaymentPage(); // Pasirinkti apmokėjimo būdą "Kredito kortelė" paymentPage.selectPaymentMethod("Credit Card"); // Įvesti testinės kortelės duomenis paymentPage.enterCardDetails("1111222233334444", "12/25", "123"); // Paspausti "Apmokėti" mygtuką paymentPage.clickPayButton(); // Patikrinti, ar apmokėjimas sėkmingas (pvz., URL ar pranešimu) assertTrue(confirmationPage.isOrderSuccessful()); // Patikrinti užsakymo būseną administracijoje (pasirinktinai per API) String orderId = confirmationPage.getOrderId(); Order order = api.getOrderDetails(orderId); assertEquals("Paid", order.getStatus()); } -
API testavimas. Jei įmanoma, testuoti integraciją su mokėjimo sistemomis per API, siunčiant testinius užklausimus kurti operacijas, patikrinti būseną ir kt. Tai greičiau ir stabilesnė nei UI testavimas backend'ui:
# API testas kurti mokėjimą (pseudo-kodas requests) import requests def test_create_payment_with_paypal(): url = "https://api.example.com/payments" payload = { "amount": 100, "currency": "USD", "payment_method": "paypal", "order_id": "ORD12345" } headers = {"Authorization": "Bearer <token>"} response = requests.post(url, json=payload, headers=headers) assert response.status_code == 201 # Patvirtinti sėkmingą užklausos sukūrimą data = response.json() assert "payment_id" in data assert data["status"] == "pending" # arba laukiamas statusas # Papildomas statuso patikrinimas per GET # status_response = requests.get(f"{url}/{data['payment_id']}", headers=headers) # assert status_response.status_code == 200 # assert status_response.json()["status"] == "successful" # po sėkmingo apdorojimo -
Regresijos testavimas. Apmokėjimo testus įtraukti į regresijos rinkinį, kad reguliariai patikrinti visų integruotų mokėjimo sistemų veikimą naujų versijų išleidimo metu:
-
Stebėsena. Nustatyti stebėseną gamybos aplinkoje, kad greitai būtų galima aptikti mokėjimo sistemų problemas:
-
Ataskaitų rengimas. Aiškiai dokumentuoti rastas klaidas ir testavimo pažangą:
Pavyzdinis planas 20 apmokėjimo būdų:
| Apmokėjimo būdas | Rankinio padengimo | Automatinio padengimo | Testavimo scenarijai | Testavimo duomenys | Statusas |
|---|---|---|---|---|---|
| Visa | Pilnas | Sėkmė, CVV atmestas | 10+ | Testavimo kortelės | Darbe |
| Mastercard | Pilnas | Sėkmė, galiojimo pabaiga | 10+ | Testavimo kortelės | Darbe |
| PayPal | Pilnas | Sėkmė | 8+ | Testavimo paskyros | Darbe |
| Apple Pay | Pilnas | Apribota | 5+ | Realių įrenginių | Darbe |
| Google Pay | Pilnas | Apribota | 5+ | Realių įrenginių | Darbe |
| ... (dar 15 būdų) | Dalinis / Pilnas | Pasirinktinai pagal svarbą | 3-10+ kiekvienas | Skirtingi | Darbe |
Taigi, aš derinsiu detalią rankinę analizę su automatizacija kritiškiausių ir dažniausiai pasitaikančių scenarijų, siekiant efektyviai patikrinti didelį mokėjimo metodų kiekį.