Τι είναι η μη λειτουργική δοκιμή;
sobes.tech AI
Απάντηση από AI
Μη λειτουργική δοκιμή είναι ένας τύπος δοκιμής λογισμικού που επικεντρώνεται στον έλεγχο των μη λειτουργικών απαιτήσεων. Αξιολογεί τα χαρακτηριστικά του συστήματος που δεν σχετίζονται άμεσα με συγκεκριμένες λειτουργίες, αλλά περισσότερο με το "πώς" λειτουργεί το σύστημα.
Οι κύριοι στόχοι της μη λειτουργικής δοκιμής:
- Να διασφαλίσει ότι το σύστημα ανταποκρίνεται στις προσδοκίες των χρηστών και της επιχείρησης όσον αφορά την απόδοση, την αξιοπιστία, την ευχρηστία και άλλα στοιχεία.
- Να εντοπίσει προβλήματα που μπορεί να επηρεάσουν τη σταθερότητα, την κλιμάκωση και την ασφάλεια του συστήματος.
- Να επιβεβαιώσει ότι το σύστημα συμμορφώνεται με τα καθορισμένα πρότυπα και απαιτήσεις.
Τύποι μη λειτουργικής δοκιμής:
| Τύπος δοκιμής | Σύντομη περιγραφή | Παραδείγματα χαρακτηριστικών που ελέγχονται |
|---|---|---|
| Δοκιμή απόδοσης | Αξιολόγηση της ταχύτητας, της ανταπόκρισης, της σταθερότητας και της κλιμάκωσης του συστήματος υπό φόρτωση. | Χρόνος απόκρισης, διαπερατότητα, χρήση CPU/μνήμης. |
| Δοκιμή φόρτωσης | Συμπεριφορά του συστήματος υπό την αναμενόμενη αιχμιακή φόρτωση. | Αριθμός ταυτόχρονων χρηστών, συναλλαγές ανά δευτερόλεπτο. |
| Δοκιμή στρες | Συμπεριφορά του συστήματος όταν υπερβαίνει την αναμενόμενη αιχμιακή φόρτωση ή υπάρχει έλλειψη πόρων. | Σημείο αποτυχίας του συστήματος, συμπεριφορά υπό υπερφόρτωση. |
| Δοκιμή σταθερότητας (Endurance Testing) | Δυνατότητα του συστήματος να λειτουργεί συνεχώς υπό φόρτωση για μεγάλο χρονικό διάστημα. | Διαρροές μνήμης, επιδείνωση της απόδοσης με την πάροδο του χρόνου. |
| Δοκιμή ασφαλείας | Προστασία του συστήματος από εξωτερικές και εσωτερικές απειλές, μη εξουσιοδοτημένη πρόσβαση. | Προστασία από SQL injections, XSS επιθέσεις, αυθεντικοποίηση, εξουσιοδότηση. |
| Δοκιμή χρηστικότητας (Usability Testing) | Καθορισμός του πόσο εύκολο και διαισθητικό είναι για τους χρήστες να χρησιμοποιούν το σύστημα. | Κατανοητό περιβάλλον, εύκολη πλοήγηση, προσβασιμότητα. |
| Δοκιμή συμβατότητας | Λειτουργία του συστήματος σε διάφορα περιβάλλοντα (προγράμματα περιήγησης, λειτουργικά συστήματα, συσκευές). | Υποστήριξη διαφόρων εκδόσεων προγραμμάτων περιήγησης, OS. |
| Δοκιμή αξιοπιστίας (Reliability Testing) | Αξιολόγηση της ικανότητας του συστήματος να εκτελεί τις λειτουργίες του χωρίς σφάλματα για μια καθορισμένη χρονική περίοδο. | Μέσος χρόνος μεταξύ αποτυχιών (MTBF), πιθανότητα αποτυχίας. |
| Δοκιμή προσβασιμότητας (Accessibility Testing) | Έλεγχος της ευκολίας χρήσης του συστήματος από άτομα με περιορισμένες δυνατότητες. | Συμμόρφωση με τα πρότυπα WCAG. |
| Δοκιμή τοπικοποίησης/διεθνοποίησης | Προσαρμογή του συστήματος σε διάφορες γλώσσες και περιφερειακές ρυθμίσεις. | Μεταφρασμένες γραμμές, μορφές ημερομηνίας/αριθμών. |
Η μη λειτουργική δοκιμή πραγματοποιείται συνήθως σε πιο πρώιμα στάδια του κύκλου ζωής ανάπτυξης λογισμικού από τη λειτουργική δοκιμή, αλλά ο προγραμματισμός της ξεκινά με τον καθορισμό των απαιτήσεων. Μπορεί να αποτελεί μέρος αυτοματοποιημένων διαδικασιών, ειδικά κατά τη δοκιμή απόδοσης και ασφάλειας.
Εργαλεία για μη λειτουργική δοκιμή:
- Απόδοση: JMeter, LoadRunner, Gatling, k6.
- Ασφάλεια: OWASP ZAP, Burp Suite, Acunetix.
- Συμβατότητα: BrowserStack, Sauce Labs.
- Ευχρηστία: UserTesting.com, εργαλεία παρακολούθησης ματιών.
Ένα παράδειγμα αυτοματοποίησης μέρους της μη λειτουργικής δοκιμής μπορεί να είναι ένα σενάριο για τον έλεγχο του χρόνου φόρτωσης της σελίδας:
import time
import requests
def measure_page_load_time(url):
"""
Μετράει τον χρόνο φόρτωσης της δοθείσας URL.
"""
start_time = time.time()
try:
response = requests.get(url)
response.raise_for_status() # Καλεί HTTPError για κακές απαντήσεις (4xx ή 5xx)
end_time = time.time()
load_time = end_time - start_time
print(f"Χρόνος φόρτωσης {url}: {load_time:.2f} δευτερόλεπτα")
return load_time
except requests.exceptions.RequestException as e:
print(f"Σφάλμα κατά τη φόρτωση {url}: {e}")
return None
# Παράδειγμα χρήσης
url_to_test = "https://www.example.com"
measure_page_load_time(url_to_test)
Τα αποτελέσματα της μη λειτουργικής δοκιμής παρουσιάζονται συχνά με τη μορφή αναφορών, γραφημάτων και μετρικών που αξιολογούν τα χαρακτηριστικά του συστήματος και λαμβάνονται αποφάσεις για τις απαραίτητες βελτιώσεις.