Sobes.tech
Middle

Ինչպե՞ս կփորձեք 20 տարբեր վճարման եղանակներ կայքում:

sobes.tech AI

Պատասխան AI-ից

Տեստավորման համար 20 վճարման եղանակների օգտագործման համար ես կիրառելու եմ համապարփակ մոտեցում, որը ներառում է ձեռքով և ավտոմատացված թեստավորում, ինչպես նաև տվյալների վրա հիմնված թեստավորում:

Հիմնական փուլերը:

  1. Տեղեկացվածության հասկացում։ Ուսումնասիրել բոլոր սպեկտրային պահանջները յուրաքանչյուր վճարման եղանակի համար՝ արժույթներ, սահմանափակումներ, հանձնաժողովներ, մշակման հոսքեր (կատարյալներ, iframe և այլն), հաջող և անհաջող վճարման սցենարներ:

  2. Առաջնահերթության որոշում։ Տեղեկացվածության առաջնահերթությունը որոշել՝ օգտագործման հաճախականության, բիզնեսի համար կարևորության, ինտեգրման բարդության և ռիսկերի հիման վրա։ Առաջին հերթին թեստավորվում են ամենահաճախ և կարևոր եղանակները:

  3. Թեստային սցենարների պլանավորում։ Ստեղծել թեստային դեպքեր յուրաքանչյուր վճարման եղանակի համար՝ ընդգրկելով՝

    • Հաջող տրանզակցիաներ (տարբեր գումարներ, արժույթներ, քարտերի/հաշվեհամարների տեսակներ)
    • Անհաջող տրանզակցիաներ (անվավեր տվյալներ, միջոցների պակաս, բանկի/համակարգի մերժում)
    • Հետագամիջոցների և սխալի հաղորդագրությունների թեստավորում
    • Բրաուզերների և սարքերի տարբերակով թեստավորում (կրոս-բրաուզերություն, կրոս-հարթակային)
    • Արտադրողականության թեստավորում (էջի լիցքավորման ժամանակը, մշակման արագությունը)
    • Անվտանգության թեստավորում (քարտի տվյալների պաշտպանություն, թերություններ)
    • Ինտեգրման թեստավորում այլ համակարգերի հետ (CRM, հաշվապահություն)
    • Վերադարձի սցենարներ (եթե կիրառելի)
  4. Թեստային տվյալների պատրաստում։ Օգտագործել իրական և թեստային տվյալներ յուրաքանչյուր վճարման եղանակի համար։ Որոշ համակարգեր պահանջում են թեստային քարտեր կամ հաշիվներ, որոնք տրամադրվում են վճարային шлюզով:

  5. Ձեռքով թեստավորման իրականացում։

    • Օգտագործողի ինտերֆեյսի և օգտագործման հարմարավետության թեստավորում յուրաքանչյուր վճարման համար
    • Բոլոր քայլերի ձեռքով ստուգում՝ անտրամաբանական վարքագիծ կամ սխալներ հայտնաբերելու համար
    • Սցենարների թեստավորում, որոնք դժվար է ավտոմատացնել (օրինակ՝ կրկնվող ուղղորդումներ երկու գործոնով հաստատում)
  6. Ավտոմատացված թեստերի մշակում։

    • Ամենահաճախ և կարևոր սցենարների ավտոմատացում՝ յուրաքանչյուր հիմնական եղանակի համար
    • Պատվերի կարգավիճակի ստուգում ավտոմատացված կերպով
    • Ֆրեյմվորկների (օրինակ՝ Selenium WebDriver, Cypress, Postman/Rest Assured) և ծրագրավորման լեզուների (Java, Python, JavaScript) օգտագործում
    • Թեստերի միաժամանակյա կատարման միջոցով ժամանակի կրճատում
    // Օրինակ ավտոմատացված վճարման թեստ (պսևոդոդոկ)
    @Test
    public void testSuccessfulPaymentWithCreditCard() {
        // Գնման էջին անցում
        orderPage.open();
        // Նյութերի ավելացում
        orderPage.addItems("item1", 2);
        // Վճարման էջին անցում
        orderPage.goToPaymentPage();
        // Վճարման մեթոդի ընտրություն "Կրեդիտ քարտ"
        paymentPage.selectPaymentMethod("Credit Card");
        // Թեստային քարտի տվյալների մուտքագրում
        paymentPage.enterCardDetails("1111222233334444", "12/25", "123");
        // Վճարման կոճակի սեղմում
        paymentPage.clickPayButton();
        // Հաստատում, որ վճարումը հաջող է (օրինակ՝ URL կամ հաղորդագրությամբ)
        assertTrue(confirmationPage.isOrderSuccessful());
        // Պատվերի կարգավիճակի ստուգում ադմինկից (ընտրովի API-ի միջոցով)
        String orderId = confirmationPage.getOrderId();
        Order order = api.getOrderDetails(orderId);
        assertEquals("Paid", order.getStatus());
    }
    
  7. API-ի միջոցով թեստավորում։ Եթե հնարավոր է, թեստավորել վճարային համակարգերի ինտեգրացիան API-ի միջոցով՝ ուղարկելով թեստային հարցումներ՝ տրանզակցիաներ ստեղծելու, կարգավիճակ ստանալու և այլն։ Սա ավելի արագ և կայուն է, քան UI-թեստավորումը՝ բեկենդի լոգիկայի համար:

    # API-ի միջոցով վճարման ստեղծման թեստ (պսևոդոդոկ 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 # Հաստատում՝ հարցում ստեղծված է
        data = response.json()
        assert "payment_id" in data
        assert data["status"] == "pending" # կամ սպասվող կարգավիճակ
    
        # Ավելացուցիչ ստուգում կարգավիճակի մասին՝ GET հարցումով
        # status_response = requests.get(f"{url}/{data['payment_id']}", headers=headers)
        # assert status_response.status_code == 200
        # assert status_response.json()["status"] == "successful" # հետո, երբ հաջող է
    
  8. Ռեգրեսիոն թեստավորում։ Վճարման թեստերը ներառել ռեգրեսիոն հավաքածուում՝ նոր տարբերակների թողարկման ժամանակ բոլոր ինտեգրված վճարային համակարգերի աշխատանքը վերահսկելու համար:

  9. Հետևում։ Կարգավորել մոնիտորինգ՝ պրոդակցիայում՝ արագ հայտնաբերելու վճարային համակարգերի խնդիրները:

  10. Հաշվետվություն։ Հստակ փաստաթղթավորել հայտնաբերված սխալները և թեստավորման առաջընթացը:

Նմուշային պլան՝ 20 վճարման եղանակների համար՝

Վճարման եղանակ Ձեռքով թ coverage Ավտոմատացման ծածկույթ Թեստային սցենարներ Թեստային տվյալներ Կարգավիճակ
Visa լրիվ հաջողություն, CVV մերժում 10+ Թեստային քարտեր Աշխատում է
Mastercard լրիվ հաջողություն, ժամկետի մերժում 10+ Թեստային քարտեր Աշխատում է
PayPal լրիվ հաջողություն 8+ Թեստային հաշիվներ Աշխատում է
Apple Pay լրիվ սահմանափակված 5+ Իրական սարքեր Աշխատում է
Google Pay լրիվ սահմանափակված 5+ Իրական սարքեր Աշխատում է
... (նույնպես 15 եղանակ) մասնակի / լրիվ ընտրովի՝ ըստ կարևորության 3-10+ յուրաքանչյուր տարբեր Աշխատում է

Այսպիսով, ես համատեղում եմ մանրամասն ձեռքով հետազոտությունը ավտոմատացման հետ՝ առավել կարևոր և կրկնվող սցենարների համար՝ արդյունավետ թեստավորման համար մեծ թվով վճարային մեթոդների։