Intern
İsti müştəri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
"İsti" müştəri test kontekstində — bu, testlərin yerinə yetirilməsi üçün başlatılmış və konfiqurasiya edilmiş müştəridir (məsələn, brauzer pəncərəsi, mobil tətbiq), lakin hələ test ssenarisində birbaşa iştirak etməyib. Əsasən, bu, işləməyə hazır test mühitidir.
"Soyuq" müştəridən fərqləri:
- Başlatma və ilkinləşdirmə: "İsti" müştəri artıq işə salınıb, lazım olan resursları yükləyib (səhifələr, məlumatlar), mümkün olan halda əvvəlcədən autentifikasiya olunub. "Soyuq" müştəri hər test və ya test dəstindən əvvəl tam başlatma və ilkinləşdirmə tələb edir.
- Vəziyyət: "İsti" müştəri testlər arasında müəyyən bir vəziyyəti saxlayır (məsələn, autentifikasiya tokenləri, keşi), bu da növbəti testlərin daha sürətli yerinə yetirilməsinə imkan verir. "Soyuq" müştəri adətən təmiz vəziyyətdən başlayır.
- İcranın vaxtı: "İsti" müştərilərin istifadəsi test ssenarilərinin yerinə yetirilmə vaxtını əhəmiyyətli dərəcədə azaldır, çünki uzun müddətli ilkinləşdirmə əməliyyatlarının təkrarlanması aradan qaldırılır.
"İsti" müştərinin istifadəsinin üstünlükləri:
- Vaxtın qənaəti: Brauzerin/tətbiqin işə salınması və başlanğıc səhifənin/yaxud ekranın yüklənməsinin vaxtını azaldır.
- Testlərin sürətləndirilməsi: Autentifikasiya tələb edən testlərin yerinə yetirilməsi daha sürətli olur, çünki hər dəfə giriş prosesindən keçmək lazım deyil.
- Effektivlik: Xüsusilə böyük regresiya test dəstləri üçün aktualdır.
Əksikliklər:
- Vəziyyətin potensial təsiri: Əvvəlki testdən qalan vəziyyət (fləşlər, kukilər, lokal saxlama) hazırkı testin nəticəsinə təsir göstərə bilər. Vəziyyətin diqqətlə idarə olunması tələb olunur.
- Daha mürəkkəb konfiqurasiya: "İstili" vəziyyətin saxlanması və hər testdən sonra təmizlənməsi üçün loqika hazırlanmalıdır ki, izolyasiya təmin olunsun.
- Resursların artmış istifadəsi: Daimi işləyən müştəri sistem resurslarını daha çox istifadə edə bilər.
Selenium WebDriver ilə avtomatlaşdırılmış testdə istifadə nümunəsi:
Hər test üçün yeni sürücünün yaradılması yerinə:
// "Soyuq" yanaşma
@Test
public void testFeatureA() {
WebDriver driver = new ChromeDriver(); // Yeni brauzer işə salınır
//... test ssenarisi
driver.quit();
}
@Test
public void testFeatureB() {
WebDriver driver = new ChromeDriver(); // Yenidən yeni brauzer işə salınır
//... test ssenarisi
driver.quit();
}
Bir nümunə sürücü istifadə olunur və testlər arasında təkrar istifadə edilir (təxmini loqika):
// "İsti" yanaşma (BeforeAll/AfterAll və ya oxşar anotasiyalar/keçidlər istifadə edilərək)
private static WebDriver driver;
@BeforeAll // Bütün testlərdən əvvəl bir dəfə işə salınır
public static void setup() {
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
driver.get("https://your-app.com/login");
// Autentifikasiya loqikası
}
@AfterAll // Bütün testlərdən sonra bir dəfə işə salınır
public static void teardown() {
if (driver != null) {
driver.quit();
}
}
@BeforeEach // Hər testdən əvvəl işə salınır
public void prepareTest() {
// Vəziyyətin təmizlənməsi üçün loqika, məsələn, kukilərin silinməsi, ana səhifəyə keçid
driver.manage().deleteAllCookies();
driver.navigate().to("https://your-app.com/dashboard");
}
@Test
public void testFeatureA() {
// Artıq işə salınmış və autentifikasiya olunmuş sürücüdən istifadə edirik
// ... test ssenarisi
}
@Test
public void testFeatureB() {
// Eyni sürücü istifadə olunur
// ... test ssenarisi
}
Bu, brauzerin və sistemə girişin hər test üçün təkrarlanmasının qarşısını alır.