Notice
Recent Posts
Recent Comments
Link
Β«   2024/04   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

DOing

ν…ŒμŠ€νŠΈμ˜ μ€‘μš”μ„±κ³Ό μ’…λ₯˜ λ³Έλ¬Έ

Spring

ν…ŒμŠ€νŠΈμ˜ μ€‘μš”μ„±κ³Ό μ’…λ₯˜

mangdo 2021. 7. 3. 22:27

πŸ› ν…ŒμŠ€νŠΈμ˜ μ€‘μš”μ„± : 버그

  λ²„κ·Έλž€, μ†Œν”„νŠΈμ›¨μ–΄κ°€ μ˜ˆμƒν•˜μ§€ λͺ»ν•œ κ²°κ³Όλ₯Ό λ‚΄λŠ” 것을 λ§ν•œλ‹€.(μœ„ν‚€λ°±κ³Ό)

μ„œλΉ„μŠ€ 쀑에 버그가 λ°œμƒν•˜κ²Œλ˜λ©΄ μ‚¬μš©μžλ“€μ—κ²Œ λΆˆνŽΈν•¨κ³Ό νšŒμ‚¬μ˜ μ•…μ˜ν–₯을 끼칠 수 μžˆκΈ°λ•Œλ¬Έμ— μ„œλΉ„μŠ€κ°€ 릴리즈 λ˜κΈ°μ „, 즉 μ½”λ“œκ°€ 배포되기 전에 버그λ₯Ό μ΅œλŒ€ν•œ μ°Ύμ•„λ‚΄λŠ” 것이 μ€‘μš”ν•˜λ‹€. 이런 버그λ₯Ό μ°Ύμ•„λ‚΄κΈ° μœ„ν•΄ λ‹€μ–‘ν•œ ν…ŒμŠ€νŠΈκ°€ μ‘΄μž¬ν•œλ‹€. ν…ŒμŠ€νŠΈ μ’…λ₯˜λŠ” μ—¬λŸ¬κ°€μ§€ λΆ„λ₯˜κΈ°μ€€μ— λ”°λΌμ„œ λ‹€μ–‘ν•˜κ²Œ 이름 λΆ™μ—¬μ§ˆ 수 μžˆλ‹€.

 

πŸ› ν…ŒμŠ€νŠΈμ˜ μ’…λ₯˜ : λΈ”λž™λ°•μŠ€ vs ν™”μ΄νŠΈ λ°•μŠ€

1. λΈ”λž™λ°•μŠ€ ν…ŒμŠ€νŠΈ

  λΈ”λž™λ°•μŠ€ ν…ŒμŠ€νŒ…μ΄λž€ μ†Œν”„νŠΈμ›¨μ–΄ λ‚΄λΆ€ κ΅¬μ‘°λ‚˜ λ™μž‘μ›λ¦¬λ₯Ό λͺ¨λ₯΄λŠ” λΈ”λž™λ°•μŠ€μ™€ 같은 μƒνƒœμ—μ„œ, 즉 μ›Ή μ„œλΉ„μŠ€μ˜ μ‚¬μš©μž μž…μž₯μ—μ„œ λ™μž‘μ„ κ²€μ‚¬ν•˜λŠ” ν…ŒμŠ€νŠΈ 방식이닀.

    1) μž₯점

         : κ°œλ°œμžλΆ€ν„° λ””μžμ΄λ„ˆ, 사μž₯λ‹˜κΉŒμ§€ λˆ„κ΅¬λ‚˜ ν…ŒμŠ€νŠΈ κ°€λŠ₯ν•˜λ‹€.

    2) 단점

        : κΈ°λŠ₯이 증가될 수둝 ν…ŒμŠ€νŠΈμ˜ λ²”μœ„κ°€ μ¦κ°€ν•œλ‹€.

        : ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€κ°€ κ³„μ†ν•΄μ„œ μ¦κ°€ν•˜λ‹€λ³΄λ‹ˆ ν…ŒμŠ€νŠΈμ— κ±Έλ¦¬λŠ” μ‹œκ°„λ„ μ¦κ°€ν•˜κ²Œλœλ‹€.

 

