다섯 살도 알 수 있게 · SW공학
SW 성능테스트가 뭐예요?
소프트웨어 성능테스트를, 신간 발매 전 가짜 독자들을 미리 몰리게 해보는 출판사 연습으로 풀어봤어요.
신간 발매일, 독자가 한꺼번에 몰려요.평소엔 멀쩡하던 인쇄소가 오늘따라 느려요.
가짜 독자를 미리 몰리게 해보지 않으면 인쇄소 한계가 어딘지 아무도 몰라요.독자가 얼마나 몰려야 인쇄가 멈추는지 몰라서, 발매일에 인쇄가 또 밀릴까 무서워요.
성능테스트는 가짜 독자를 미리 몰리게 해서 인쇄소가 얼마나 버티는지 보는 연습이에요.성능테스트는 진짜 독자가 몰리기 전에 인쇄소 한계를 미리 찾아둬요.
부하테스트가짜 독자가 예상되는 수준으로 몰려요
스트레스테스트한계까지, 또는 그 너머로 밀어붙여요
지속테스트가짜 독자가 오래오래 계속 몰려요
스파이크테스트가짜 독자가 갑자기 몰렸다 빠져요
성능테스트는 응답시간·처리량·동시 독자 수·오류율, 이 네 숫자를 재요.이 숫자들이 '독자가 얼마나 몰려야 인쇄소가 멈추는지'를 말해줘요.
테스트 환경과 실제는 다를 수 있어요.테스트 환경이 실제와 다르면, 통과해도 실제에서 버틴다는 보장은 없어요.
한 줄로
SW 성능테스트는 진짜 독자가 몰리기 전에 가짜로 몰리게 해보며, 응답시간·처리량 같은 숫자로 버티는 한계를 미리 찾는 일이에요.
성능테스트는 시스템이 정해진 부하에서 응답시간·처리량(TPS)·동시 사용자 수·오류율 같은 지표를 만족하는지 확인하는 테스트예요. 예상 부하(평소~최대)로 확인하는 부하테스트, 예상 한계까지 또는 그 너머로 밀어붙이는 스트레스테스트, 오래 지속해보는 지속(내구성)테스트, 갑작스런 급증을 보는 스파이크테스트로 나눠요.
어른들은 이렇게 불러요
- 성능테스트
Performance Testing - 가짜 독자로 미리 몰려보기. 한계를 미리 찾는 게 목적이에요.
- 부하테스트
Load Test - 예상되는 수준으로 몰려보기. 평소부터 예상 최대치까지 버티는지 봐요.
- 스트레스테스트
Stress Test - 한계까지, 또는 그 너머로 밀어붙이기. 어디서 무너지는지 찾아요.
- 응답시간
Response Time - 책 한 권 받기까지 걸리는 시간. 독자가 체감하는 속도예요.
- 처리량(TPS)
Throughput (TPS) - 초당 몇 권 찍어내나. 처리량은 속도를, 기능점수는 기능의 크기를 재요. → 쪽수 대신 기능을 재는 자
- 병목지점
Bottleneck - 가장 먼저 막히는 좁은 문. 테스트로 미리 찾아둬야 해요.
- 가설검정
Hypothesis Testing - 두 표지 중 뭐가 진짜 더 잘 팔리는지 따지는 법. 우연인지 진짜 차이인지 가릴 때 써요. → 우연인지 진짜 차이인지 가리기
- 고가용성
High Availability - 인쇄소를 두 곳 두는 대비. 성능이 아니라 멈추지 않는 것에 대한 이야기예요(다른 분야). → 예비 발전기가 넘겨받는 이야기
다음 이야기
두 표지 중 뭐가 진짜 더 잘 팔릴까 →