-> 1:1 매칭을 꼭 해보세요
1) Manual work
2) Test development and maintenance
3) Documentation maintenance
code smell : 코드 구조가 바람직하지 못한 상황을 일컫는 말
참고링크
: 코드를 가지고 분석
static : 대부분의 경우 프로그램 실행 전을 뜻한다.
: 코드를 가지고 분석
장점 : 모든 가능성을 점검할 수 있다.
단점 : 불필요한 부분까지 분석해야하는 번거로움이 있다.
: 실제 프로그램을 돌려보면서 분석
장점 : 필요한 부분만 분석할 수 있다.
단점 : 실제 실행 경로만 분석한다.
ex) if-else문이 있다면 else문만 실행되는 경우도 있을 수 있는데, 이 경우 if문은 분석되지 않는다.
1) 토큰 분석
2) 구분 분석
퀴즈
1. 1
2. 3
정적 분석은 코드로 분석하는 것!
3. 2
기능 변경 x -> 기능은 같아야함
4. 3
5. 2
++)
Syntatic : focus on "form" and syntax
Semantic : focus on "meaning"
블랙박스 : 코드의 내용을 모르는 상태로 명세를 가지고 테스팅
화이트박스 : 코드의 내용을 알고 있는 상태로 모든 플로우를 따르면서 테스팅
⭐️ Inspections (reviews or walkthroughs)
Edsger Wybe. Dijkstra (엣저 위베 다익스트라)
: Testings how the presence, not the absence of bugs
테스팅으로 버그를 발견할 수는 있지만, 모든 버그를 찾아낼 수는 없다.
용어
IUT
Test Case
Test Site
Test Data
Test harness
Driver : 함수를 호출하는 메인 함수의 역할
Stub : (메인함수에서 호출하는 함수가 완성되어 있지 않을 때) 컴파일을 위한 껍데기 코드
🤔 Test Case는 어떻게 만드나요?
Disigning thest cases
1) to uncover defects (Objective)
2) in a complete manner (Criteria)
3) with a minimum of test case (Effort and time)
2),3)은 서로 상충되는 관계!
⭐️ 유효하지 않은 테스트 케이스도 만드는 것이 필요하다!
black box / white box testing은 서로 보완적인 면이 있는 것으로 우위를 가릴 수는 없겠죠
- 2048
- implementation under test
- presence
- absence