Sobes.tech
Middle

Veb saytında 20 müxtəlif ödəniş üsulunu necə sınaqdan keçirərdiniz?

sobes.tech Süni İntellekt

AI-dan cavab

Test etmək üçün 20 ödəniş üsulunu mən əl ilə və avtomatlaşdırılmış testləri, həmçinin məlumatlar üzərində testləri əhatə edən kompleks yanaşma tətbiq edərdim.

Əsas mərhələlər:

  1. Tələblərin anlaşılması. Hər bir ödəniş üsulu üçün bütün spesifikasiyaların öyrənilməsi: valyutalar, məhdudiyyətlər, komissiyalar, emal axınları (redirectlər, iframe və s.), uğurlu və uğursuz ödəniş ssenariləri.

  2. Prioritetləşdirmə. Hər bir ödəniş sisteminin istifadə tezliyi, biznes üçün əhəmiyyəti, inteqrasiya çətinliyi və risklər əsasında test prioritetinin müəyyənləşdirilməsi. Əvvəlcə ən vacib və geniş yayılmış üsullar test edilir.

  3. Test ssenarilərinin planlaşdırılması. Hər bir ödəniş üsulu üçün test halları yaradılır, bunlar:

    • Uğurlu əməliyyatlar (fərqli məbləğlər, valyutalar, kart/hesab növləri).
    • Uğursuz əməliyyatlar (yanlış məlumatlar, vəsait çatışmazlığı, bank və ya sistemin rədd etməsi).
    • Xəta və xəta mesajlarının işlənməsi.
    • Müxtəlif brauzerlərdə və cihazlarda testlər (kross-brauzer, kross-platforma).
    • Performans testləri (ödəmə səhifəsinin yükləmə vaxtı, emal sürəti).
    • Təhlükəsizlik testləri (məlumatların qorunması, zəifliklər).
    • Digər sistemlərlə inteqrasiya testləri (CRM, mühasibatlıq).
    • Geri dönüş ssenariləri (əgər tətbiq olunursa).
  4. Test məlumatlarının hazırlanması. Hər bir ödəniş üsulu üçün real və test məlumatlarından istifadə. Bəzi sistemlər üçün test kartları və ya hesablar tələb olunur, bunlar ödəniş keçidindən təmin edilir.

  5. Əl ilə testlərin həyata keçirilməsi.

    • Hər bir ödəniş üçün istifadəçi interfeysi və istifadə rahatlığını test etmək.
    • Hər bir ödəniş prosesinin bütün mərhələlərini əl ilə yoxlayaraq qeyri-ənəvi davranış və ya göstərilmə xətalarını aşkar etmək.
    • Avtomatlaşdırılması çətin ssenariləri test etmək (məsələn, iki faktorlu autentifikasiya ilə redirectlər).
  6. Avtomatlaşdırılmış testlərin hazırlanması.

    • Hər bir əsas üsul üçün ən çox rast gəlinən və kritik ssenarilərin avtomatlaşdırılması.
    • Ödənişdən sonra sifariş statusunun avtomatlaşdırılması.
    • Frameworklardan istifadə (məsələn, Selenium WebDriver, UI üçün Cypress, API üçün Postman/Rest Assured) və proqramlaşdırma dillərindən (Java, Python, JavaScript).
    • Testlərin paralel icrası ilə vaxtın azaldılması.
    // Avtomatlaşdırılmış ödəniş test nümunəsi (pseudo-kod)
    @Test
    public void testSuccessfulPaymentWithCreditCard() {
        // Sifariş səhifəsinə keçid
        orderPage.open();
        // Məhsulları səbətə əlavə et
        orderPage.addItems("item1", 2);
        // Ödəniş səhifəsinə keç
        orderPage.goToPaymentPage();
        // "Kredit kartı" ödəniş metodunu seç
        paymentPage.selectPaymentMethod("Credit Card");
        // Test kart məlumatlarını daxil et
        paymentPage.enterCardDetails("1111222233334444", "12/25", "123");
        // "Ödə" düyməsini kliklə
        paymentPage.clickPayButton();
        // Ödənişin uğurlu olub-olmadığını yoxla (məsələn, URL və ya mesaj vasitəsilə)
        assertTrue(confirmationPage.isOrderSuccessful());
        // Sifariş statusunu admin paneldə yoxla (opsional API ilə)
        String orderId = confirmationPage.getOrderId();
        Order order = api.getOrderDetails(orderId);
        assertEquals("Paid", order.getStatus());
    }
    
  7. API vasitəsilə test. Əgər mümkünsə, API vasitəsilə ödəniş sistemləri ilə inteqrasiyanı test etmək, test sorğuları göndərmək, statusu yoxlama və s. Bu, backend loqikası üçün UI testindən daha sürətli və stabil olur.

    # API ilə ödəniş yaradılması üçün nümunə test (pseudo-kod requests ilə)
    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 # Uğurlu yaradılma yoxlanması
        data = response.json()
        assert "payment_id" in data
        assert data["status"] == "pending" # və ya gözlənilən status
    
        # Əlavə status yoxlaması GET sorğusu ilə
        # status_response = requests.get(f"{url}/{data['payment_id']}", headers=headers)
        # assert status_response.status_code == 200
        # assert status_response.json()["status"] == "successful" # emal edildikdən sonra
    
  8. Regressiya testləri. Ödəniş testlərinin regresiya dəstinə daxil edilməsi, yeni versiyalar çıxarıldıqda bütün inteqrasiya olunmuş ödəniş sistemlərinin işləkliyinin müntəzəm yoxlanması.

  9. İzləmə. İstehsal mühitində monitorinqin qurulması, ödəniş sistemlərində problemlərin tez aşkarlanması üçün.

  10. Hesabat. Tapılan xətaların və test prosesinin aydın sənədləşdirilməsi.

20 ödəniş üsulu üçün test planı nümunəsi:

Ödəniş üsulu Əl ilə əhatə Avtomatlaşdırma əhatəsi Test ssenariləri Test məlumatları Status
Visa Tam Uğur, CVV ilə rədd 10+ Test kartlar İşdədir
Mastercard Tam Uğur, müddət rədd 10+ Test kartlar İşdədir
PayPal Tam Uğur 8+ Test hesabları İşdədir
Apple Pay Tam Məhdudlaşdırılıb 5+ Real cihazlar İşdədir
Google Pay Tam Məhdudlaşdırılıb 5+ Real cihazlar İşdədir
... (digər 15 üsul) Qismən / Tam Kritikliyə görə seçilir 3-10+ hər biri Müxtəlif İşdədir

Beləliklə, mən ətraflı əl ilə araşdırma ilə ən kritik və təkrarlanan ssenarilərin avtomatlaşdırılmasını birləşdirərdim ki, çox sayda ödəniş metodunu effektiv şəkildə test edə bilim.