2.  ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŠΈ

   μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ λ‚΄λΆ€ ꡬ쑰와 λ™μž‘μ„ κ²€μ‚¬ν•˜λŠ” ν…ŒμŠ€νŠΈλ°©μ‹μ΄λ‹€. 이 기법은 ν”„λ‘œκ·Έλž¨μ˜ λ‚΄λΆ€ ꡬ쑰와 μ½”λ“œκ°€ λͺ¨λ‘ 곡개된 μƒνƒœμ—μ„œ μ†Œν”„νŠΈμ›¨μ–΄ λ‚΄λΆ€ μ†ŒμŠ€ μ½”λ“œλ₯Ό ν…ŒμŠ€νŠΈν•˜λŠ” 기법이닀. 즉, 개발자 κ΄€μ μ—μ„œ λ™μž‘μ„ κ²€μ‚¬ν•˜κ²Œ λœλ‹€. 

   1) μž₯점

       : GUIλ₯Ό 기닀릴 ν•„μš”κ°€ 없이 λΉ λ₯΄κ²Œ μ‹œμž‘ν•  수 μžˆλ‹€. 

       : κ°œλ°œμžκ°€ λ‚΄λΆ€ μ†ŒμŠ€μ½”λ“œ λ™μž‘μ„ 좔적할 수 μžˆκΈ°λ•Œλ¬Έμ— κΌΌκΌΌν•œ ν…ŒμŠ€νŠΈ κ°€λŠ₯

   2) 단점

       : μ–΄λ ΅λ‹€. ν…ŒμŠ€ν„°κ°€ μ†Œν”„νŠΈμ›¨μ–΄ 내뢀ꡬ쑰λ₯Ό 이해할 수 μžˆλŠ” μ‚¬λžŒμ΄μ—¬μ•Όν•œλ‹€.

       : μ†Œν”„νŠΈμ›¨μ–΄ 내뢀ꡬ쑰에 μ˜μ‘΄ν•˜μ—¬ ν…ŒμŠ€νŠΈ 슀크립트λ₯Ό μ§œκ²Œλ˜λŠ”λ° μ½”λ“œ μˆ˜μ • λΉˆλ„μˆ˜κ°€ 높아지면 ν…ŒμŠ€νŠΈ 슀크립트 μˆ˜μ • λΉˆλ„μˆ˜λ„ 높아진닀.

 

ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄ κ°œλ°œμžλŠ” 본인이 μž‘μ„±ν•œ μ½”λ“œλ₯Ό κ²€μ¦ν•΄μ£ΌλŠ” 'ν…ŒμŠ€νŠΈ μ½”λ“œ'λ₯Ό μž‘μ„±ν•  수 μžˆλ‹€. ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” κ²ƒμ˜ μž₯점은 ν…ŒμŠ€νŠΈ μžλ™ν™”κ°€ κ°€λŠ₯ν•˜λ‹€λŠ” 점이닀. λ•Œλ¬Έμ— λΉ λ₯΄κ³  μ •ν™•ν•˜κ²Œ ν…ŒμŠ€νŠΈλ₯Ό ν•  수 있고 λ°°ν¬μ‹œ 항상 검증이 κ°€λŠ₯ν•˜λ‹€. ν•˜μ§€λ§Œ κ°œλ°œμ‹œκ°„μ— ν…ŒμŠ€νŠΈμ½”λ“œ μ‹œκ°„μ„ μ§œλŠ” μ‹œκ°„μ΄ 더해지기 λ•Œλ¬Έμ— κ°œλ°œμ‹œκ°„μ΄ μ˜€λž˜κ±Έλ¦¬κ²Œλœλ‹€. λ˜ν•œ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μœ μ§€λ³΄μˆ˜ν•˜λŠ” λΉ„μš©μ΄ ν•„μš”ν•˜λ‹€. Spring Frameworkμ—μ„œλŠ” μ΄λŸ¬ν•œ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•  수 μžˆλŠ” ν™˜κ²½μ„ μ œκ³΅ν•˜κ³  μžˆλ‹€.

 

πŸ› ν…ŒμŠ€νŠΈμ˜ μ’…λ₯˜ : 단계별 ꡬ뢄

좜처 : https://developer.amazon.com/it/blogs/alexa/post/35bdad3d-57c8-4623-88c6-815540697af5/unit-testing-create-functional-alexa-skills

1. λ‹¨μœ„ ν…ŒμŠ€νŠΈ (Unit Test)

  : ν”„λ‘œκ·Έλž¨μ„ μž‘μ€ λ‹¨μœ„λ‘œ μͺΌκ°œμ„œ 각 λ‹¨μœ„κ°€ μ •ν™•ν•˜κ²Œ λ™μž‘ν•˜λŠ”μ§€ κ²€μ‚¬ν•˜λŠ” ν…ŒμŠ€νŠΈμ΄λ‹€.

  : ν•˜λ‚˜μ˜ λͺ¨λ“ˆμ΄λ‚˜ ν΄λž˜μŠ€μ— λŒ€ν•΄ μ„Έλ°€ν•œ λΆ€λΆ„κΉŒμ§€ ν…ŒμŠ€νŠΈ κ°€λŠ₯ν•˜λ‹€.

  : λ‹¨μœ„ν…ŒμŠ€νŠΈλ₯Ό μ΄μš©ν•˜λ©΄ 문제 λ°œμƒ μ‹œ μ •ν™•ν•˜κ²Œ μ–΄λŠ 뢀뢄이 잘λͺ»λ˜μ—ˆλŠ”지λ₯Ό 재빨리 확인할 수 μžˆλ‹€.

  : JUnit은 λ°”λ‘œ μžλ°” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μš© λ‹¨μœ„ν…ŒμŠ€νŠΈ ν”„λ ˆμž„μ›Œν¬μ΄λ‹€.

2. 톡합 ν…ŒμŠ€νŠΈ (Integration Test)

  : 두 개 μ΄μƒμ˜ λͺ¨λ“ˆμ΄ μ—°κ²°λœ μƒνƒœλ₯Ό κ²€μ‚¬ν•˜λŠ” ν…ŒμŠ€νŠΈμ΄λ‹€.

  : λͺ¨λ“ˆ κ°„μ˜ μ—°κ²°μ—μ„œ λ°œμƒν•˜λŠ” μ—λŸ¬λ₯Ό 검증할 수 μžˆλ‹€.

3. E2E ν…ŒμŠ€νŠΈ (End to End Test)

  : μ‹€μ œ μ‚¬μš©μžμ˜ μ‹€ν–‰ν™˜κ²½κ³Ό 거의 μœ μ‚¬ν•œ ν™˜κ²½μ—μ„œ ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•œλ‹€. (~λΈ”λž™λ°•μŠ€ ν…ŒμŠ€νŒ…)