Sobes.tech
Junior

Hansı proqram təminatı test növlərini bilirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

  • Vahidlik (Unit) testləri: Proqramın ayrı-ayrı komponentlərinin və ya modullarının izolyasiya olunmuş şəkildə test edilməsi.
  • İnteqrasiya (Integration) testləri: Bir neçə modul arasında qarşılıqlı əlaqənin test edilməsi.
  • Sistem (System) testləri: Bütün sistemin bütöv şəkildə test edilməsi, funksional və qeyri-funksional tələblərə uyğunluğunun yoxlanması.
  • Qəbul (Acceptance) testləri: Sistemin son istifadəçilər və ya müştərilər tərəfindən yoxlanması, onların gözləntilərinə cavab verdiyindən əmin olmaq.

Əlavə:

  • Funksional testlər: Sistemin funksional tələblərə uyğunluğunun yoxlanması.
  • Qeyri-funksional testlər: Performans, təhlükəsizlik, istifadə rahatlığı kimi qeyri-funksional aspektlərin yoxlanması.
  • Regressiya testləri: Koddakı dəyişikliklərin mövcud funksionallığı pozmadığının yoxlanması.
  • Yük testləri: Sistemin müəyyən yük altında performansının qiymətləndirilməsi.
  • Stres testləri: Sistemin ekstremal şərtlərdə test edilməsi.
  • Təhlükəsizlik testləri: Sistemdəki zəifliklərin aşkarlanması.
  • İstifadə rahatlığı testləri: Sistemin son istifadəçilər üçün istifadəsinin asan və intuitiv olmasının qiymətləndirilməsi.

İşimdə tez-tez istifadə etdiyim nümunələr:

// JUnit ilə nümunə vahid testi
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class MyServiceTest {

    @Test
    void testAdd() {
        MyService service = new MyService();
        assertEquals(5, service.add(2, 3));
    }
}
// Spring Boot ilə inteqrasiya testi nümunəsi
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;

import static org.assertj.core.api.Assertions.assertThat;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class MyControllerIntegrationTest {

    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    void testHelloEndpoint() {
        ResponseEntity<String> response = restTemplate.getForEntity("/hello", String.class);
        assertThat(response.getBody()).isEqualTo("Hello, World!");
    }
}