Sobes.tech
Junior

რომელი ტიპის პროგრამული უზრუნველყოფის ტესტებს იცნობ?

sobes.tech AI

პასუხი AI-სგან

  • მოდულური (Unit) ტესტირება: ინდივიდუალური კომპონენტების ან მოდულების იზოლირებული ტესტირება.
  • ინტეგრირებული (Integration) ტესტირება: რამდენიმე მოდულის ურთიერთქმედების ტესტირება.
  • სისტემური (System) ტესტირება: მთელი სისტემის ტესტირება როგორც ერთ მთლიანობად, ფუნქციონალური და ნეფუნქციონალური მოთხოვნების შესაბამისობის შემოწმებით.
  • მიღების (Acceptance) ტესტირება: სისტემის შემოწმება საბოლოო მომხმარებლების ან შეკვეთის მიერ, რათა დარწმუნდნენ, რომ ის პასუხობს მათ მოლოდინებს.

დამატებით:

  • ფუნქციონალური ტესტირება: სისტემის შესაბამისობის შემოწმება ფუნქციონალურ მოთხოვნებთან.
  • ნეფუნქციონალური ტესტირება: ნეფუნქციონალური ასპექტების შემოწმება, როგორიცაა შესრულება, უსაფრთხოება, გამოყენების მარტივობა.
  • რეგრესიული ტესტირება: შემოწმება, რომ კოდში ცვლილებები არ დაურღვევია არსებული ფუნქციონალი.
  • მატვირთველობა ტესტირება: სისტემის შესრულების განსაზღვრა გარკვეული დატვირთვის ქვეშ.
  • სტრეს-ტესტირება: სისტემის გამოცდა ექსტრემალურ დატვირთვაში.
  • უსაფრთხოების ტესტირება: სისტემაში სუსტი წერტილების გამოვლენა.
  • გამოყენების მარტივობის ტესტირება (Usability testing): სისტემის გამოყენების სოლიდურობის და ინტუიციურობის შეფასება საბოლოო მომხმარებლების მიერ.

ჩემი მუშაობის დროს ხშირად ვიყენებ:

// JUnit-ის მაგალითი ერთეულური ტესტით
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-ის ინტეგრაციის ტესტის მაგალითი
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!");
    }
}