Sobes.tech
Middle

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

sobes.tech Süni İntellekt

AI-dan cavab

Test strategiyası aşağıdakı addımlar daxil olmaqla inkişaf etdirərdim:

  1. Tələblər və sənədlərin analizi: Hər bir ödəniş variantı üçün mövcud materialları öyrənərdim (inteqrasiya spesifikasiyaları, istifadəçi ssenariləri, API sənədləri).
  2. Test dizaynı: Hər bir ödəniş variantı üçün test halları hazırlardım, bunlar:
    • Müsbət ssenarilər (uğurlu ödəniş).
    • Mənfi ssenarilər (yanlış məlumatlar, kifayət qədər vəsaitin olmaması, tranzaksiya ləğvi).
    • Sərhəd halları (böyük kiçik məbləğlər, xüsusi simvollar).
    • Müxtəlif tranzaksiya statusları ilə ssenarilər (pending, failed, refunded).
    • Müxtəlif cihazlar və brauzerlərdə test.
  3. Testlərin prioritetləşdirilməsi: Ən çox istifadə olunan və kritik ödəniş variantlarını əvvəl test edərdim.
  4. Test məlumatlarının hazırlanması: Müxtəlif istifadəçi ssenariləri və sərhəd halları üçün realistik test məlumatları yaradar, ehtimal ki, test hesabları və ya test kartlar lazım olacaq.
  5. Testlərin icrası: Əl ilə və avtomatlaşdırılmış testlər həyata keçirərdim.
  6. Testlərin avtomatlaşdırılması: Tez-tez və ya kritik olan ssenarilər üçün avtomatlaşdırılmış testlər tətbiq edərdim, məsələn, əsas ödəniş sistemləri ilə uğurlu ödənişlər.
  7. İnteqrasiya testləri: Ödəniş sistemlərinin və veb saytın backend-i ilə qarşılıqlı əlaqəsini və ödənişdən sonra sifariş statuslarının düzgünlüyünü yoxlayardım.
  8. Təhlükəsizlik testləri: OWASP Top 10-ə uyğun əsas yoxlamalar həyata keçirərdim, xüsusən də ödəniş məlumatlarının işlənməsi ilə bağlı (Sensitive Data Exposure, Injection).
  9. Regrasiya testləri: Yeni dəyişikliklərin mövcud ödəniş variantlarının funksionallığını pozmadığından əmin olardım.
  10. Log və monitorinq: Tranzaksiya loglarını və test zamanı yaranan səhvləri izləyərdim.
  11. Nəticələrin sənədləşdirilməsi: Test nəticələrini, tapılan defektləri və onların təkrarlanma addımlarını qeyd edərdim.

Test hallarının nümunə strukturu:

Test Case ID Ödəniş Varianti Təsviri Addımlar Gözlənilən Nəticə Faktiki Nəticə Status
PAY-001 Visa Uğurlu ödəniş 1. Məhsulu səbətə əlavə et. <br> 2. Checkout-ə keç. <br> 3. Visa seç. <br> 4. Kart məlumatlarını düzgün daxil et. <br> 5. Ödənişi təsdiqlə. Sifariş uğurla yerləşdirildi. <br> Sifariş statusu "Ödənildi". <br> Ödəniş bildirişi alındı.
PAY-002 Visa Yanlış kart nömrəsi ilə ödəniş ... Ödəniş xətası. Yanlış məlumatlar haqqında bildiriş.
PAY-003 PayPal Uğurlu ödəniş ... (PayPal üçün ssenari) Sifariş uğurla yerləşdirildi. <br> Sifariş statusu "Ödənildi". <br> Ödəniş bildirişi alındı.

Avtomatlaşdırılmış test nümunəsi (Python və Selenium WebDriver istifadə edərək):

# test_payment.py
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def test_visa_payment_success():
    driver = webdriver.Chrome()  # Yaxud başqa brauzer
    driver.get("http://your-website.com/checkout") # Checkout səhifəsinin URL-i

    # Məhsulu səbətə əlavə etmək və checkout-a keçmək kodları

    # Visa ödəniş variantını seç
    visa_option = driver.find_element(By.ID, "visa-payment-method")
    visa_option.click()

    # Kart məlumatlarını daxil et (test məlumatlarından istifadə et!)
    card_number_field = driver.find_element(By.ID, "card_number")
    card_number_field.send_keys("4111111111111111") # Visa test kartası nömrəsi

    # Digər kart məlumatlarını daxil et (müddət, CVC, ad)

    # Ödəniş düyməsini kliklə
    pay_button = driver.find_element(By.ID, "pay_button")
    pay_button.click()

    # Uğurlu ödənişin tamamlanmasını gözlə
    WebDriverWait(driver, 10).until(
        EC.url_contains("/order_success") # Uğurlu sifariş səhifəsinin URL-i
    )

    # Əlavə yoxlamalar (sifariş statusu, uğur mesajı)

    driver.quit()

# Digər ödəniş variantları üçün oxşar testlər əlavə et