Sobes.tech
Junior

Tətbiqlərin müştəri hissəsinin testləri haqqında danış.

sobes.tech Süni İntellekt

AI-dan cavab

Gəlin, müştəri tərəfinin (ön tərəf) test edilməsinin istifadəçi interfeysinin (UI) və onunla qarşılıqlı əlaqənin yoxlanmasına yönəldiyini qeyd edək. Bu, funksionallıq, performans, istifadə rahatlığı (UX), təhlükəsizlik və brauzerlararası uyğunluğu əhatə edir.

Müştəri tərəfi testlərinin növləri:

  • Funksional test: İnterfeysin spesifikasiya tələblərinə uyğunluğunun yoxlanması.
    • Düymələrin, formaların, linklərin düzgün işləməsinin yoxlanması.
    • Məlumatların doğrulamasının yoxlanması.
    • Məlumatların düzgün göstərilməsinin yoxlanması.
  • UI-test: İnterfeysin vizual yoxlaması.
    • Layout, şriftlər, rənglər, elementlərin ölçüsünün yoxlanması.
    • Müxtəlif ekran həllərində göstərilmənin yoxlanması (adaptiv dizayn).
  • UX-test: Tətbiqin istifadə rahatlığının qiymətləndirilməsi.
    • Navigasiyanın intuitivliyinin yoxlanması.
    • İstifadəçi üçün tapşırıqları yerinə yetirmənin asanlığının yoxlanması.
    • İstifadəçilərdən rəy toplanması (bəzən).
  • Performans testləri: Səhifələrin yükləmə sürətinin və interfeysin cavabdehliyinin qiymətləndirilməsi.
    • Yükləmə sürətinin analizi üçün alətlərdən istifadə (məsələn, Lighthouse).
    • Yük altında testlər (bu, daha çox backend üçün olsa da, ön tərəfə təsir edə bilər).
  • Təhlükəsizlik testləri: Müştəri tərəfindəki zəifliklərin yoxlanması.
    • XSS (Cross-Site Scripting) yoxlaması.
    • CSRF (Cross-Site Request Forgery) yoxlaması.
    • Kod injeksiyalarının yoxlanması.
  • Brauzerlararası test: Müxtəlif brauzerlərdə və versiyalarda düzgün göstərilmə və işləmənin yoxlanması.
  • Platformalararası test: UI-nin müxtəlif əməliyyat sistemləri və cihazlarda işləməsinin yoxlanması (kompüterlər, planşetlər, smartfonlar).

Test yanaşmaları:

  • Əl ilə test: İstifadəçinin hərəkətlərini təqlid edən şəxs tərəfindən həyata keçirilir. UI və UX testləri üçün effektiv.
  • Avtomatlaşdırılmış test: Test ssenarilərinin avtomatik yerinə yetirilməsi üçün alətlər və çərçivələrdən istifadə. Regresiya və funksional testlər üçün effektiv.

Avtomatlaşdırılmış müştəri tərəfi testləri üçün alətlər:

  • Selenium: Brauzer avtomatlaşdırması üçün geniş istifadə olunan çərçivə. Müxtəlif proqramlaşdırma dillərini dəstəkləyir.
  • Cypress: Web üçün hazırlanmış ön tərəf test çərçivəsi. Sürətli və istifadəsi asandır.
  • Playwright: Microsoft-un etibarlı son-son test üçün çərçivəsi. Müxtəlif brauzerləri və dilləri dəstəkləyir.
  • Jest, Mocha: JavaScript kodunun modul testləri üçün çərçivələr.

Selenium ilə sadə test nümunəsi (Python):

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
import time

# Chrome sürücüsünü quraşdırmaq
service = ChromeService(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

try:
    # Səhifəni açmaq
    driver.get("https://www.example.com")

    # Səhifə başlığını yoxlamaq
    assert "Example Domain" in driver.title

    # Link mətninə görə elementi tapmaq
    link_element = driver.find_element(By.LINK_TEXT, "More information...")
    assert link_element.is_displayed() # Elementin görünürlüğünü yoxlamaq
    
    # Linkə klik etmək (nümunə)
    # link_element.click()
    # time.sleep(2) # Yeni səhifənin yüklənməsini gözləmək

finally:
    # Brauzeri bağlamaq
    driver.quit()

Cypress test nümunəsi:

// cypress/integration/example_spec.js

describe('Birinci Testim', () => {
  it('Nümunə saytına daxil olur', () => {
    // Səhifəni açmaq
    cy.visit('https://www.example.com')

    // Səhifə başlığını yoxlamaq
    cy.title().should('include', 'Example Domain')

    // Elementin mövcudluğunu yoxlamaq
    cy.contains('More information...').should('be.visible')

    // Linkə klik etmək (nümunə)
    // cy.contains('More information...').click()
    // cy.url().should('include', '/moreinfo') // URL-i yoxlamaq
  })
})

Müştəri tərəfi testlərinin xüsusiyyətləri:

  • Dinamiklik: UI istifadəçi hərəkətlərinə və ya verilənlərə görə dəyişə bilər.
  • Asinxron əməliyyatlar: Serverə sorğular və cavablar asinxron baş verə bilər.
  • Diverse mühitlər: Müxtəlif cihazlar, brauzerlər və həllərdə test etmək lazımdır.
  • Backend-ə bağlılıq: Frontend-in düzgün işləməsi çox vaxt backend-in mövcudluğu və düzgün cavablarına bağlıdır.
  • Tez-tez dəyişikliklər: Frontend inkişaf müddətində çox dəyişir.

Ümumiyyətlə, müştəri tərəfi testləri veb tətbiqlərinin keyfiyyətini və istifadə rahatlığını təmin etmək üçün çox vacib mərhələdir. Bu, tam əhatə üçün həm əl ilə, həm də avtomatlaşdırılmış yanaşmaları tələb edir.