วิธีทดสอบกรณีที่ง่ายที่สุดในเกม


9

เมื่อออกแบบและทดสอบการเล่นเกมใหม่หลายครั้งผู้คนที่ทดลองฟังก์ชั่นต่าง ๆ จะคุ้นเคยกับสิ่งต่าง ๆ และไม่ลองใช้ "วิธีโง่ ๆ " อีกต่อไป ดังนั้นหากการพัฒนาผิดพลาดบางอย่างอาจเป็นคุณลักษณะที่ผู้ใช้รายใหม่จะไม่สนใจ อะไรคือวิธีที่ดีที่สุดในการตรวจสอบให้แน่ใจว่าเกมของคุณมีการทดสอบ "กรณีโง่ ๆ " เมื่อมีการเปิดตัวในที่สุดหรือหลังจากการอัพเดทครั้งใหญ่ วิธีการความช่วยเหลือด้านซอฟต์แวร์หรือแม้แต่ไซต์ที่ผู้คนจะทดสอบเล่นให้คุณและอื่น ๆ

คำตอบ:


9

บางสิ่งที่ฉันจะพูดมีความสำคัญ:

สนับสนุนการทดสอบหน่วยโปรแกรมเมอร์

สิ่งนี้จะทำให้แน่ใจว่าบั๊กที่โง่บางตัวหากมีการทดสอบหน่วยสำหรับพวกเขาจะไม่เกิดขึ้นอีกเพราะการทดสอบหน่วยจะล้มเหลวหากพวกเขาทำ สิ่งนี้ต้องการการเปลี่ยนแปลงวิธีการเขียนโปรแกรม แต่ในความคิดของฉันมันคุ้มค่าอย่างสมบูรณ์

ทำการทดสอบอะไรก็ได้ที่คุณทำได้

นอกเหนือจากการทดสอบหน่วยสร้างชุดของฟังก์ชั่นอัตโนมัติและการทดสอบการยอมรับที่ทำงานในทุกงานสร้างเพื่อให้แน่ใจว่างานสร้างบางอย่างดี หากคุณมีการควบคุมที่สามารถสคริปต์ได้และโดยทั่วไปเกมของคุณสอดคล้องกันคุณสามารถทดสอบข้อผิดพลาดจำนวนมากโดยอัตโนมัติ

สร้างแผนการทดสอบหลายระดับ

ตรวจสอบให้แน่ใจว่าผู้ทดสอบของคุณมีแผนการทดสอบที่ทดสอบข้อบกพร่องที่สำคัญที่สุด นี่ควรเป็นหลายระดับ:

  • ทดสอบควัน: ทดสอบว่าเกมไม่ได้ผิดพลาดในกรณีที่พบบ่อยที่สุด
  • การทดสอบปกติ: ทดสอบกรณีผิดปกติมากขึ้น
  • Soak Test: วิ่งให้ลึกที่สุดเท่าที่จะทำได้โดยลดความผิดพลาดที่พบบ่อยที่สุดเท่าที่จะทำได้ นอกจากนี้ทดสอบว่าเกมสามารถดำเนินต่อไปเป็นเวลานาน (วัน) โดยไม่หยุดทำ

สร้างแผนการทดสอบนี้และติดตามในทุกบิลด์


11

วิธีการครอบคลุมโค้ดในการทดสอบเคสสามารถทำได้โดยใช้แฟล็กแบบง่าย ๆ ที่มี Tripped เมื่อบล็อกของโค้ดถูกเรียกใช้งานในเกม การแสดงสถานะที่มีการสะดุดและไม่ได้ทาบทามหน้าจอสามารถอนุญาตให้ผู้ทดสอบทราบว่าเคสใดบ้างที่ถูกครอบคลุมและยังไม่ได้

เรียบง่ายอย่างที่เป็นอยู่มันยังคงมีประสิทธิภาพตราบใดที่ธงมีชื่อที่มีความหมายเพื่อให้ผู้ทดสอบสามารถคิดได้ว่าควรทำอะไร

เทคนิคนี้ให้เครดิตกับ Matthew Jack ที่นำไปใช้ใน Crysis


3
แนวคิดที่น่าสนใจ +1
falstro

สิ่งนี้สามารถเป็นจริงอัตโนมัติ "รันเกมด้วย-debugFlagsgrep เอาท์พุตและตรวจสอบให้แน่ใจว่าเรามีxจำนวนธง" +1
ashes999

3

คำตอบที่ดีหลายอย่างที่นี่ในด้านการเขียนโปรแกรม ฉันจะเพิ่มที่เน้นการออกแบบมากขึ้น

