๐Ÿ“•CS

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€, ์ •์  ์ฝ”๋“œ ๋ถ„์„/๋™์  ์ฝ”๋“œ ๋ถ„์„

stonesy 2024. 11. 11. 08:42
728x90

1. ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋ž€ ์ž‘์„ฑ๋œ ์ฝ”๋“œ ์ค‘์—์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์ˆ˜ํ–‰๋œ ๋น„์œจ์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•˜๊ณ  ์ž ์žฌ์ ์ธ ๊ฒฐํ•ฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ์˜ ์–ด๋Š ๋ถ€๋ถ„์ด ํ…Œ์ŠคํŠธ๋˜์—ˆ๊ณ , ์–ด๋Š ๋ถ€๋ถ„์ด ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค€๋‹ค.

 

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์œผ๋กœ ์ธก์ •๋œ๋‹ค.

1. ๋ผ์ธ ์ปค๋ฒ„๋ฆฌ์ง€: ์ฝ”๋“œ์˜ ๊ฐ ์ค„์ด ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•. ์ „์ฒด ์ฝ”๋“œ ์ค‘ 70%์˜ ๋ผ์ธ์ด ํ…Œ์ŠคํŠธ๋˜์—ˆ๋‹ค๋ฉด ๋ผ์ธ ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ 70%์ด๋‹ค.

2. ํ•จ์ˆ˜ ์ปค๋ฒ„๋ฆฌ์ง€: ์ž‘์„ฑ๋œ ํ•จ์ˆ˜ ์ค‘ ๋ช‡ ๊ฐœ๊ฐ€ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

3. ๋ถ„๊ธฐ ์ปค๋ฒ„๋ฆฌ์ง€: ์กฐ๊ฑด๋ฌธ์˜ ๊ฐ ๋ถ„๊ธฐ๊ฐ€ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

4. ์กฐ๊ฑด ์ปค๋ฒ„๋ฆฌ์ง€: ์กฐ๊ฑด๋ฌธ์˜ ๊ฐ ๊ฐœ๋ณ„ ์กฐ๊ฑด์ด ์ฐธ๊ณผ ๊ฑฐ์ง“์œผ๋กœ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

*๋ถ„๊ธฐ ์ปค๋ฒ„๋ฆฌ์ง€์™€ ์กฐ๊ฑด ์ปค๋ฒ„๋ฆฌ์ง€

์•„๋ž˜ ์ฝ”๋“œ์—์„œ ๋ถ„๊ธฐ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” if์™€ else๊ฐ€ ๋ชจ๋‘ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

์กฐ๊ฑด ์ปค๋ฒ„๋ฆฌ์ง€์—์„œ๋Š” ๋‹ค์Œ์„ ํ™•์ธํ•œ๋‹ค.

  • (a = 15, b = 10)์ธ ๊ฒฝ์šฐ - a > 10์€ ์ฐธ์ด๊ณ  b < 20๋„ ์ฐธ์ž…๋‹ˆ๋‹ค.
  • (a = 5, b = 10)์ธ ๊ฒฝ์šฐ - a > 10์€ ๊ฑฐ์ง“์ด๊ณ  b < 20์€ ์ฐธ์ž…๋‹ˆ๋‹ค.
  • (a = 15, b = 25)์ธ ๊ฒฝ์šฐ - a > 10์€ ์ฐธ์ด๊ณ  b < 20์€ ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค.
  • (a = 5, b = 25)์ธ ๊ฒฝ์šฐ - a > 10์€ ๊ฑฐ์ง“์ด๊ณ  b < 20๋„ ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค.
function checkConditions(a, b) {
    if (a > 10 && b < 20) {
        return "Condition met";
    } else {
        return "Condition not met";
    }
}

 

๐ŸŽ๋ธ”๋ž™๋ฐ•์Šค ํ…Œ์ŠคํŠธ์™€ ํ™”์ดํŠธ๋ฐ•์Šค ํ…Œ์ŠคํŠธ

์ด๋Ÿฌํ•œ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ํ™”์ดํŠธ๋ฐ•์Šค ํ…Œ์ŠคํŠธ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ™”์ดํŠธ๋ฐ•์Šค ํ…Œ์ŠคํŠธ๋ž€ ์ฝ”๋“œ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ๋กœ์ง์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ…Œ์ŠคํŠธํ•œ๋‹ค. ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝ”๋“œ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์™€ ๋กœ์ง์„ ์•Œ๊ณ  ๋ผ์ธ/ํ•จ์ˆ˜/๋ถ„๊ธฐ/์กฐ๊ฑด ๋ณ„๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ˜๋ฉด ๋ธ”๋ž™๋ฐ•์Šค ํ…Œ์ŠคํŠธ๋ž€ ์ฝ”๋“œ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ฅธ ์ฑ„ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ๋งŒ์„ ๊ฐ€์ง€๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ์ธก์ •ํ•˜๋Š” ๋ฐฉ์‹๊ณผ๋Š” ๋‹ค์†Œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ธ”๋ž™๋ฐ•์Šค ํ…Œ์ŠคํŠธ๋Š” ์‚ฌ์šฉ์ž์˜ ๊ด€์ ์ด ์‹œ์Šคํ…œ์ด ์˜ˆ์ƒ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.

 

