Μονάδες
1. Εισαγωγή στην τεχνητή νοημοσύνη στην ανάπτυξη παιχνιδιών: Ρόλοι, όρια, επαλήθευση, πνευματικά δικαιώματα και ηθική 2. Πρωτότυπο και Μηχανικός Σχεδιασμός: Ταχεία Επανάληψη από την Ιδέα στον Πυρήνα με δυνατότητα αναπαραγωγής 3. Συστήματα Συμπεριφοράς και Διαλόγου NPC: Τεχνητή Νοημοσύνη που ζωντανεύει τον χαρακτήρα 4. Δημιουργία Διαδικαστικού Περιεχομένου (PCG): Επίπεδο, Χάρτης, Αναζήτηση και Αφήγηση 5. Περιουσιακό στοιχείο και οπτική παραγωγή: concept art, 2d/3d και texture 6. Παραγωγή ήχου, μουσικής και εφέ: The Heard World of the Game 7. Δημιουργία κώδικα και ενσωμάτωση κινητήρα: Unity (C#) και Unreal (Blueprint/C++) 8. Ισορροπία παιχνιδιού, προσομοίωση και οικονομία: Ένα δίκαιο παιχνίδι με αριθμούς 9. Διασφάλιση ποιότητας (QA), εντοπισμός σφαλμάτων και αυτοματοποιημένη δοκιμή 10. Πνευματικά δικαιώματα, πρωτοτυπία, άδεια και δεοντολογία: Δημοσιεύσιμο και υπεύθυνο περιεχόμενο 11. Ροή εργασιών από άκρο σε άκρο, ενοποίηση γραμμής παραγωγής, διακυβέρνηση και υπηρεσία Live Service
Μονάδα 9 / 11

Διασφάλιση ποιότητας (QA), εντοπισμός σφαλμάτων και αυτοματοποιημένη δοκιμή

Κέρδη:

  • Ικανότητα κατανόησης λειτουργικών επιπέδων, παλινδρόμησης, περιπτώσεων ακραίων και δοκιμών σύγκρουσης και παραγωγής σεναρίων δοκιμών και λιστών περιπτώσεων ακραίων με τεχνητή νοημοσύνη
  • Δυνατότητα επιτάχυνσης του εντοπισμού σφαλμάτων γράφοντας αυτόματο κώδικα δοκιμής με τεχνητή νοημοσύνη και εξαγωγή μοτίβων σε log και ανάλυση σφαλμάτων
  • Έχοντας τη δυνατότητα να κατανοήσουμε ότι η διάγνωση σφαλμάτων της τεχνητής νοημοσύνης δεν είναι απόδειξη, αλλά υπόθεση, η αιτία πρέπει να αποδειχθεί με αρχεία καταγραφής και αναπαραγωγή και τη σημασία της αναπαραγώγιμης αναφοράς σφάλματος.

Όταν κυκλοφορεί ένα παιχνίδι, οι παίκτες το παίζουν με τρόπους που δεν φανταζόταν ο προγραμματιστής: να κολλήσουν σε τοίχους, να εκμεταλλευτούν το απόθεμα, να φτάνουν σε απίθανα σημεία, να προκαλέσουν σφάλματα. Διασφάλιση ποιότητας (QA — διασφάλιση ποιότητας). Είναι η διαδικασία συστηματικής δοκιμής του παιχνιδιού πριν από την κυκλοφορία και εύρεσης και διόρθωσης σφαλμάτων (bugs), crashes, αστάθειας και κακών εμπειριών. Αυτός είναι ένας από τους πιο απαιτητικούς αλλά κρίσιμους κρίκους στην παραγωγή παιχνιδιών. Η τεχνητή νοημοσύνη επιταχύνει το QA σε πολλά σημεία: δημιουργία δοκιμαστικής περίπτωσης, ανάλυση αναφοράς σφαλμάτων, ανασκόπηση αρχείων καταγραφής, αυτόματη εγγραφή κωδικού δοκιμής, εντοπισμός σφαλμάτων και βελτιστοποίηση στα βήματα παραγωγής. Αλλά η τεχνητή νοημοσύνη δεν αντικαθιστά τη διαίσθηση και την αξιολόγηση του παιχνιδιού από έναν ανθρώπινο δοκιμαστή.

Σε αυτή την ενότητα θα μάθετε πώς να χρησιμοποιείτε την τεχνητή νοημοσύνη σε QA και εντοπισμό σφαλμάτων. Θα μάθετε τη σχεδίαση σεναρίων δοκιμής, την ανάλυση αρχείων καταγραφής, την αυτόματη γραφή δοκιμών και την πειθαρχία αναφοράς σφαλμάτων.

Επίπεδα QA και θέση AI

Το QA είναι πολυεπίπεδο. Λειτουργικός έλεγχος: λειτουργεί το χαρακτηριστικό (ανοίγει η πόρτα, κάνει το φορτίο εγγραφής). Δοκιμή παλινδρόμησης: η νέα αλλαγή έσπασε αυτό που λειτουργούσε πριν; Έλεγχος περιπτώσεων άκρων: ασυνήθιστες είσοδοι (επαναφορά αποθέματος, δύο κλειδιά ταυτόχρονα, οριακές τιμές). Δοκιμές επιδόσεων/crash: είναι το παιχνίδι σταθερό. Παιχνίδι/τεστ εμπειρίας: διασκεδαστικό, διαισθητικό. Η τεχνητή νοημοσύνη είναι ισχυρή στα πρώτα τέσσερα: δημιουργία σεναρίων, καταχώριση περιπτώσεων αιχμής, σύνταξη κωδικού δοκιμής, ανάλυση αρχείων καταγραφής. Η τελευταία —πείρα— ανήκει στον άνθρωπο.

Ροή QA βήμα προς βήμα:

  1. Δημιουργήστε περιπτώσεις δοκιμών (λειτουργικές και ακραίες περιπτώσεις με AI).
  2. Γράψτε αυτοματοποιημένες δοκιμές (κωδικός για επαναλαμβανόμενους ελέγχους).
  3. Εκτέλεση και συλλογή (λάθη καταγραφής, αρχεία καταγραφής, σφάλματα).
  4. Ανάλυση (εξετάστε το αρχείο καταγραφής και το μοτίβο σφαλμάτων με AI).
  5. Αναφορά και επαλήθευση (καθαρή, αναπαραγώγιμη αναφορά σφαλμάτων, δοκιμαστική επιδιόρθωση).
Συμβουλή: Είναι δύσκολο να βρεις θήκες, επειδή ο σχεδιαστής παίζει το παιχνίδι του «σωστά». Ρωτήστε το AI "τι θα δοκίμαζε ένας παίκτης αν ήθελε να σπάσει αυτό το σύστημα;" Καταγράψτε τα exploits και τα edge case.

Αυτόματη δοκιμή: αφήστε την επανάληψη στο μηχάνημα

Η μη αυτόματη δοκιμή των ίδιων πραγμάτων σε κάθε έκδοση είναι κουραστική και επιρρεπής σε σφάλματα. Η αυτοματοποιημένη δοκιμή τοποθετεί αυτούς τους ελέγχους σε κώδικα: αν μια συνάρτηση επιστρέφει το σωστό αποτέλεσμα κάθε φορά που καλείται, είναι ένα σύστημα στην αναμενόμενη κατάσταση. Η Unity και η Unreal προσφέρουν πλαίσια δοκιμών. Το AI είναι γρήγορο στη σύνταξη αυτών των δοκιμών. Είναι ιδιαίτερα πολύτιμο για την παλινδρόμηση: αν μια αλλαγή σπάσει κάτι που λειτουργούσε πριν, το τεστ γίνεται κόκκινο. Εξετάστε τις δοκιμές που παράγει η τεχνητή νοημοσύνη, βεβαιωθείτε ότι ελέγχουν τι είναι πραγματικά σημαντικό - ένα κενό τεστ είναι χειρότερο από το μη τεστ.

Προσοχή: Κατά τον εντοπισμό σφαλμάτων, η τεχνητή νοημοσύνη μερικές φορές παράγει μια επινοημένη εξήγηση ως "πιθανή αιτία" (ψευδαίσθηση). Μην αποδεχτείτε την αιτία ενός σφάλματος μόνο και μόνο επειδή σας το είπε το AI. Αποδείξτε την αιτία καταγράφοντας, αναπαράγοντας και δοκιμάζοντας. Η λανθασμένη διάγνωση καθυστερεί την εύρεση του σωστού.

Αναπαραγωγή: η καρδιά του εντοπισμού σφαλμάτων

Η πρώτη απαίτηση για τη διόρθωση ενός σφάλματος είναι η αξιόπιστη αναπαραγωγή του. Ένα σφάλμα που περιγράφεται ως "συμβαίνει μερικές φορές" δεν μπορεί να διορθωθεί επειδή δεν μπορείτε να επαληθεύσετε εάν η επιδιόρθωση λειτούργησε. Έτσι, το πιο πολύτιμο έργο εντοπισμού σφαλμάτων είναι ο περιορισμός των ακριβών συνθηκών υπό τις οποίες εμφανίζεται το σφάλμα (ποια βήματα, ποια κατάσταση, ποιος χρόνος). Η τεχνητή νοημοσύνη συμβάλλει στον περιορισμό αυτού: μπορείτε να δώσετε τα συμπτώματα και τα βήματα μερικής αναπαραγωγής και να πείτε "πρότεινε συνθήκες και στρατηγική περιορισμού που μπορεί να ενεργοποιήσουν αυτήν τη συμπεριφορά". Αλλά στην πραγματικότητα κάνετε τον περιορισμό τρέχοντας το παιχνίδι. Το AI δημιουργεί υποθέσεις, εσείς τις εξαλείφετε.

Ειδικά τα σφάλματα που σχετίζονται με το χρονισμό (συνθήκη αγώνα) και τα σφάλματα που σχετίζονται με την κατάσταση της μνήμης είναι ύπουλα. αυτά συμβαίνουν μόνο σε μια συγκεκριμένη σειρά ή φορτίο. Για τέτοια σφάλματα, είναι σημαντικό να προσθέσετε πληροφορίες χρονικής σφραγίδας και κατάστασης στο αρχείο καταγραφής. Το AI μπορεί να αναλύσει αυτό το πλούσιο αρχείο καταγραφής και να δει το μοτίβο ("το σφάλμα συμβαίνει πάντα όταν αυτά τα δύο συμβάντα συμβαίνουν πρόσφατα"). Θυμηθείτε τον χρυσό κανόνα του εντοπισμού σφαλμάτων: πρώτα κατανοήστε και μετά διορθώστε. Η διόρθωση χωρίς κατανόηση κρύβει το σφάλμα αλλά δεν το λύνει και συχνά δημιουργεί ένα νέο σφάλμα αλλού.

τρεις μίνι θήκες

Περίπτωση 1 — Κυνήγι άκρων. Σε ένα RPG, η ομάδα δοκίμασε το σύστημα απογραφής σε "κανονικό" gameplay και θεώρησε ότι ήταν σταθερό. Είπαν την τεχνητή νοημοσύνη να πει "προσπάθησε να σπάσεις αυτό το απόθεμα" και δημιούργησαν 30 σενάρια ακραίων περιπτώσεων. 4 από αυτά ήταν αληθινά σφάλματα (0 μοίρασμα αντικειμένων βάρους, ταυτόχρονη μίας χρήσης). Διορθώθηκε πριν από τη δημοσίευση.

Περίπτωση 2 — Η ανάλυση καταγραφής επέλυσε τη συντριβή. Ένα παιχνίδι κολλούσε τυχαία. Τα αρχεία καταγραφής συντριβών ήταν εκατοντάδες γραμμές. Όταν το AI έλαβε τα αρχεία καταγραφής και ζήτησε το μοτίβο, αποκαλύφθηκε ότι η συντριβή συνέβαινε πάντα σε μια συγκεκριμένη μετάβαση σκηνής και χαμηλή μνήμη. Με αυτό το στοιχείο, ο προγραμματιστής βρήκε τη διαρροή μνήμης. Το ποσοστό συντριβής έπεσε στο μηδέν.

Περίπτωση 3 — Επιστροφή από λανθασμένη διάγνωση. Ένας προγραμματιστής εμπιστεύτηκε την εξήγηση της τεχνητής νοημοσύνης ότι "αυτό το σφάλμα προκαλείται από αυτήν τη συνάρτηση" και το εργάστηκε για μισή μέρα. δεν βγήκαν αποτελέσματα. Όταν ξεκαθάρισε και κατέγραψε ξανά τα βήματα παραγωγής, το λάθος ήταν σε εντελώς διαφορετικό σημείο. Μάθημα: Τα διαγνωστικά της τεχνητής νοημοσύνης είναι υποθέσεις, όχι απόδειξη.

Τέσσερα πρότυπα με δυνατότητα αντιγραφής

1) Παραγωγή ακραίας περίπτωσης/σεναρίου εκμετάλλευσης:

Ο ρόλος σας: κακόβουλος ελεγκτής διασφάλισης ποιότητας. Περιγράφω το ακόλουθο σύστημα: [σύστημα, κανόνες]. Εργασία: παραθέστε 20 σενάρια περιπτώσεων άκρης που θα προσπαθήσουν να σπάσουν, να εκμεταλλευτούν ή να φέρουν αυτό το σύστημα σε απροσδόκητη κατάσταση. Για το καθένα: τι να δοκιμάσετε, αναμενόμενο αποτέλεσμα, πιθανό σφάλμα.

2) Αυτοματοποιημένη γραφή δοκιμής:

Κινητήρας: [Unity 2022.3 / Unreal 5.3]. Πλαίσιο δοκιμής: [καθορίστε]. Γράψτε αυτοματοποιημένες δοκιμές για την ακόλουθη λειτουργία/σύστημα: [περιγραφή/κωδικός]. Συμπεριλάβετε την κανονική περίπτωση, την οριακή περίπτωση και την εσφαλμένη εισαγωγή. Βεβαιωθείτε ότι κάθε δοκιμή επαληθεύει κάτι πραγματικά σημαντικό. Γράφοντας κενά/ανούσια τεστ.

3) Ανάλυση αρχείου καταγραφής/συντριβής:

