Written by JS970
on
on
소프트웨어시스템설계 2023-04-24 수업정리
Flow
- SDLC
- Unit Testing
- JUnit 을 이용한 Unit Testing
SDLC(Software Developement Life Cycle)
- 구조도의 그림이 V형태여서 V-model이라고도 한다.
- Acceeptance Testing의 경우에는 defect를 찾는 것이 목적이 아니다. User Requirements에 부합하는지 검사하는 것이 목적이다.
- System Testing, Integration Testing, Unit Testing은 defect를 찾는 것이 목적이다.
- 각각의 Test Basis에 맞는 Testing방법을 사용하여 테스트한다.
- 테스트의 성공은 의미가 없다.
- Test Case를 올바르게 선정하여 Robustness(강건성)을 테스트 하는 것이 목표이다.
- 올바르지 않은 입출력, 경계값 등을 이용한다.
- Fail이 Test의 Success를 이끌어 내는 데 도움이 된다.
Unit Testing
- function, class등의 단위 테스팅에 대한 내용이다.
- 어떤 모듈(function, class)이 요구사항의 specification대로 동작하는지 검사하는 과정이다.
IUT(Implementation Under Test)
- 테스트를 위한 코드이다.
- 베릴로그 모듈 테스트에서 시스템 베릴로그로 작성한 테스트벤치를 생각하면 이해하기 쉽다.
Unit Testing Framework
- 본 강의에서는 JUnit을 사용한 실습을 진행한다.
- JUnit
- java의 단위 테스팅 프레임워크이다.
- annotation을 사용하여 before, test, after에 대한 결과를 확인한다.
- CppUnit
- c++의 단위 테스팅 프레임워크이다.
- MS Unit
- CppUnit과 비슷하다.
JUnit Tutorial
Java Build Path설정
- Project우클릭 후 properties선택
- Java Build Path 선택 후 Libraries tab 선택
- Classpath 선택 후 Add Library 클릭
- JUnit선택, Junit버전 선택
- Apply and Close
JUnit Test Tutorial
- 테스트를 위한 Calculator.java를 아래와 같이 작성한다.
public class Calculator {
public int addTwoNumbersTest(int number1, int number2) {
return number1 + number2;
}
public int multiplyTwoNumbersTest(int number1, int number2) {
return number1 * number2;
}
}
- src 폴더를 우클릭한 후 JUnit Test Case 선택
- CalculatorTest.java를 아래와 같이 작성한다.
import static org.junit.Assert.*;
import org.junit.Test;
public class CalculatorTest {
private Calculator calculator = new Calculator();
@Test
public void addTest() {
assertEquals(5, calculator.addTwoNumbersTest(2, 3));
}
@Test
public void multiplyTest() {
assertEquals(6, calculator.multiplyTwoNumbersTest(2, 3));
}
}
- 실행
- 결과 확인