Sobes.tech
Middle

Hogyan tesztelné 20 különböző fizetési módot egy weboldalon?

sobes.tech MI

Válasz az MI-től

A fizetési módok 20 teszteléséhez átfogó megközelítést alkalmaznék, amely magában foglalja a kézi és automatizált tesztelést, valamint az adatokat érintő tesztelést.

Főbb lépések:

  1. Elvárások megértése. Minden fizetési mód specifikációinak tanulmányozása: valuták, korlátozások, díjak, feldolgozási folyamatok (átirányítások, iframe-ek stb.), sikeres és sikertelen fizetési forgatókönyvek.

  2. Prioritás meghatározása. A tesztelés prioritásának meghatározása a használat gyakorisága, üzleti kritikus szerepe, integrációs nehézségek és kockázatok alapján. A legfontosabb és leggyakoribb módszerek tesztelése elsőként történik.

  3. Teszt forgatókönyvek tervezése. Minden fizetési módhoz tesztesetek létrehozása, amelyek lefedik:

    • Sikeres tranzakciók (különböző összegek, valuták, kártya/számla típusok).
    • Sikertelen tranzakciók (helytelen adatok, hiányzó fedezet, bank/rendszer hiba).
    • Hibakezelés és hibaüzenetek.
    • Böngészők és eszközök közötti tesztelés (keresztböngészőség, platformfüggetlenség).
    • Teljesítmény tesztelés (az oldal betöltési ideje, feldolgozási sebesség).
    • Biztonsági tesztelés (kártyaadatok védelme, sebezhetőségek).
    • Integráció más rendszerekkel (CRM, könyvelés).
    • Visszatérési forgatókönyvek (ha alkalmazható).
  4. Tesztadatok előkészítése. Valós és tesztadatok használata minden fizetési módhoz. Egyes rendszerekhez tesztkártyák vagy fiókok szükségesek, amelyeket a fizetési átjáró biztosít.

  5. Kézi tesztelés végrehajtása.

    • A felhasználói felület és a használhatóság tesztelése minden fizetési mód esetén.
    • A fizetési folyamat minden lépésének manuális ellenőrzése a logikátlan viselkedés vagy megjelenítési hibák feltárására.
    • Olyan forgatókönyvek tesztelése, amelyeket nehéz automatizálni (pl. kétfaktoros azonosítással történő átirányítások).
  6. Automatizált tesztek fejlesztése.

    • A leggyakoribb és kritikus sikeres fizetési forgatókönyvek automatizálása minden fő módszerhez.
    • A rendelés státuszának ellenőrzése fizetés után automatizáltan.
    • Frameworkök használata (pl. Selenium WebDriver, Cypress UI-hoz, Postman/Rest Assured API-hoz) és programozási nyelvek (Java, Python, JavaScript).
    • A tesztek párhuzamos futtatása a futási idő csökkentése érdekében.
    // Automatikus fizetési teszt példa (pseudokód)
    @Test
    public void testSuccessfulPaymentWithCreditCard() {
        // Átmenet a rendelés oldalára
        orderPage.open();
        // Termékek hozzáadása a kosárhoz
        orderPage.addItems("item1", 2);
        // Átmenet a fizetési oldalra
        orderPage.goToPaymentPage();
        // Fizetési mód kiválasztása "Hitelkártya"
        paymentPage.selectPaymentMethod("Credit Card");
        // Tesztkártya adatok megadása
        paymentPage.enterCardDetails("1111222233334444", "12/25", "123");
        // Fizetés gomb megnyomása
        paymentPage.clickPayButton();
        // Sikeres fizetés ellenőrzése (pl. URL vagy üzenet alapján)
        assertTrue(confirmationPage.isOrderSuccessful());
        // Rendelés státuszának ellenőrzése az admin felületen (opcionális API-n keresztül)
        String orderId = confirmationPage.getOrderId();
        Order order = api.getOrderDetails(orderId);
        assertEquals("Paid", order.getStatus());
    }
    
  7. API-n keresztüli tesztelés. Ha lehetséges, a fizetési rendszerekkel való integráció API-n keresztül történő tesztelése, teszt tranzakciók létrehozásával, státusz ellenőrzésével stb. Ez gyorsabb és stabilabb, mint a UI-alapú tesztelés a backend logikához.

    # API teszt példa fizetés létrehozására (pseudokód requests-szel)
    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 # Sikeres kérés létrehozásának ellenőrzése
        data = response.json()
        assert "payment_id" in data
        assert data["status"] == "pending" # Vagy várt státusz
    
        # További státusz ellenőrzés GET kérés segítségével
        # status_response = requests.get(f"{url}/{data['payment_id']}", headers=headers)
        # assert status_response.status_code == 200
        # assert status_response.json()["status"] == "successful" # Sikeres feldolgozás után
    
  8. Regressziós tesztelés. A fizetési tesztek beépítése a regressziós tesztkészletbe, hogy rendszeresen ellenőrizzék az összes integrált fizetési rendszer működését új verziók kiadása esetén.

  9. Monitoring. A termelési környezetben történő monitorozás beállítása a fizetési rendszerek problémáinak gyors felismerése érdekében.

  10. Jelentéskészítés. A talált hibák és a tesztelés előrehaladásának dokumentálása.

A 20 fizetési mód tesztelésének tervezete:

Fizetési mód Kézi lefedettség Automatizálás Teszt forgatókönyvek Teszt adatok Állapot
Visa Teljes Siker, CVV hibák 10+ Tesztkártyák Folyamatban
Mastercard Teljes Siker, lejárati hiba 10+ Tesztkártyák Folyamatban
PayPal Teljes Siker 8+ Tesztfiókok Folyamatban
Apple Pay Teljes Korlátozott 5+ Valós eszközök Folyamatban
Google Pay Teljes Korlátozott 5+ Valós eszközök Folyamatban
... (további 15 módszer) Részleges / Teljes Kritikus szerint 3-10+ minden Különböző Folyamatban

Így a részletes kézi kutatást az automatizálással ötvözve lehet hatékonyan tesztelni a sokféle fizetési módot.