Saya sedang menulis game dan mesin grafis yang menyertainya di atas OpenGL di C ++. Saya juga penggemar proses pengkodean yang baik dan pengujian otomatis. Pengujian kode grafis + kelihatannya tidak dapat ditawar-tawar lagi, karena output seringkali hanya berupa visual, atau sangat berorientasi visual.
Misalnya, bayangkan menganalisis aliran gambar mentah yang dirender ke layar byte-by-byte - Anda perlu data uji untuk dibandingkan, yang sulit dibuat / diperoleh, dan seringkali gambar yang diberikan tidak identik pada suatu tingkat byte saat dijalankan pada waktu yang berbeda - perubahan kecil dalam algoritma akan merusak pendekatan ini sepenuhnya.
Saya sedang berpikir untuk membuat unit-test suite visual, di mana saya pada dasarnya dapat membuat adegan tes yang berbeda, menunjukkan hal-hal seperti pemetaan bayangan, animasi, dll. Dll. Sebagai bagian dari CI, adegan ini kemudian akan dirender menjadi video file (atau mungkin membiarkannya sebagai executable) dengan berbagai metrik. Ini masih membutuhkan pemeriksaan manual dari file video, tetapi setidaknya itu akan menjadi agak otomatis dan standar.
Bagaimana menurut anda? Saya berharap ada cara yang lebih baik?