코드품질(5)
-
JUnit
JUnit이란 JUnit의 개념 JUnit이란 Java의 대표적인 Unit Test 도구입니다. Testing 결과를 단순히 문서로 남기는 것이 아니라 Test Class를 그대로 남김으로써 나중에 개발자에게 테스트 방법 및 클래스의 History를 그대로 넘겨줄 수 있습니다. JUnit의 특징 Unit Test Framework 중 하나 단정문으로 테스트 케이스의 수행 결과를 판별 Annotation으로 간결하게 사용 가능 @Test 메서드가 호출할 때마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어짐 Junit의 대표적인 판별 메소드들 Method내용assertArrayEquals(a,b)배열 a와 b가 일치함을 확인assertEquals(a, b)객체 a와 b의 값이 같음을 확인assertS..
2020.03.30 -
System Test
System Test란 System Test의 개념 System Test란 Integration Test가 완료된 이후에 완전한 시스템이 정상적으로 작동하는지를 체크하는 테스트입니다. 앞서 포스팅한 Unit Test나 Integration Test는 기능이 올바르게 수행되는지를 검증하는 것에 중점을 둔다면, System Test는 사용성, 신뢰성, 견고성, 성능, 보안성, 유지 보수성 등도 함께 테스트합니다. System Test의 유형 사용성 테스트 주로 사용자의 응용 프로그램의 사용 용이성, 컨트롤 처리의 유연성 및 시스템의 목표 달성 능력에 중점을 둡니다. 부하 테스트 개발된 소프트웨어가 실제 부하에서 작동하는지 확인하는 부분에 중점을 둡니다. 회귀 테스트 개발 과정 동안 변경된 사항이 새로운 버그..
2020.03.29 -
Integration Test
Integration Test란 Integration Test의 개념 Integration Test는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생할 수 있는 오류를 찾는 테스트입니다. 실제 업무에서는 단위 모듈이 개별적으로 존재하는 것이 아니고 여러 모듈이 유기적으로 관계를 맺고 있으므로 이러한 모듈들을 결합한 형태로 테스트를 수행해봐야 합니다. 모듈 사이의 인터페이스 오류는 없는지, 모듈이 올바르게 연계되어 동작하는지를 체크합니다. 즉 말하자면 각각의 모듈을 통합했을 때 모듈이 올바르게 연계되어 동작하는지 테스트하는 것입니다. Integration Test 기법 빅뱅 통합 전체 모듈을 모두 통합한 이후, 통합 테스트를 수행하는 방식입니다. 이 때, 오류가 발생한다면 오류가 발생한 모듈을 찾기가 쉽..
2020.03.29 -
Code Coverage
Black Box Test Black Box Test는 테스트시 객체 내부에 무엇이 들어 있는지 알 수 없거나 알지 않아도 된다는 것을 가정하여 테스트하는 방법입니다. 객체 내부가 어떻게 변하던 상관없이 입력을 주었을 때 원하는 결과값이 나오면 테스트는 통과하게 됩니다. White Box Test White Box Test는 객체 내부를 확인하고 검증하는 테스트입니다. 쓰이지 않은 변수는 없는지, 특정 범위만 받는 함수가 있는지 등등 이러한 부분들을 확인하는 과정입니다. Code Coverage는 White Box Test의 일부입니다. Code Coverage Code Coverage의 개념 Code Coverage란 소프트웨어 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표 중 하나입니다...
2020.03.28 -
Unit Test
UnitTest란 UnitTest의 개념 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차입니다. 즉, 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차를 말합니다. 이를 통해 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단 시간 내에 이를 파악하고 바로잡을 수 있도록 해줍니다. Unit Test를 만드는 이유 첫 번째는 프로그램이 크고, 메모리가 많이 들고, 다른 리소스(DB 등)이 필요한 경우 로컬 환경에서 쉽게 코드를 실행시켜 보기 어렵기 때문입니다. 그래서 개발자들은 Unit Test를 통해 빠르게 자신의 코드가 정상적으로 작동하는지 확인할 수 있습니다. 두 번째는 dependency가 있는 다른 클래스들에서 버그가 나는 것을 방지하기 위함입니다. 다..
2020.03.27