Sobes.tech
Junior

Kādus programmatūras testēšanas veidus pazīsti?

sobes.tech AI

Atbilde no AI

  • Vienības (Unit) tests: Atsevišķu komponentu vai moduļu testēšana izolēti.
  • Integrācijas (Integration) tests: Vairāku moduļu savstarpējās mijiedarbības pārbaude.
  • Sistēmas (System) tests: Visa sistēmas testēšana kā vienota veseluma, pārbaudot atbilstību funkcionālajiem un nefunkcionālajiem prasībām.
  • Pieņemšanas (Acceptance) tests: Sistēmas pārbaude galalietotāju vai pasūtītāju pārraudzībā, pārliecinoties, ka tā atbilst viņu gaidām.

Papildus:

  • Funkcionālie testi: Sistēmas atbilstības pārbaude funkcionālajām prasībām.
  • Nefunkcionālie testi: Nefunkcionālo aspektu, piemēram, veiktspējas, drošības, lietošanas ērtības, pārbaude.
  • Regresijas testi: Pārbaude, vai izmaiņas kodā nav bojājušas esošo funkcionalitāti.
  • Slodzes testi: Sistēmas veiktspējas noteikšana noteiktā slodzē.
  • Stresa testi: Sistēmas pārbaude ekstrēmos slodzes apstākļos.
  • Drošības testi: Sistēmas ievainojamību atklāšana.
  • Lietojamības testi (Usability testing): Gala lietotāju sistēmas lietošanas vienkāršības un intuitivitātes novērtējums.

Savā darbā bieži izmantoju:

// JUnit piemērs vienības testam
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 integrācijas testa piemērs
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!");
    }
}