CS/Software Engineering

[소프트웨어 공학] 9. 코딩

grammiboii 2025. 6. 6. 23:25

 

 

기초

여기서 단위 테스트와 QA의 차이점

함수들의 기본적인 인풋과 아웃풋을 확인해 주는게 단위 테스트

그걸 통합하면서 발현되어야 하는 기능들을 통합적으로 테스팅하는게 QA

 

 

자주 발생하는 오류

 

메모리 누수 Memory Leak

메모리가 프리 되지 않고 프로그램에 계속 할당되는 현상

 

구체적으로, 힙 영역에 올린 후 내리지 않으면 해당 메모리 공간에 OS가 할당하지 않으므로 사용할 메모리가 없어지는 상황을 말한다.

 

예시로, java를 사용한다면 JVM GC가 가비지 콜렉팅을 하면서 free를 해주지만  그게 즉각적인 free는 아니기 때문에 시스템에 장애가 오는 경우가 있다고 하셨다.

JVM과 GC에 대해 공부해 봐야겠다고 생각했는데 이번 방학때 꼭!! 해야겠다

 

중복된 free 선언

free를 안하는것도 문제지만 2번하는 것도 문제

 

NPE

null에 접근하는 경우

이것도 많이 발생한다

 

 

별칭의 남용

별칭(alias) 많은 문제를 야기한다

서로 다른 주소 값을 예상하고 사용한 개의 변수의 값이 별칭 선언으로 인하여 같은 값이 되었을 오류 발생

 

배열의 인덱스 오류

이것도 알고리즘 할때 많이 발생하죠