์์ฑ๋ or ์ด๋์ ๋ ์งํ ์๋ฃ๋ ํ๋ก์ ํธ์์
ํด๋์ค ํ๋ํ๋, ๊ทธ ์์ ๋ฉ์๋ ํ๋ํ๋ ๊ฐ๋ณ์ ์ผ๋ก ์คํํด๋ณด๋ฉด์
์คํ์๊ฐ ์ผ๋ง ๋์ค๊ณ ๋ฌธ์ ๋ฐ์ ์ฌ์ง ๋ญ๊ฐ ์๊ณ ์๊ณ
์ด๋ฐ๊ฑฐ ์ ๋ฆฌํด์ ๋ณด๊ณ ์ ์์ฑํ๋๊ฒ ๋จ์ ํ ์คํธ ์๋?
์ด๊ฑฐ๋ฅผ ์ธ๋๊ฒ์์์๋ ํด์ผ๋๋ค? ๋๋จ๋ค ํ์๋น...
๊ฐ์ธ ์ฑํฅ์ด๊ธดํ๋ฐ, ์๋ฌด๋๋ ์ธ๋๋ ์๊ฐ์ธ์์ด๊ธดํ๋๊น ์์ฐ์ฑ์ ์ถ์ ๋ฌ์ผํ๋๊ฒ ๋ง๋๋ฏ
์์จ๋ ์๊ณ ๋ ์์ด์ผ์ง
์... ๋ญ๊ฐ ์๋ชป๋ ์ง์์ ์ ์ ๋ฐ์ผ์ ๊ฒ ๊ฐ์๋ฐ
์ ํฌ๊ฐ ์ด์ผ๊ธฐํ๋ ์ ๋ ํ ์คํธ (๋จ์ ํ ์คํธ)๋ ํ ์คํธ ํ๋ ์์ํฌ ์์์ ๋์ํ๋ ํ ์คํธ๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฌ๋์ด ์ผ์ผํ ํ ์คํธํด๋ณด์ค ํ์๊ฐ ์๊ตฌ์. ํ ์คํธ ์ฝ๋๋ง ์์ฑํ์๋ฉด ๋ฉ๋๋ค. ๋น์ฐํ ๋ณด๊ณ ์๋ ํ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ํ์ค์คํค์ ๋ง๋ค๊ณ ๊ณ์ ๋ค๊ณ ์๊ฐํด๋ณผ๊ฒ์. `์ ํฌ์ ํจ์ฑ` ์ ๋ํด์ ํ ์คํธ๋ฅผ ํ ๊ฑฐ๋ผ ์นฉ์๋ค. - ์นด๋๊ฐ ์ํ ๋ ๋, ์ ์์ ์ผ๋ก ์ ํฌ์ ํจ์ฑ์ด ํธ์ถ๋๋๊ฐ? - ์ ํฌ์ ํจ์ฑ XXX ๊ฐ ํน์ ํ๊ฒฝ์์ ์ฌ์ฉ ๋ ๋, ์๋์ ์ธ ํจ๊ณผ๋ฅผ ๋ฐ์ํ๋๊ฐ? ์ด๋ฐ ํ๊ฒฝ์ ํ์ํ ํด๋์ค๋ง ์ ์ธํด์ ์คํํด๋ณด๊ณ ๊ฒฐ๊ณผ ๊ฐ์ ํ์ธํด๋ณด๋ ์ฝ๋๋ฅผ ํ ์คํธ ์ฝ๋๋ผ๊ณ ํ๊ณ ์.
ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ์๋ฉด ๊ทธ๊ฒ์ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํฌํ ํด์ฃผ๋ ๊ณผ์ ์ ํ ์คํธ ํ๋ ์์ํฌ์์ ์๋ํฉ๋๋ค.
์ ๋ํฐ์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ํ๋ ์์ํฌ๊ฐ ๋์ค์ ์ด๊ณ ์:
https://docs.unity3d.com/Manual/testing-editortestsrunner.html
https://docs.unity3d.com/Packages/com.unity.test-framework@1.1/manual/index.html
https://youtu.be/dP5reGqo8U0
์ ๊ฐ ๋งํ ํ ์คํธ ๊ฒฉ๋ฆฌ์ ์ค์์ฑ์, ๊ฒฐ๊ตญ ํ ์คํธ๋ฅผ ์ํ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋๋ฐ ์ด๋ฅผ ๊ฐํธํ๊ฒ ์์ฑํ๊ธฐ ์ํ (์ฌ์ฌ์ฉ์ฑ์ด ๋ฐ์ด๋๋ฉฐ ์์กด์ฑ์ด ์ ์) ์ฝ๋๋ฅผ ์ค๊ณํ๋ ๋ชฉ์ ์ ๊ทผ๊ฑฐํ ๊ฒ์ ๋๋ค.
์ด์ ๋ง์ํ์ ํ ์คํธ ๋จ๊ณ๋ ๋ณดํต ์ด๋์ ๋ ํ๋ก์ ํธ๊ฐ ๊ถค๋์ ์ฌ๋ผ์ ๋ฒ์ ์ปท์ด ๋ ๋๋ง๋ค ํ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ ์๋ก์ด ๊ธฐ๋ฅ, ํน์ ์ ์ ์ CS ๋ก ์ธํด ์์ ๋ ๊ธฐ๋ฅ์ ๋ํด ํ ์คํธ๋ฅผ ํด์ผ ํ ๊ฒ์ ๋๋ค. ์ด ๋ ์ฐ๋ฆฌ๊ฐ ํํ ์๊ณ ์๋ QA ๋ผ๋ ๊ณผ์ ์ด ์ํ๋ฉ๋๋ค. (๋ณดํต ์ธ๋ ํ์์ ๋ด๋ถ ์ง์๋ค์ด QA ๋ฅผ ํจ๊ป ์ํํ๊ณ ์.) QA ์ญ์ ๋จ์ํ ๊ฒ์์ด ์๋ํ๋์ง๋ง ํ์ธํ๋ ๊ฒ์ผ๋ก๋ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ฐพ์ ์ ์๊ณ ์. ๋ชจ๋ ๊ฒ์์ ๋ก์ง์ ํ ์คํธํ๊ธฐ์ ์๊ฐ์ด ๋ถ์กฑํ์ฃ . ํนํ ์จ๋ผ์ธ ๊ฒ์์ ๊ฒฝ์ฐ ๋น ๋ฅด๋ฉด ๋ฒ์ ์ ์ด 2์ฃผ ์ ๋ ์ฃผ๊ธฐ๋ก ์งํ๋๋๋ฐ ์ด ๋ ์๊ธฐ์ ์ง๋ฌด๋ฅผ ์ํํ๋ฉด์ QA ๊น์ง ์ํํ๋ ๊ฒ์ ์ด์ธ์ ์ธ ์ ๋ฌด๋์ ๋๋ค.
๊ทธ๋์ QA ์กฐ์ง์ ๊ฐ ํผ์ณ๋ณ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ ์ํฉ๋๋ค. (๋ณดํต ์ธ๋ ํ์์ ๊ธฐํ์๊ฐ ์ด๊ฑธ ํฉ๋๋ค.) ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์๋ก๋ถํฐ ์์ ํ ์ฝ๋์ ์ํฅ ๋ฒ์๋ฅผ ์กฐ์ฌํด์ ์ํฅ ๋ฒ์์ ํด๋น๋๋ฉฐ, ์ ๋ ํ ์คํธ๊ฐ ๊ฒ์ฆํด์ฃผ์ง ๋ชปํ๋ ๋ก์ง์ ๋ํ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ํํฉ๋๋ค. ์ด๊ฒ์ Sanity test ๋ผ๊ณ ํฉ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก Sanity test ๋ฅผ ์ต์ํ ํ๊ธฐ ์ํด์ ์ฝ๋์ ๊ตฌ์กฐ๊ฐ ๋ช ํํ๊ฒ ๋ถ๋ฆฌ๋์ด ์๊ณ , Unit test ๋ก ์ต๋ํ ์ผ๋ฐ์ ์ธ ๋ก์ง์ ๊ฒ์ฆ์ ์๋ํ ํด์ผ๊ฒ ์ฃ .. ๊ทธ๋ฌ์ง ์์ผ๋ฉด ๊ฒฐ๊ตญ ๊ฐ์ ํ์ (ํน์ ์์ ) ์ด ๊ดด๋ก์์ง๋๋ค. ์ ์ ๋ ์๊ฐ๋ณด๋ค ์ ๋ง ๋ค์ํ ํ๋์ ํ๊ณ ์. ์ธ๋ ๊ฒ์์ ์์ฑ์ด๋ ๊ธฐ์ค์ด ์ฌ๋๋ง๋ค ๋ค๋ฅด๊ธฐ์ ์ด ๋ถ๋ถ์ ๋ํด ์ค์ง๋์ ๋ถ๋ฆด์๋ ์์ง๋ง, ๊ทธ๋๋ ๋์ ๋ฐ๊ณ ํ๋ ค๋ฉด ์ต์ํ ๊ฒ์ฆ๋ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด์ผ๊ฒ ์ฃ ..
๋ฌผ๋ก ์ด๋ฐ๊ฒ์ ์๋ฌด๋ผ๊ณ ๋ง์๋๋ฆฌ๊ณ ์ถ์ง ์์ต๋๋ค. ํ ์คํธ์ ๋ํ ์๋ฌด๋ฐ ๊ณํ ์์ด ๋ชจ๋ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐ ํ ๋ค, ๋ฒ์ ์ ์ ๊ณํํ์ง ์๊ณ ํ๋ก๋ํธ๋ฅผ ํ๋ฐฉ์ ๋ฆด๋ฆฌ์ฆํ๋ ํจํค์ง ๊ฒ์๋ ๋ง์ต๋๋ค. ํ์ง๋ง ์ด๋ฐ ์ปค๋ฎค๋ํฐ์์ "์ธ๋ ๊ฒ์ ๊ฐ๋ฐ์์๊ฒ ์ ๋ ํ ์คํธ๋ ์ฌ์น" ๋ผ๋ ์ธ์์ด ๋ฐํ๋ฒ๋ฆฌ๋ฉด, ํน๋ณํ ์ด์ ์์ด "์ฑ๊ธํค์ ์ฐ๋ฉด ๋์๊ฑฐ์ผ" ๋ผ๋ ์ธ์์ด ๋ฐํ๋ ๊ฒ์ฒ๋ผ ๋ง์ ๊ฟ๋๋ฌด ๊ฐ๋ฐ์์๊ฒ ๋์ ๊ณ ์ ๊ด๋ ์ ์ฌ์ด ์ค ์ ์์๊ฑฐ๋ผ๊ณ ์๊ฐํ๊ณ ์. ์ ๋ ๊ทธ ๋ถ๋ถ์ ๋ํด์ ์ต๋ํ ๊ฐ๊ด์ ์ผ๋ก ์ณ๋ค๊ณ ์๊ฐํ๋ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ณ ์ถ์์ต๋๋ค.