Kuidas te testite 20 erinevat makseviisi veebisaidil?
sobes.tech AI
Vastus AI-lt
Testimiseks 20 makseviisi kasutaksin põhjalikku lähenemist, mis hõlmab käsitsi ja automatiseeritud testimist ning andmepõhist testimist:
Peamised etapid:
-
Nõuete mõistmine. Uurida kõiki spetsifikatsioone iga makseviisi jaoks: valuutad, piirangud, komisjonitasud, töötlemisvood (suunamised, iframe jne), edukad ja ebaõnnestunud makse stsenaariumid:
-
Prioriteetide määramine. Määrata maksesüsteemide testimise prioriteet kasutamise sageduse, äriolulisuse, integratsiooni keerukuse ja riskide alusel. Esmalt testitakse kõige olulisemaid ja levinumaid viise:
-
Teststsenaariumide planeerimine. Luua iga makseviisi jaoks testjuhtumid, hõlmates:
- Edukad tehingud (erinevad summad, valuutad, kaarditüübid/kontotüübid)
- Ebaõnnestunud tehingud (vigased andmed, vahendite puudus, panga/süsteemi keeld)
- Vea ja veateadete testimine
- Brauserite ja seadmete testimine (ristpõranda, ristplatvormiline)
- Jõudluse testimine (makse lehe laadimisaeg, töötlemise kiirus)
- Turvatestimine (kaarditeabe kaitse, haavatavused)
- Teiste süsteemidega integreerimise testimine (CRM, raamatupidamine)
- Tagastamise stsenaariumid (kui rakendub)
-
Testandmete ettevalmistamine. Kasutada reaalseid ja testandmeid iga makseviisi jaoks. Mõned süsteemid nõuavad testkaarte või kontosid, mida pakub makselüüs:
-
Käsitsi testimise teostamine.
- Kasutajaliidese ja kasutusmugavuse testimine
- Kõigi sammude käsitsi kontrollimine, et tuvastada loogikat mitte järgivat käitumist või vigu
- Sündmuste testimine, mis on keeruline automatiseerida (näiteks, kahe faktoriga autentimine)
-
Automatiseeritud testide väljatöötamine.
- Kõige sagedasemate ja kriitilisemate stsenaariumide automatiseerimine
- Tellimuse staatuse automaatne kontroll
- Kasutades raamistikke (näiteks, Selenium WebDriver, Cypress, Postman/Rest Assured) ja programmeerimiskeeli (Java, Python, JavaScript)
- Testide täitmise aja vähendamine
// Automatiseeritud maksetesti näide (pseudo-kood) @Test public void testSuccessfulPaymentWithCreditCard() { // Liikumine tellimuse lehele orderPage.open(); // Kaupade lisamine orderPage.addItems("item1", 2); // Liikumine makse lehele orderPage.goToPaymentPage(); // Makseviisi valimine "Krediitkaart" paymentPage.selectPaymentMethod("Credit Card"); // Testkaardi andmete sisestamine paymentPage.enterCardDetails("1111222233334444", "12/25", "123"); // Nuppu "Maksa" klõps paymentPage.clickPayButton(); // Kontrollida, kas makse õnnestus (näiteks, URL või sõnum) assertTrue(confirmationPage.isOrderSuccessful()); // Tellimuse staatuse kontroll administraatoris (valikuline API kaudu) String orderId = confirmationPage.getOrderId(); Order order = api.getOrderDetails(orderId); assertEquals("Paid", order.getStatus()); } -
API testimine. Kui võimalik, testida maksesüsteemidega integratsiooni API kaudu, saates testpäringuid tehingute loomise, staatuse kontrolli jms. See on kiirem ja stabiilsem kui UI-testimine backendile:
# API test näide makse loomise kohta (pseudo-kood 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 # Kinnitama edukas päring data = response.json() assert "payment_id" in data assert data["status"] == "pending" # või oodatud staatus # Täiendav staatuse kontroll GET kaudu # status_response = requests.get(f"{url}/{data['payment_id']}", headers=headers) # assert status_response.status_code == 200 # assert status_response.json()["status"] == "successful" # pärast edukat töötlemist -
Regressiooni testimine. Lisada maksetest regressiooni komplekti, et regulaarselt kontrollida kõigi integreeritud maksesüsteemide tööd uute versioonide väljalaskmisel:
-
Jälgimine. Seadistada jälgimine tootmiskeskkonnas, et kiiresti avastada maksesüsteemide probleemid:
-
Aruandlus. Selgelt dokumenteerida leitud vead ja testimise edenemine:
Näidiskava 20 makseviisile:
| Makseviis | Käsitsi katvus | Automaatne katvus | Teststsenaariumid | Testandmed | Staatus |
|---|---|---|---|---|---|
| Visa | Täielik | Edukas, CVV keeld | 10+ | Testkaardid | Töötamas |
| Mastercard | Täielik | Edukas, kehtivusaeg | 10+ | Testkaardid | Töötamas |
| PayPal | Täielik | Edukas | 8+ | Testkontod | Töötamas |
| Apple Pay | Täielik | Piiratud | 5+ | Reaalne seade | Töötamas |
| Google Pay | Täielik | Piiratud | 5+ | Reaalne seade | Töötamas |
| ... (veel 15 viisi) | Osaline / Täielik | Valikuline kriitilisuse alusel | 3-10+ igaüks | Erinevad | Töötamas |
Seega, ma ühendaksin üksikasjaliku käsitsi uurimise kriitiliste ja korduvate stsenaariumite automatiseerimisega, et tõhusalt testida suure hulga maksemeetodite toimivust.