Ακολουθούν τα αρχεία καταγραφής σφαλμάτων/σφαλμάτων του παιχνιδιού: [καταγραφή]. Εργασία: επισημάνετε επαναλαμβανόμενα μοτίβα, κοινές συνθήκες (σκηνή, μνήμη, χρονισμός) και πιθανές βασικές αιτίες. Παρουσιάστε κάθε αιτία ως "υπόθεση προς απόδειξη". μιλήστε καθαρά. Πείτε μου επίσης πώς να επαληθεύσω.

4) Διευκρίνιση αναφοράς σφαλμάτων:

Κάντε την ακόλουθη ασαφή αναφορά σφάλματος σαφή και αναπαραγώγιμη: [ακατέργαστη αναφορά]. Έξοδος: τίτλος, αναπαραγωγή βήμα προς βήμα, αναμενόμενο αποτέλεσμα, πραγματικό αποτέλεσμα, συχνότητα, περιβάλλον. Εάν λείπουν πληροφορίες, αναφέρετε ποιες πληροφορίες χρειάζονται.

Αδύναμη προτροπή / Ισχυρή προτροπή

Αδύναμη προτροπή:

Υπάρχει ένα σφάλμα στο παιχνίδι μου, διορθώστε το.

Κανένα πλαίσιο, κανένα αρχείο καταγραφής, καμία αναπαραγωγή. Το AI είναι προγνωστικό και ο κίνδυνος παραισθήσεων είναι υψηλός.

