Skip to content

Commit

Permalink
Add new post
Browse files Browse the repository at this point in the history
  • Loading branch information
hhhyunwoo committed Aug 30, 2023
1 parent 77f8cee commit 937e925
Showing 1 changed file with 80 additions and 0 deletions.
80 changes: 80 additions & 0 deletions _posts/2023-08-30-sre-ch17.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
layout: post
title: "[SRE] Ch17. Testing for Reliability"
date: 2023-08-30
categories:
- Study
- Book
- SRE
tags: [
sre,
google,
devops,
study,
book,
reliable,
]
---

**κ²°λ‘  : ν…ŒμŠ€νŠΈλŠ” μ—”μ§€λ‹ˆμ–΄λ“€μ΄ μžμ‹ μ˜ μ œν’ˆμ˜ 신뒰성을 ν–₯μƒμ‹œν‚¬ 수 μžˆλŠ” κ°€μž₯ μ μ ˆν•œ 투자 μˆ˜λ‹¨μ΄λ‹€.**

- ν…ŒμŠ€νŠΈμ˜ μ’…λ₯˜λŠ” ꡉμž₯히 μ—¬λŸ¬κ°€μ§€κ°€ μžˆλŠ”λ°, 신뒰성을 올리기 μœ„ν•΄μ„œ λŒ€λž΅μ μœΌλ‘œ ν…ŒμŠ€νŠΈμ˜ μ’…λ₯˜μ™€ μ€‘μš”λ„μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•˜κ³  μžˆλ‹€.
- ν…ŒμŠ€νŠΈλŠ” μ–΄λ–€ λ³€κ²½ 사항이 일어났을 λ•Œ νŠΉμ • λΆ€λΆ„μ—μ„œ λ™μΌν•œ κ²°κ³Όλ₯Ό κΈ°λŒ€ν•  수 μžˆλ‹€λŠ” 것을 보여주기 μœ„ν•œ λ©”μ»€λ‹ˆμ¦˜μ΄λ‹€.

# μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈμ˜ μ’…λ₯˜

## 전톡적인 ν…ŒμŠ€νŠΈ

- μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ°œλ°œν•˜λŠ” λ™μ•ˆ μ†Œν”„νŠΈμ›¨μ–΄κ°€ μ˜¬λ°”λ₯Έ λ™μž‘μ„ μˆ˜ν–‰ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό ν‰κ°€ν•˜λŠ” `ν…ŒμŠ€νŠΈ`

### Unit Test

- ν΄λž˜μŠ€λ‚˜ ν•¨μˆ˜ 등을 ν…ŒμŠ€νŠΈν•˜μ—¬ 각 λ™μž‘μ„ λ…λ¦½μ μœΌλ‘œ ν…ŒμŠ€νŠΈν•˜λŠ” 방법
- 주둜 `TDD` 방법둠과 ν•¨κ»˜ μ‚¬μš©λ¨
- **dependency κ°€ μžˆμ„ λ•ŒλŠ” μ–΄λ–»κ²Œ?**
- *β†’ Dependency Injection μ‚¬μš©. Dagger 와 같은 νˆ΄μ„ μ‚¬μš©ν•΄μ„œ Mock 객체λ₯Ό μƒμ„±ν•˜μ—¬ μˆ˜ν–‰*

### Integration Test

- λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•œ μ†Œν”„νŠΈμ›¨μ–΄ μ»΄ν¬λ„ŒνŠΈλŠ” 그보닀 더 큰 규λͺ¨μ˜ μ»΄ν¬λ„ŒνŠΈμ— νŽΈμž…λ˜λŠ”λ°, 이떄 μˆ˜ν–‰ν•˜λŠ” ν…ŒμŠ€νŠΈκ°€ `톡합 ν…ŒμŠ€νŠΈ`μž„

### System Test

- 아직 배포가 μ™„λ£Œλ˜μ§€ μ•Šμ€ μ‹œμŠ€ν…œμ— λŒ€ν•΄ μ—”μ§€λ‹ˆμ–΄κ°€ μˆ˜ν–‰ν•  수 μžˆλŠ” κ°€μž₯ 큰 규λͺ¨μ˜ ν…ŒμŠ€νŠΈ.
- **Smoke Test**
- *μ „μž 회둜 κΈ°νŒμ— 전원을 λ„£μ—ˆμ„ λ•Œ κΈ°νŒμ—μ„œ μ—°κΈ°κ°€ λ‚˜λŠ”μ§€ ν™•μΈν•˜λŠ” ν…ŒμŠ€νŠΈμ—μ„œ 유래됨.* 즉, μ•ˆμ •μ„±μ„ μœ μ§€ν•˜κΈ° μœ„ν•΄μ„œ μ£Όμš” κΈ°λŠ₯듀이 μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ”μ§€ 확인
- μ•ˆμ •μ„± 검사 (Sanity Test) 둜 μ•Œλ €μ Έ 있으며, μ•½κ°„μ˜ μž₯μ•  상황을 κ°€μ •ν•œ ν…ŒμŠ€νŠΈλ₯Ό ν¬ν•¨ν•΄μ„œ 더 λ§Žμ€ 뢀뢄을 ν…ŒμŠ€νŠΈ 함
- **Performance Test**
- μ„±λŠ₯ ν…ŒμŠ€νŠΈ
- **Regression Test**
- 이미 μ•Œλ €μ§„ 버그듀을 톡해 μ‹œμŠ€ν…œμ˜ μ‹€νŒ¨λ‚˜ 잘λͺ»λœ κ²°κ³Όκ°€ λ‚˜νƒ€λ‚˜λŠ” 것을 μœ μΆ”ν•˜λŠ” ν…ŒμŠ€νŠΈ.

