Sobes.tech
Middle

Veb-saytda 20 turli to'lov usullarini qanday sinovdan o'tkazasiz?

sobes.tech AI

AIdan javob

20 taʼlim usullari uchun test qilish uchun men qoʼlda va avtomatlashtirilgan testlarni, shuningdek, maʼlumotlar bilan test qilishni oʼz ichiga olgan kompleks yondashuvni qoʼllardim.

Asosiy bosqichlar:

  1. Talablarni tushunish. Har bir toʼlov usuli uchun barcha spetsifikatsiyalarni oʼrganish: valyutalar, cheklovlar, komissiyalar, ishlash oqimlari (redirlar, iframe va boshqalar), muvaffaqiyatli va muvaffaqiyatsiz toʼlovlar uchun ssenariylar.

  2. Prioritizatsiya. Toʼlov tizimining foydalanish chastotasi, biznes uchun muhimligi, integratsiya murakkabligi va xavflar asosida test qilish prioritetini belgilash. Eng muhim va keng tarqalgan usullar avval test qilinadi.

  3. Test ssenariylarini rejalashtirish. Har bir toʼlov usuli uchun test holatlarini yaratish, quyidagilarni qamrab oladi:

    • Muvaffaqiyatli tranzaktsiyalar (turli summalar, valyutalar, kartalar/ hisob turlari).
    • Muvaffaqiyatsiz tranzaktsiyalar (notoʼgʼri maʼlumotlar, mablagʼ yetishmasligi, bank / tizim rad etishi).
    • Xatoliklar va xato xabarlarini ishlash.
    • Turli brauzerlar va qurilmalarda test qilish (kross-brauzer, kross-platforma).
    • Ishlash tezligini test qilish (toʼlov sahifasining yuklanish vaqti, ishlash tezligi).
    • Xavfsizlikni test qilish (karta maʼlumotlarini himoya qilish, zaifliklar).
    • Boshqa tizimlar bilan integratsiyani test qilish (CRM, buxgalteriya).
    • Qaytarish ssenariyalari (agar qoʼllanilsa).
  4. Test maʼlumotlarini tayyorlash. Har bir toʼlov usuli uchun haqiqiy va test maʼlumotlaridan foydalanish. Baʼzi tizimlar uchun test kartalari yoki hisoblar talab qilinadi, ular toʼlov shlyuzidan taqdim etiladi.

  5. Qoʼlda testlarni bajarish.

    • Har bir toʼlov uchun foydalanuvchi interfeysi va qulayligini test qilish.
    • Notoʼgʼri ishlash yoki koʼrsatish xatoliklarini aniqlash uchun har bir toʼlov jarayonining barcha bosqichlarini qoʼlda tekshirish.
    • Avtomatlashtirilishi qiyin boʼlgan ssenariylarni test qilish (masalan, ikki faktorli autentifikatsiya bilan redirectlar).
  6. Avtomatlashtirilgan testlarni ishlab chiqish.

    • Har bir asosiy usul uchun muvaffaqiyatli toʼlovning eng koʼp uchraydigan va muhim ssenariylarini avtomatlashtirish.
    • Toʼlovdan soʼng buyurtma holatini tekshirish uchun avtomatlashtirish.
    • Frameworklardan foydalanish (masalan, Selenium WebDriver, UI uchun Cypress, API uchun Postman/Rest Assured) va dasturlash tillaridan (Java, Python, JavaScript).
    • Testlarni parallel bajarish orqali vaqtni qisqartirish.
    // Toʼlovni avtomatlashtirilgan test misoli (pseudo-kod)
    @Test
    public void testSuccessfulPaymentWithCreditCard() {
        // Buyurtma sahifasiga o'tish
        orderPage.open();
        // Mahsulotlarni savatchaga qoʼshish
        orderPage.addItems("item1", 2);
        // Toʼlov sahifasiga o'tish
        orderPage.goToPaymentPage();
        // Toʼlov usulini tanlash "Kredit karta"
        paymentPage.selectPaymentMethod("Credit Card");
        // Test karta maʼlumotlarini kiritish
        paymentPage.enterCardDetails("1111222233334444", "12/25", "123");
        // "Toʼlash" tugmasini bosish
        paymentPage.clickPayButton();
        // Toʼlov muvaffaqiyatli boʼlganligini tekshirish (masalan, URL yoki xabar orqali)
        assertTrue(confirmationPage.isOrderSuccessful());
        // Buyurtma holatini admin panelda tekshirish (opsional API orqali)
        String orderId = confirmationPage.getOrderId();
        Order order = api.getOrderDetails(orderId);
        assertEquals("Paid", order.getStatus());
    }
    
  7. API orqali test qilish. Agar imkon boʼlsa, API orqali toʼlov tizimlari bilan integratsiyani test qilish, test soʼrovlarini yuborish, holatni tekshirish va boshqalar. Bu UI testdan tezroq va barqarorroq boʼladi backend logikasi uchun.

    # Toʼlov yaratish uchun API test misoli (pseudo-kod requests bilan)
    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 # Soʼrov muvaffaqiyatli yaratildi
        data = response.json()
        assert "payment_id" in data
        assert data["status"] == "pending" # yoki kutilgan holat
    
        # Qoʼshimcha holatni tekshirish GET soʼrovi bilan
        # status_response = requests.get(f"{url}/{data['payment_id']}", headers=headers)
        # assert status_response.status_code == 200
        # assert status_response.json()["status"] == "successful" # muvaffaqiyatli ishlov berilgandan soʼng
    
  8. Regressiya testlari. Toʼlov testlarini regressiya toʼplamiga qoʼshish, yangi versiyalar chiqarilganda barcha integratsiyalashgan toʼlov tizimlarining ishlashini muntazam tekshirish uchun.

  9. Monitoring. Ishlab chiqarish muhitida monitoringni sozlash, toʼlov tizimlaridagi muammolarni tezda aniqlash uchun.

  10. Hisobot berish. Topilgan xatoliklar va test qilish jarayonining aniq hujjatlari.

20 ta toʼlov usuli uchun taxminiy test rejasi:

Toʼlov usuli Qoʼlda qamrov Avtomatlashtirish qamrovi Test ssenariyalari Test maʼlumotlari Holat
Visa Toʼliq Muvaffaqiyat, CVV rad etish 10+ Test kartalar Ish jarayonida
Mastercard Toʼliq Muvaffaqiyat, amal qilish muddati rad etish 10+ Test kartalar Ish jarayonida
PayPal Toʼliq Muvaffaqiyat 8+ Test hisoblari Ish jarayonida
Apple Pay Toʼliq Cheklangan 5+ Haqiqiy qurilmalar Ish jarayonida
Google Pay Toʼliq Cheklangan 5+ Haqiqiy qurilmalar Ish jarayonida
... (boshqa 15 usul) Qisman / Toʼliq Muvofiq ravishda tanlanadi 3-10+ har biri Turli Ish jarayonida

Shunday qilib, men muhim va takrorlanadigan ssenariylarni avtomatlashtirish bilan qoʼlda testlarni chuqur oʼrganishni birlashtirib, katta miqdordagi toʼlov usullarini samarali test qilishni taʼminlardim.