ให้ผู้ออกแบบระบบของคุณเขียนแผนการทดสอบเคสสำหรับผู้ทดสอบ

หากพวกเขารู้ว่าพวกเขากำลังทำอะไรคนที่อยู่เบื้องหลังการออกแบบระบบหรือการเขียนสคริปต์ลำดับในเกมมีแนวโน้มที่จะรู้ถึงกรณีที่เป็นขอบของระบบนั้นและที่ที่มันอาจพัง พวกเขาควรมีความคิดด้วยว่าระบบโต้ตอบกับคนอื่นอย่างไร ให้พวกเขาเขียนแผนทดสอบหรือพูดคุยกับผู้ทดสอบที่สิ่งต่าง ๆ มีแนวโน้มที่จะผิดพลาดสามารถประหยัดเวลาของทุกคนได้


1

คุณควรตรวจสอบการทดสอบลิงที่เรียกว่า มันสามารถจับข้อบกพร่องได้มากมายในประเภทนี้:

https://secure.wikimedia.org/wikipedia/en/wiki/Monkey_test

คุณต้องจัดระเบียบการทดสอบประสบการณ์ผู้ใช้ด้วย "ผู้ทดสอบ Kleenex" ผู้ทดสอบที่เห็นเกมของคุณเป็นครั้งแรกและคุณจะไม่ใช้อีก มันค่อนข้างแพงและซับซ้อนในการจัดระเบียบ แต่ก็คุ้มค่ากับความพยายาม หากคุณทำเช่นนั้นให้ถ่ายภาพการทดสอบทุกครั้งด้วยกล้อง 3 ตัว: หนึ่งตัวบนหน้าจอหนึ่งตัวควบคุมและอีกตัวบนใบหน้าของผู้ทดสอบเพื่อตรวจสอบความหงุดหงิด


1

เป็นคำถามที่ดีทุก ๆ การตอบสนองในหัวข้อนี้เป็นการตอบสนองที่ยอดเยี่ยม สิ่งหนึ่งที่จะเพิ่ม:

จากประสบการณ์ของฉัน (การพัฒนาซอฟต์แวร์ 30 ปี): แอพและเกมมีความน่าเชื่อถือมากกว่าถ้าอย่างน้อยหนึ่งสมาชิกของกลุ่มการทดสอบคือผู้ทดสอบกอริลลาที่มีทักษะมีความเชี่ยวชาญในการทดสอบ ad-hoc การใช้แอพที่ผิดและจงใจใช้วิธีผิด ข้อบกพร่องชนิดที่อธิบายโดยผู้โพสต์ต้นฉบับ ผู้ทดสอบกอริลลามีทักษะที่ไม่ธรรมดา - เมื่อคุณพบคนดีให้พวกเขาอยู่ในทีมของคุณ

สำหรับตัวอย่างของการทดสอบกอริลลาที่มีประสิทธิภาพโปรดดูที่: www.youtube.com/watch?v=8C-e96m4730;)

เพื่อสรุปการตอบสนองในหัวข้อนี้: กลยุทธ์คุณภาพซอฟต์แวร์ที่มีประสิทธิภาพนั้นมีหลายแง่มุมผสมผสานหลายแนวทางเพื่อให้เกิดความมั่นใจในคุณภาพการทำงานและความน่าเชื่อถือในระดับสูงของเกมของคุณ


0

เคล็ดลับที่น่าสนใจที่ฉันได้ยินจากเพื่อนเพื่อทดสอบกราฟิก ในระหว่างการทำงานที่รู้จักกันดีผ่านสถิติประสิทธิภาพระดับการบันทึกจาก GPU ในช่วงเวลาปกติ (เช่น polys บนหน้าจอ) จากนั้นคุณสามารถเล่นซ้ำเส้นทางนั้นและหากตัวเลขเปลี่ยนไปจากความคลาดเคลื่อนที่ยอมรับอาจหมายความว่ามีบางอย่างไม่แสดงอย่างถูกต้องอีกต่อไป


0

สิ่งง่าย ๆ อย่างหนึ่งที่ช่วยได้มากโดยเฉพาะกับการทดสอบความเครียดและการทดสอบเครือข่าย ทำให้ AI ของคุณเล่นกับ AI อื่นได้ หากคุณสามารถปล่อยให้เกมของคุณเล่นคนเดียวหรือ AI กลุ่มเล็ก ๆ ผ่านเครือข่ายในช่วงสุดสัปดาห์คุณสามารถเรียนรู้ได้มากมาย

แน่นอนทุกอย่างเข้าสู่ระบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.