## ν”„λ‘œλ•μ…˜ ν…ŒμŠ€νŠΈ

- μ‹€μ œ λ™μž‘ν•˜λŠ” μ›Ή μ„œλΉ„μŠ€μ— λŒ€ν•΄ 배포된 μ†Œν”„νŠΈμ›¨μ–΄ μ‹œμŠ€ν…œμ΄ μ˜¬λ°”λ₯΄κ²Œ λ™μž‘ 쀑인지λ₯Ό νŒλ‹¨ν•˜λŠ” ν…ŒμŠ€νŠΈ
- **Black Box ν…ŒμŠ€νŠΈ**라고도 뢀름

### μ„€μ • ν…ŒμŠ€νŠΈ

- μ‹€μ œ ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œ λ™μž‘ν•˜λŠ” νŠΉμ • λ°”μ΄λ„ˆλ¦¬κ°€ μ‹€μ œλ‘œ μ–΄λ–»κ²Œ μ„€μ •λ˜μ–΄ μžˆλŠ”μ§€λ₯Ό ν™•μΈν•˜κ³  ν•΄λ‹Ή μ„€μ • 파일과 μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 뢀뢄을 μ°Ύμ•„ 보고 함

### 슀트레슀 ν…ŒμŠ€νŠΈ

- μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈλ“€μ˜ ν•œκ³„λ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•¨.
- μ˜ˆμ‹œ
- DB μš©λŸ‰μ΄ μ–΄λŠ 정도에 λ‹€λ‹€λ₯΄λ©΄ μ“°κΈ° μž‘μ—…μ— μ‹€νŒ¨ν•˜λŠ”κ°€?
- μ„œλ²„λŠ” μ΄ˆλ‹Ή λͺ‡ 개의 μΏΌλ¦¬κΉŒμ§€ 응닡할 수 μžˆλŠ”κ°€?

### μΉ΄λ‚˜λ¦¬ ν…ŒμŠ€νŠΈ

- μ„œλ²„μ˜ μΌλΆ€λ§Œμ„ μƒˆλ‘œμš΄ λ²„μ „μ˜ λ°”μ΄λ„ˆλ¦¬λ‚˜ μ„€μ • 파일둜 μ—…κ·Έλ ˆμ΄λ“œν•œ ν›„, 일정 κΈ°κ°„ λ™μ•ˆ μ‚΄νŽ΄λ³΄λŠ” ν˜•νƒœλ‘œ 진행

# ν…ŒμŠ€νŠΈ 및 λΉŒλ“œ ν™˜κ²½ κ΅¬μ„±ν•˜κΈ°

- **일반적으둜 초기 섀계 λΆ€ν„° ν…ŒμŠ€νŠΈ 컀버리지 100ν”„λ‘œλ₯Ό λ‹¬μ„±ν•˜λ©΄μ„œ ν”„λ‘œμ νŠΈλ₯Ό μˆ˜ν–‰ν•˜λŠ” 경우 (TDD) λŠ” 잘 μ—†μŒ.**
- 뿐만 μ•„λ‹ˆλΌ SRE μ—”μ§€λ‹ˆμ–΄λ“€μ€ λŒ€λΆ€λΆ„ ν”„λ‘œμ νŠΈκ°€ ν•œμ°½ 진행 쀑일 λ•Œ ν•©λ₯˜ν•˜κΈ° λ•Œλ¬Έμ—, μ–΄λŠ λΆ€λΆ„λΆ€ν„° ν…ŒμŠ€νŠΈλ₯Ό μ‹œμž‘ν•΄μ•Όν•˜λŠ”μ§€ νŒλ‹¨ν•˜λŠ” 뢀뢄이 μ€‘μš”ν•¨
- **κ³ λ €ν•΄μ•Όν•  점듀**
- μ–΄λ–€ ν˜•νƒœλ‘œλ“  μ€‘μš”λ„λ₯Ό μΈ‘μ •ν•΄μ„œ μ»΄ν¬λ„ŒνŠΈλ“€μ˜ μš°μ„ μˆœμœ„λ₯Ό 결정해야함
- μ‚¬ν™œμ΄ κ±Έλ €μžˆκ±°λ‚˜, λΉ„μ§€λ‹ˆμŠ€ κ΄€μ μ—μ„œ μ€‘μš”ν•œ κΈ°λŠ₯μ΄λ‚˜ 클래슀λ₯Ό νŠΉμ •ν•  수 μžˆλŠ”μ§€?
- λ‹€λ₯Έ νŒ€λ“€μ΄ ν†΅ν•©ν•΄μ„œ μ‚¬μš©ν•˜λŠ” API듀이 μžˆλŠ”μ§€?
- β†’ **κ°€μž₯ κ°•λ ₯ν•œ ν…ŒμŠ€νŠΈ λ¬Έν™” 수립 방법은 μ§€κΈˆκΉŒμ§€ 보고된 λͺ¨λ“  버그λ₯Ό ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ ν˜•νƒœλ‘œ λ¬Έμ„œν™”ν•˜κ³ ,** `regression Test` **에 ν¬ν•¨μ‹œμΌœμ•Όν•¨**

0 comments on commit 937e925

Please sign in to comment.