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 გადახდის მეთოდის მაგალითით:

გადახდის მეთოდი ხელით დაფარვა ავტომატიზაციის დაფარვა ტესტის სცენარები ტესტის მონაცემები სტატუსი
Visa სრული წარმატება, CVV უარყოფა 10+ ტესტ ბარათები მუშაობს
Mastercard სრული წარმატება, ვადის ვადაგასვლა 10+ ტესტ ბარათები მუშაობს
PayPal სრული წარმატება 8+ ტესტ ანგარიში მუშაობს
Apple Pay სრული შეზღუდული 5+ რეალური მოწყობილობები მუშაობს
Google Pay სრული შეზღუდული 5+ რეალური მოწყობილობები მუშაობს
... (კიდევ 15 მეთოდი) ნაწილობრივი / სრული კრიტიკულობის მიხედვით 3-10+ თითო სხვადასხვა მუშაობს

ამიტომ, მე შევაერთებ დეტალურ ხელით კვლევას კრიტიკულ და განმეორებადი სცენარების ავტომატიზაციასთან, რათა ეფექტურად შევამოწმო დიდი რაოდენობით გადახდის მეთოდები.