Ισχυρή προτροπή:

Υπάρχει ένα σφάλμα στο παιχνίδι μου Unity 2022.3: το απόθεμα μερικές φορές διπλασιάζεται όταν ο παίκτης εκτελεί μια γρήγορη αποθήκευση-φόρτωση. Αναπαραγωγή: [βήματα]. Σχετικός κώδικας: [επικόλληση]. Καταγραφή: [επικόλληση].Εργασία: απαριθμήστε πιθανές βασικές αιτίες ως υποθέσεις που πρέπει να αποδειχθούν, δώστε τον τρόπο επαλήθευσης και πιθανή διόρθωση για καθεμία. Δημιουργήστε μια ανύπαρκτη αιτία. Εάν δεν είστε σίγουροι, ενημερώστε με.

Η αναπαραγωγή, ο κωδικός, το αρχείο καταγραφής και το αίτημα "παρουσίαση ως υπόθεση" καθιστούν τη διάγνωση αξιόπιστη.

Τραπέζι στρώματος QA

στρώμα

Τι δοκιμάζει;

συνεισφορά AI

ανθρώπινο μερίδιο

λειτουργικό

Λειτουργεί το χαρακτηριστικό;

Σενάριο, κωδικός δοκιμής

Απόφαση εισαγωγής

παλινδρόμηση

