반응형
'버그' 란?
- 소프트웨어가 예상하지 못한 결과를 내는 것
- 버그는 '소스 코드'나 '설계과정에서의 오류' 때문에 발생함
현업에서 '버그'란?
1.사용자들에게 불편을 줌
- 일부 기능이 동작하지 않음(이커머스 사이트에서 '주문'만 안됨)
- 일부 기능이 의도와 다르게 동작(10만원 결제 -> 100만원 결제)
- 잘못된 동작에 대한 고객 보상 및 데이터 보정 작업이 추가로 필요
- 전체 기능 동작하지 않음( 서비스 접속 불가)
2.회사에 악영향
- 매출 감소
- 신뢰도 감소
- 필요할 때 내 곁에 없는 회사..
- 회사정보, 개인정보 유출 가능성
3. "저녁 없는 삶, 주말 없는 삶, 휴가 없는 삶.."의 원인
- 버그는 시간을 가려서 발생하지 않음
- 소프트웨어는 스스로 치유되는 능력이 없음
개발 코드 배포 전, 버그를(최대한 많이) 찾아내는 법 (버그가 없다는건 매우 어려운 일이다.)
1. 블랙박스 테스팅
블랙박스 테스팅이란 소프트웨어 내부 구조나 동작원리를 모르는 블랙박스와 같은 상태에서, 즉 웹 서비스의 사용자 입장에서 동작을 검사하는 방법. |
장점
- 누구나 테스트 가능 - 개발자부터 디자이너, 베타 테스터 혹은 사장님까지!
단점
- 기능이 증가될 수록 테스트의 범위가 증가
- 시간이 갈 수 록 테스트하는 사람이 계속 늘어나야함
- 테스트 하는 사람에 따라 테스트 퀄리티가 다를 수 있음 -> QA직군이 있는 이유
2. 개발자 테스트
개발자가 직접 "본인이 작성한 코드"를 검증하기 위해 "테스트 코드"를 작성 "개발자 본인이 작성한 코드는 본인이 가장 잘 안다." |
장점
- 개발 시간이 오래 걸림
- 테스트 코드를 유지보수하는 비용
- 블랙 박스 테스팅
- 장점
- 누구나 테스트 가능 - 개발자부터 디자이너, 베타 테스터 혹은 사장님까지!
- 단점
- 기능이 증가될 수록 테스트의 범위가 증가
- 시간이 갈 수 록 테스트하는 사람이 계속 늘어나야함
- 테스트 하는 사람에 따라 테스트 퀄러티가 다를 수 있음 → QA 직군이 있는 이유
- 기능이 증가될 수록 테스트의 범위가 증가
- 장점
- 개발자 테스트
- UI 테스팅
- 장점: 실제 서비스를 사용하게 될 고객의 입장에서 기능을 검증해 볼 수 있음
- 단점: 클라이언트 코드 (HTML, CSS, JS) 가 다 작성 되어야만 기능 검증이 가능함
- 프론트 개발과 백엔드 개발이 동시에 진행되고 있다면??
- API 호출앱 사용 (ex. Advanced REST Client, Postman)
- 장점: UI 없이 서버의 API 를 손쉽게 검증 가능
- 단점: 여러개의 API 를 한번에 검증하기 어려움
- 스프링의 테스트 프레임워크 사용
- 장점
- UI 없이 서버의 API 를 손쉽게 검증 가능
- 여러개의 API 를 한번에 검증 가능
- 테스트 코드를 소스 코드와 함께 관리 가능
- 코드 수정 후 바로 테스트 가능
- Git 을 이용해 다른 개발자들과 테스트 코드 공유 가능
- 단점
- 테스트 프레임워크에 대한 추가학습이 필요
- 테스트 코드 작성에 다소 시간이 소요
- 장점
- UI 테스팅
반응형
'개발일지 > TIL' 카테고리의 다른 글
JPA 영속성 컨텍스트 이해 (0) | 2022.07.18 |
---|---|
JPA 이해 (0) | 2022.07.18 |
JPA (0) | 2022.07.17 |
Getter, Setter의 이해 (0) | 2022.07.17 |
객체지향 복습 (0) | 2022.07.16 |