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:
- 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).
- 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.
- Testlərin prioritetləşdirilməsi: Ən çox istifadə olunan və kritik ödəniş variantlarını əvvəl test edərdim.
- 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.
- Testlərin icrası: Əl ilə və avtomatlaşdırılmış testlər həyata keçirərdim.
- 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.
- İ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.
- 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).
- Regrasiya testləri: Yeni dəyişikliklərin mövcud ödəniş variantlarının funksionallığını pozmadığından əmin olardım.
- Log və monitorinq: Tranzaksiya loglarını və test zamanı yaranan səhvləri izləyərdim.
- 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