Έχει χαλάσει το παλιό;

αυτόματη δοκιμή

Απόφαση πεδίου εφαρμογής

ακραία περίπτωση

ασυνήθιστη εισαγωγή

Παραγωγή σεναρίου

προτεραιότητα

Συντριβή/απόδοση

αποφασιστικότητα

Ανάλυση ημερολογίου

Επιβεβαίωση ριζικής αιτίας

Εμπειρία

ψυχαγωγία, διαίσθηση

περιορισμένη

εντελώς ανθρώπινο

Συνήθη λάθη

  • Απλώς δοκιμάζοντας το "κανονικό" gameplay. Οι θήκες των άκρων εκρήγνυνται μετά την απελευθέρωση.
  • Λάθος διάγνωση AI ως απόδειξη. Το γιατί αποδεικνύεται από το ημερολόγιο και τις δοκιμές.
  • Γράψιμο κενών αυτοματοποιημένων δοκιμών. Οι δοκιμές χωρίς νόημα δίνουν την ψευδαίσθηση της εμπιστοσύνης.
  • Αναφορά ασαφούς σφάλματος. Ένα μη αναπαραγώγιμο σφάλμα δεν μπορεί να διορθωθεί.
  • Παράλειψη δοκιμής παλινδρόμησης. Κάθε διόρθωση μπορεί να προκαλέσει νέα σφάλματα.

Συνοπτικά

Το QA είναι η πειθαρχία που κάνει το παιχνίδι έτοιμο για τον παίκτη. ΟΛΑ ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΝΤΑΙ; δημιουργεί σενάρια ακραίων περιπτώσεων, γράφει αυτοματοποιημένες δοκιμές, αναλύει αρχεία καταγραφής και διευκρινίζει αναφορές σφαλμάτων. Όμως οι διαγνώσεις τους είναι υποθέσεις, η αξιολόγηση της εμπειρίας είναι ανθρώπινη και κάθε διόρθωση απαιτεί επανέλεγχο. Αντιγράψτε το αντανακλαστικό "ποιος μπορεί να το σπάσει αυτό και πώς" με AI. Συλλέγετε τα στοιχεία.

Εργασία εφαρμογής

Επιλέξτε ένα σύστημα από το παιχνίδι σας. Δημιουργήστε 20 σενάρια με το πρότυπο «παραγωγή σεναρίων ακμής/εκμετάλλευσης» και δοκιμάστε πραγματικά τα 5 πιο επικίνδυνα. Δημιουργήστε μια αναπαραγώγιμη αναφορά για ένα σφάλμα που εντοπίσατε με το πρότυπο "Βελτίωση αναφοράς σφαλμάτων".

λίστα ελέγχου

  • [ ] Δημιούργησα μια θήκη με "Ποιος μπορεί να το σπάσει και πώς;"
  • [ ] Έγραψε και εξέτασε αυτοματοποιημένες δοκιμές για επαναλαμβανόμενους ελέγχους.
  • [ ] Θεώρησα τη διάγνωση AI ως υπόθεση και την απέδειξα με log/test.
  • [ ] Ανέφεραν σφάλματα με δυνατότητα αναπαραγωγής.
  • [ ] Δοκίμασα ξανά κάθε ενημέρωση κώδικα για παλινδρόμηση.