Sobes.tech
Middle

Kaip išbandytumėte 20 skirtingų mokėjimo variantų interneto svetainėje?

sobes.tech AI

Atsakymas iš AI

Sukurtų testavimo strategiją, apimančią šiuos žingsnius:

  1. Reikalavimų ir dokumentacijos analizė: Išnagrinėčiau visus prieinamus medžiagos šaltinius apie kiekvieną mokėjimo būdą (integracijos specifikacijas, naudotojo scenarijus, API dokumentaciją).
  2. Testų dizainas: Sukurčiau testų atvejus kiekvienam mokėjimo būdui, apimančius:
    • Teigiamus scenarijus (sėkmingas mokėjimas).
    • Neigiamus scenarijus (neteisingi duomenys, trūksta lėšų, transakcijos atšaukimas).
    • Ribinius atvejus (didelės/mažos sumos, specialieji simboliai).
    • Scenarijus su įvairiais transakcijų statusais (pending, failed, refunded).
    • Testavimą skirtinguose įrenginiuose ir naršyklėse.
  3. Testų prioritetizavimas: Pirmiausia išbandyčiau dažniausiai naudojamus ir kritiškai svarbius mokėjimo būdus.
  4. Testinių duomenų paruošimas: Sugeneruočiau realistiškus testinius duomenis, imituojančius įvairius naudotojo scenarijus ir ribinius atvejus. Galbūt reikėtų testinių paskyrų mokėjimo sistemose arba testinių kortelių.
  5. Testų vykdymas: Atlikčiau rankinius ir automatinius testus.
  6. Automatizacija: Implementuočiau automatinius testus dažnai vykdomiems ar kritiškai svarbiems scenarijams, pavyzdžiui, sėkmingiems mokėjimams su pagrindinėmis mokėjimo sistemomis.
  7. Integracinis testavimas: Patikrinčiau mokėjimo sistemų sąveiką su svetainės backend'u, užsakymų statusų teisingumą po apmokėjimo.
  8. Saugumo testavimas: Atlikčiau bazinius OWASP Top 10 patikrinimus, ypač apdorojant mokėjimo duomenis (Sensitive Data Exposure, Injection).
  9. Regresijos testavimas: Įsitikinčiau, kad nauji pakeitimai nepakenkė esamų mokėjimo būdų funkcionalumui.
  10. Žurnalo įrašų ir stebėjimo: Sekčiau transakcijų žurnalus ir klaidų įrašus testavimo metu.
  11. Rezultatų dokumentavimas: Užfiksuočiau testavimo rezultatus, rastus trūkumus ir jų atkūrimo žingsnius.

Testų atvejų struktūros pavyzdys:

Testo atvejo ID Mokėjimo būdas Aprašymas Žingsniai Laukiamas rezultatas Faktinis rezultatas Statusas
PAY-001 Visa Sėkmingas mokėjimas 1. Pridėti prekę į krepšelį. 2. Eiti prie apmokėjimo. 3. Pasirinkti Visa. 4. Įvesti teisingus kortelės duomenis. 5. Patvirtinti mokėjimą. Užsakymas sėkmingai apdorotas. Užsakymo būsena "Apmokėta". Gauta mokėjimo įspėjimas.
PAY-002 Visa Mokėjimas su neteisingu kortelės numeriu ... Mokėjimo klaida. Pranešimas apie neteisingus duomenis.
PAY-003 PayPal Sėkmingas mokėjimas ... (scenarijus su PayPal) Užsakymas sėkmingai apdorotas. Užsakymo būsena "Apmokėta". Gauta mokėjimo įspėjimas.

Automatizuoto testo pavyzdys (Python su Selenium WebDriver):

# 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()  # Arba kitas naršyklės vairuotojas
    driver.get("http://your-website.com/checkout") # Apmokėjimo puslapio URL

    # Kodas prekei pridėti į krepšelį ir pereiti prie apmokėjimo

    # Pasirinkti Visa mokėjimo būdą
    visa_option = driver.find_element(By.ID, "visa-payment-method")
    visa_option.click()

    # Įvesti kortelės duomenis (naudokite testinius duomenis!)
    card_number_field = driver.find_element(By.ID, "card_number")
    card_number_field.send_keys("4111111111111111") # Testinė Visa kortelė

    # Įvesti kitus kortelės duomenis (galiojimo laikas, CVC, vardas)

    # Paspausti apmokėjimo mygtuką
    pay_button = driver.find_element(By.ID, "pay_button")
    pay_button.click()

    # Laukti sėkmingo apmokėjimo
    WebDriverWait(driver, 10).until(
        EC.url_contains("/order_success") # Sėkmingo užsakymo puslapio URL
    )

    # Papildomi patikrinimai (užsakymo būsena, sėkmės pranešimas)

    driver.quit()

# Pridėti panašius testus kitiems mokėjimo būdams