모듈
독립된 하나의 소프트웨어 또는 하드웨어 단위
모듈화
소프트웨어의 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해하는 설계 및 구현 기법
공통 모듈 구현
소프트웨어 개발에 있어서 기능을 분할하고 추상화하여 성능을 향상시키고 유지 보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법
모듈 내부 구성요소 간 연관되는 정도
하나의 모듈은 하나의 기능을 수행하는 것을 의미
모듈 외부 다른 모듈과의 연관도 또는 상호의존성
모듈 간 관련성을 측정하는 척도
화면 모듈, 화면에서 입력받은 데이터 처리를 위한 서비스 컴포넌트, 비즈니스 트랜잭션 컴포넌트 등이 있음
어떤 모듈을 호출하는 모듈의 수
어떤 모듈에 의해 호출되는 모듈의 수
공토 모듈 테스트를 위해 IDE 도구를 활용하여 개별 공통 모듈에 대한 디버깅을 수행함
화이트박스 테스트
응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트 방식
메서드 기반 테스트
공통 모듈 외부에 공개된 메서드 기반의 테스트
화면 기반 테스트
사용자용 화면이 있는 경우, 화면 단위로 단위 모듈을 개발한 후에 화면에 직접 데이터를 입력하여 테스트를 수행
테스트 드라이버 / 테스트 스텁
하위 모듈은 있지만 상위 모듈은 없는 경우 테스트 드라이버 기법을 사용
상위 모듈은 있지만 하위 모듈은 없는 경우 테스트 스텁 기법을 사용
@Test
: 테스트 메서드 선언@Before
: @Test
실행 전 실행되는 코드 작성@After
: @Test
실행 후 실행되는 코드 작성@BeforeClass
: @Test
메서드 보다 먼저 딱 한 번 수행되어야 하는 경우 지정@AfterClass
: 단위 테스트 맨 마지막에 수행되어야 하는 경우 지정@Ignore
: 테스트에서 제외할 메서드 선언assertEquals(a, b);
: 객체 a와 b가 일치함을 확인assertEquals(a, b, c);
: 객체 a와 b가 일치함을 확인 (c는 오차 범위)assertSame(a, b);
: 객체 a와 b가 같은 객체임을 확인assertArrayEquals(a, b);
: 배열 a와 b가 일치함을 확인assertNotNull(a);
: 객체 a가 null이 아님을 확인assertTrue(a);
: 조건 a가 참인지 확인