Sobes.tech
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 # Λογική ελέγχου δοκιμαστικότητας

Ο χρόνος έναρξης των δοκιμών εξαρτάται από τη στρατηγική του έργου, αλλά η τάση για μετατόπιση των δοκιμών προς τα αριστερά (πρώιμη δοκιμή) γίνεται όλο και πιο διαδεδομένη για τη βελτίωση της ποιότητας και τη μείωση του κόστους διόρθωσης σφαλμάτων.