Sobes.tech
Junior

Ποια είδη δοκιμών λογισμικού γνωρίζεις;

sobes.tech AI

Απάντηση από AI

  • Μονάδα (Unit) δοκιμές: Δοκιμές μεμονωμένων συστατικών ή μονάδων του προγράμματος απομονωμένα.
  • Ολοκλήρωση (Integration) δοκιμές: Δοκιμές της αλληλεπίδρασης μεταξύ πολλαπλών μονάδων.
  • Συστήματα (System) δοκιμές: Δοκιμές ολόκληρου του συστήματος ως ενιαίου συνόλου, ελέγχοντας την τήρηση των λειτουργικών και μη λειτουργικών απαιτήσεων.
  • Αποδοχή (Acceptance) δοκιμές: Έλεγχος του συστήματος από τελικούς χρήστες ή πελάτες για να διασφαλιστεί ότι ανταποκρίνεται στις προσδοκίες τους.

Επιπλέον:

  • Λειτουργικές δοκιμές: Έλεγχος της συμμόρφωσης του συστήματος με τις λειτουργικές απαιτήσεις.
  • Μη λειτουργικές δοκιμές: Έλεγχος μη λειτουργικών πτυχών όπως απόδοση, ασφάλεια, ευχρηστία.
  • Δοκιμές παλινδρόμησης: Έλεγχος ότι οι αλλαγές στον κώδικα δεν έχουν διαταράξει τις υπάρχουσες λειτουργίες.
  • Δοκιμές φόρτου: Καθορισμός της απόδοσης του συστήματος υπό συγκεκριμένο φορτίο.
  • Δοκιμές στρες: Έλεγχος του συστήματος υπό ακραίες συνθήκες φόρτου.
  • Δοκιμές ασφαλείας: Εντοπισμός ευπαθειών στο σύστημα.
  • Δοκιμές χρηστικότητας: Αξιολόγηση της ευκολίας και της εννοιολογικής κατανόησης της χρήσης του συστήματος από τους τελικούς χρήστες.

Στη δουλειά μου συχνά χρησιμοποιώ:

// Παράδειγμα μονάδας δοκιμής με 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!");
    }
}