2. ์ •์  ์ฝ”๋“œ ๋ถ„์„๊ณผ ๋™์  ์ฝ”๋“œ ๋ถ„์„

์ •์  ์ฝ”๋“œ ๋ถ„์„

์ฝ”๋“œ ์‹คํ–‰ ์—†์ด ์ฝ”๋“œ์˜ ๊ตฌ๋ฌธ, ์Šคํƒ€์ผ, ๊ตฌ์กฐ ๋“ฑ์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. 

*ํŠน์ง•

- ์ •์  ๋ถ„์„: ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ์˜ ๊ตฌ๋ฌธ, ์Šคํƒ€์ผ, ๊ตฌ์กฐ ๋“ฑ์„ ๊ฒ€์‚ฌํ•œ๋‹ค.

- ์ •์  ๋ถ„์„ ๋„๊ตฌ: ESLint, SonarQube ๋“ฑ

- ๋ฒ„๊ทธ ์˜ˆ๋ฐฉ: ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์–ด ์ดํ›„ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ์‚ฌ์ „์— ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.

*๊ธฐํƒ€

๋นŒ๋“œ ๋ฐ ์ปดํŒŒ์ผ ์ž๋™ํ™”: ์ฝ”๋“œ๊ฐ€ ์ •์  ๋ถ„์„์„ ํ†ต๊ณผํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋นŒ๋“œ ๋ฐ ์ปดํŒŒ์ผ ๋‹จ๊ณ„๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ฝ”๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ปดํŒŒ์ผ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ฉฐ, ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ฝ”๋“œ๋Š” ์ฆ‰์‹œ ์ˆ˜์ • ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋™์  ์ฝ”๋“œ ๋ถ„์„

์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์‹ค์ œ ๋™์ž‘์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ, ์„ฑ๋Šฅ, ์‹คํ–‰ ์ค‘ ์˜ˆ์™ธ ์ƒํ™ฉ ๋“ฑ์„ ์ ๊ฒ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

*ํŠน์ง•

- ๋™์  ๋ถ„์„: ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธํ•œ๋‹ค.

- ๋™์  ๋ถ„์„ ๋„๊ตฌ: Jest, JUnit ๋“ฑ

- ๋ฒ„๊ทธ ์˜ˆ์ƒ: ์‹คํ–‰ ํ™˜๊ฒฝ์— ์˜์กด, ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ œํ•œ(์‹คํ–‰ ํ™˜๊ฒฝ์— ์˜์กด์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๊ฐ€ ์ œํ•œ์ ์ผ ์ˆ˜ ์žˆ๋‹ค.)

 

*STATIC(์ •์  ๋ถ„์„ ์ž๋™ํ™” ๋„๊ตฌ)

STATIC์€ ์ฝ”๋“œ ์ •์  ๋ถ„์„ ์ž๋™ํ™” ๋„๊ตฌ๋กœ, ์ž๋™ํ™”๋œ ์ฝ”๋“œ ์ •์  ๋ถ„์„์„ ํ†ตํ•ด ์ˆ˜๋™์ ์ธ ๊ฒ€ํ† ์˜ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ๋งŽ์€ ์–‘์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•œ๋‹ค.

- ์ˆ˜๋™์  ๊ธฐ๋ฒ•(๋น„๊ณต์‹ ๊ฒ€ํ† , ๊ธฐ์ˆ  ๊ฒ€ํ† , ์›Œํฌ ์“ฐ๋ฃจ, ๊ฒ€์‚ฌ) / ์ž๋™ํ™” ๊ธฐ๋ฒ•

 

https://blog.naver.com/suresofttech/223489434060

 

์ฑ—GPT๋กœ ์•Œ์•„๋ณด๋Š” ์ •์  ๋ถ„์„ ์ž๋™ํ™” ๋„๊ตฌ 'STATIC'

์Šˆ์–ด์†Œํ”„ํŠธํ…Œํฌ์˜ ์ •์  ๋ถ„์„ ์ž๋™ํ™” ๋„๊ตฌ์ธ 'STATIC'์˜ ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด, ์‚ฌ์šฉ์ž ๊ฐ€...

blog.naver.com

https://blog.naver.com/suresofttech/220769058527

 

"STATIC"์„ ํ™œ์šฉํ•œ ์ •์  ๊ฒ€์ฆ

์ •์  ๊ฒ€์ฆ ๊ฐœ์š” ์†Œํ”„ํŠธ์›จ์–ด ์ •์  ๊ฒ€์ฆ์€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๊ฒ€์ฆ์˜ ...

blog.naver.com

 

 

728x90