Junior
Δώστε παραδείγματα για το πώς ξεκινά η διαδικασία δοκιμής.
sobes.tech AI
Απάντηση από AI
Η διαδικασία δοκιμής μπορεί να ξεκινήσει σε διαφορετικά στάδια του κύκλου ζωής της ανάπτυξης λογισμικού, ανάλογα με τη μεθοδολογία που επιλέγεται και τις ιδιαιτερότητες του έργου.
Παραδείγματα:
-
Πρώιμη Δοκιμή (ή Shift-Left Testing):
- Ξεκινά στα στάδια που προηγούνται της γραφής κώδικα: συλλογή και ανάλυση απαιτήσεων, σχεδιασμός αρχιτεκτονικής και διεπαφής χρήστη.
- Ο QA συμμετέχει στην ανασκόπηση της τεκμηρίωσης (απαιτήσεις, προδιαγραφές), εντοπίζοντας ασάφειες, αντιφάσεις και πιθανά προβλήματα στο πιο πρώιμο στάδιο.
- Γράψιμο σεναρίων δοκιμών, check-lists και διαμόρφωση στρατηγικής δοκιμών παράλληλα με την ανάπτυξη.
- Εφαρμόζεται σε Agile και DevOps προσεγγίσεις.
-
Δοκιμές στο στάδιο ανάπτυξης (Unit Testing, Integration Testing):
- Ξεκινά όταν οι προγραμματιστές αρχίζουν να γράφουν κώδικα.
- Οι προγραμματιστές γράφουν μονάδες δοκιμών (Unit tests) για τον έλεγχο μεμονωμένων μονάδων ή λειτουργιών.
- Ο QA μπορεί να συμμετέχει στον προγραμματισμό των ολοκληρωτικών δοκιμών, στη συγγραφή σεναρίων δοκιμών ή ακόμα και στη συγγραφή των ίδιων των ολοκληρωτικών δοκιμών, αν χρησιμοποιούν τα ίδια frameworks με τους προγραμματιστές (στο Automation QA).
-
Δοκιμές μετά την ανάπτυξη (System Testing, Acceptance Testing, Regression Testing):
- Ξεκινά μετά την ολοκλήρωση μιας λειτουργικότητας ή ενός module και την ολοκλήρωσή τους σε ενιαίο σύνολο.
- Διεξάγεται ολοκληρωτικός έλεγχος του συστήματος συνολικά.
- Οι χρήστες ή εκπρόσωποι του πελάτη πραγματοποιούν αποδεκτικές δοκιμές.
- Μετά τις αλλαγές, πραγματοποιείται regression testing για να διασφαλιστεί ότι οι νέες αλλαγές δεν έχουν σπάσει την υπάρχουσα λειτουργικότητα.
-
Δοκιμές εντοπισμού σφαλμάτων σε παραγωγή (Production):
- Η διαδικασία δοκιμών μπορεί να ξεκινήσει με τον εντοπισμό σφάλματος σε λειτουργικό σύστημα από τον χρήστη ή μέσω εργαλείων παρακολούθησης.
- Ο QA αναλύει το σφάλμα, το αναπαράγει, το εντοπίζει και δημιουργεί αναφορά σφάλματος.
- Ξεκινά ο κύκλος διόρθωσης και επακόλουθων δοκιμών της διορθωμένης έκδοσης.
# Παράδειγμα συμμετοχής του QA στην πρώιμη δοκιμή (ανασκόπηση απαιτήσεων)
def review_requirements(requirements_doc):
"""
Ψευδοκώδικας για ανασκόπηση εγγράφου απαιτήσεων από QA.
"""
issues_found = []
# Έλεγχος πληρότητας
if not all_requirements_are_clear(requirements_doc):
issues_found.append("Ορισμένες απαιτήσεις είναι ασαφείς ή διφορούμενες.")
# Έλεγχος αντιφάσεων
if has_conflicting_requirements(requirements_doc):
issues_found.append("Εντοπίστηκαν αντιφατικές απαιτήσεις.")
# Έλεγχος δοκιμαστικότητας
if not are_all_requirements_testable(requirements_doc):
issues_found.append("Ορισμένες απαιτήσεις είναι δύσκολες ή αδύνατες προς δοκιμή.")
return issues_found
# Υποθέσεις βοηθητικών συναρτήσεων
def all_requirements_are_clear(doc):
pass # Λογική ελέγχου σαφήνειας
def has_conflicting_requirements(doc):
pass # Λογική ελέγχου αντιφάσεων
def are_all_requirements_testable(doc):
pass # Λογική ελέγχου δοκιμαστικότητας
Ο χρόνος έναρξης των δοκιμών εξαρτάται από τη στρατηγική του έργου, αλλά η τάση για μετατόπιση των δοκιμών προς τα αριστερά (πρώιμη δοκιμή) γίνεται όλο και πιο διαδεδομένη για τη βελτίωση της ποιότητας και τη μείωση του κόστους διόρθωσης σφαλμάτων.