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!");
}
}