๊ฐ๋ฐ์๊ฐ ์์ ์ ATM ์๋ฎฌ๋ ์ดํฐ๋ฅผ QA ์์ง๋์ด ๊ด์ ์์ ์ฒด๊ณ์ ํ ์คํธํ์ฌ ์ค๊ณ ๊ฒฐํจ์ ๋ฐ๊ฒฌํ ์ฌ์
๐ฆ Bridging Development and QA: My Journey from Code Design to Manual Testing Mastery
AI ์์ฝ
Context
๊ฐ๋ฐ์๊ฐ ๊ตฌ์ถํ ATM ์๋ฎฌ๋ ์ดํฐ๋ ๋ก๊ทธ์ธ, ์์ก ์กฐํ, ์ ์ถ๊ธ, ์ก๊ธ ๊ธฐ๋ฅ์ด ์ ์ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์๋ค. ๊ทธ๋ฌ๋ QA ์์ง๋์ด ๊ด์ ์์ ์ฒด๊ณ์ ํ ์คํธ๋ฅผ ์๋ํ์ ๋ ๋ช ํํ ๊ธฐ๋ ํ๋ ์ ์๊ฐ ์์๋ค๋ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ค.
Technical Solution
- ์๊ตฌ์ฌํญ ์ ์ โ ๊ฐ ๊ธฐ๋ฅ์ Authentication rules, Deposit validation, Withdrawal constraints๋ฅผ ๋ฌธ์ํํ๊ณ Acceptance Criteria ํฌํจ
- ํ ์คํธ ์ผ์ด์ค ์์ฑ โ ๋น์ซ์ ์ ๋ ฅ ์ฒ๋ฆฌ, ์์ก๊ณผ ๋์ผ ๊ธ์ก ์ธ์ถ, ์ ํจํ์ง ์์ ๊ณ์ข ์ก๊ธ ๋ฑ ์ฃ์ง ์ผ์ด์ค ์๋ณ
- ํ ์คํธ ์๋๋ฆฌ์ค ์คํ โ Deposit validation์์ ๋น์ซ์ ์ ๋ ฅ ์ฒ๋ฆฌ ์คํจ, Transfer์์ ์๋ฌ ๋ฉ์์ง ๋ถ๋ช ํ, Input handling์์ ์ฌ์ฉ์ ํ๋ฆ ์ค๋จ ๋ฐ๊ฒฌ
- ๊ฒฐํจ ๋ฌธ์ํ โ ์ฌํ ๋จ๊ณ, Expected vs Actual behavior, ์ฆ๊ฑฐ, ์ํฅ๋ ํฌํจํ์ฌ ์ฒด๊ณ์ ๊ธฐ๋ก
Key Takeaway
Poor design creates hidden defects. Testing simply reveals them. ํ ์คํธ ๊ฐ๋ฅํ ์ค๊ณ๋ ์ฝ๋ ์์ฑ ์ ์ ์ฉํด์ผ ํ๋ ์ค๊ณ ์ ์ฝ ์กฐ๊ฑด์ด๋ฉฐ, ์ฒด๊ณ์ ํ ์คํธ๋ ์ค๊ณ ๋ฏธํก์ผ๋ก ์ธํ ๊ฒฐํจ์ ๋๋ฌ๋ธ๋ค.
์ค์ฒ ํฌ์ธํธ
์ํํธ์จ์ด ๊ฐ๋ฐ์์ Testable Design์ ์ค๊ณ ๋จ๊ณ ์ด๊ธฐ์ ์ ์ฉ ์ ํ ์คํธ ์๋ํ(Python pytest, UI automation) ๊ธฐ๋ฐ ๊ตฌ์ถ ๊ฐ๋ฅ