Middle
Веб-сайтта 20 ар түрдүү төлөм варианттарын кантип сынайсыз?
sobes.tech AI
AIден жооп
Сиз тесттик стратегияны иштеп чыгасыз, ал төмөнкү кадамдарды камтыйт:
- Талаптар жана документацияны талдоо: Ар бир төлөм ыкмасы үчүн жеткиликтүү материалдарды изилдейсиз (интеграциялык спецификациялар, колдонуучу сценарийлери, API документациясы).
- Тест дизайны: Ар бир төлөм ыкмасы үчүн тест учурларын түзөсүз, алар төмөнкүлөрдү камтыйт:
- Позитивдүү сценарийлер ( ийгиликтүү төлөм ).
- Негативдүү сценарийлер (жараксыз маалыматтар, каражаттын жетишсиздиги, транзакцияны жокко чыгаруу).
- Чекене учурлар (жогорку/төмөн суммалар, атайын белгилер).
- Төрттүрдүү транзакция статусу менен сценарийлер (күтүүдө, ката, кайтарылган).
- Ар кандай түзмөктөрдө жана браузерлерде тестирлөө.
- Тесттерди приоритизациялоо: Алгач эң көп колдонулган жана критикалык маанидеги төлөм ыкмаларын сынайсыз.
- Тест маалыматтарын даярдоо: Ар кандай колдонуучу сценарийлерин жана чекене учурларды имитация кылган реалистик тест маалыматтарын түзөсүз. Мүмкүн, төлөм системаларында тест аккаунттары же тест карталары керек болот.
- Тесттерди аткаруу: Кол менен жана автоматташтырылган тесттерди жүргүзөсүз.
- Автоматташтыруу: Көп колдонулган жана маанилүү сценарийлер үчүн автоматташтырылган тесттерди ишке ашырасыз, мисалы, негизги төлөм системалары менен ийгиликтүү төлөмдөр.
- Интеграциялык тестирлөө: Төлөм системалары менен веб-сайттын арткы бөлүмүнүн өз ара аракеттенүүсүн жана төлөмдөн кийин заказдардын статусун текшересиз.
- Коопсуздук тестирлөө: OWASP Top 10 боюнча негизги текшерүүлөрдү жүргүзөсүз, өзгөчө төлөм маалыматтарын иштетүүдө (Sensitive Data Exposure, Injection).
- Регрессиялык тестирлөө: Жаңы өзгөртүүлөрдүн учурдагы функцияларга таасир этпегенин текшересиз.
- Лог жүргүзүү жана мониторинг: Тестирлөө учурунда транзакциялардын жана каталардын логдорун көзөмөлдөсүз.
- Натыйжаларды документтештирүү: Тест натыйжаларын, табылган кемчиликтерди жана алардын репродукция кадамдарын жазасыз.
Тест учурларынын структурасы:
| Test Case ID | Төлөм ыкмасы | Тасвиртоо | Кадамдар | Күтүлгөн натыйжа | Чын натыйжа | Статус |
|---|---|---|---|---|---|---|
| PAY-001 | Visa | Ийгиликтүү төлөм | 1. Товардын себетке кошуу. <br> 2. Төлөм барагына өтүү. <br> 3. Visa тандоо. <br> 4. Карта маалыматтарын туура киргизүү. <br> 5. Төлөмдү ырастоо. | Тапшырык ийгиликтүү түзүлдү. <br> "Төлөнгөн" статусу. <br> Төлөм жөнүндө билдирүү алынды. | ||
| PAY-002 | Visa | Ката номері | ... | Төлөм ката. Ката билдирүүсү. | ||
| PAY-003 | PayPal | Ийгиликтүү төлөм | ... (PayPal үчүн сценарий) | Тапшырык ийгиликтүү түзүлдү. <br> "Төлөнгөн" статусу. <br> Төлөм жөнүндө билдирүү алынды. |
Автоматташтырылган тесттин мисалы (Python жана 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() # же башка браузер
driver.get("http://your-website.com/checkout")
# Товардын кошулушу жана төлөм барагына өтүү коду
# Visa төлөм ыкмасын тандоо
visa_option = driver.find_element(By.ID, "visa-payment-method")
visa_option.click()
# Карта маалыматтарын киргизүү (тест маалыматтарды колдонуу)
card_number_field = driver.find_element(By.ID, "card_number")
card_number_field.send_keys("4111111111111111")
# Башка маалыматтарды киргизүү
# Төлөм баскычын басуу
pay_button = driver.find_element(By.ID, "pay_button")
pay_button.click()
# Төлөм ийгиликтүү аяктагандан кийин күтүү
WebDriverWait(driver, 10).until(
EC.url_contains("/order_success")
)
driver.quit()
# Башка төлөм ыкмалары үчүн окшош тесттерди кошуңуз