행위 주도 개발 (BDD) = 인수 테스트 주도 개발 (ATDD) 인수 테스트 주도 개발 ? 사용자가 개발자가 만든것을 받아서 사용자 요구사항에 맞는지 확인하는 테스트 이전에 배웠던 요구사항 분석, 유스케이스 다이어그램, 블랙박스(테스트 케이스), 화이트박스(코드 커버리지) , 테스트 주도 개발 은 개발자 관점이다! → 단위 테스트 필요 BDD란? 행위 주도 개발로 사용자 기능 위주이다. 고객과 기획자, 설계자, 구현자, 테스터들이 대화를 하면서 기능을 기술 (기능적인 측면) 목적은 고객의 요구사항을 맞추기 위해서 올바른 소프트웨어 개발 방법 ? 고객의 요구사항을 구체적인 사례(값)를 사용 고객과 개발자간의 지속적인 소통, 요구사항 개선 조정 및 이해 공유 🚨소프트 웨어 철학! 🚨 개방, 공유, 참여 이..
애자일 개발 방법론의 사용으로 테스트 주도 개발이 중요해졌다. 테스트 주도 개발이란?🤔 단위 테스트이다. 단위 테스트 코드를 개발한 다음에 제품 코드를 개발하는 방식 (클래스 단위로 테스트 코드가 가능) 실패할 만큼 테스트 코드 작성하고, 테스트를 통과할 만큼만! 기능별 업무 분담보다는 태스크 별로 업무를 공유하면서 진행하는 것이 좋다. 장점 : 문제 발생 시 즉각적인 원인 파악 해결 가능, 지속적인 통합 가능, 모든 부분에서 부분 테스트, 자동화된 리그레션 테스트(회귀 테스트) *리팩터링 : 동일 기능 + 성능 향상, 가독성 향상 JUnit을 활용한 TDD 실습 - 초간단 계산기 개발 블랙박스 테스트 케이스를 만들었다는 가정하에 요구사항 초기 값 설정하지 않았으면 0으로 설정 초기 값을 생성자를 통해 ..

복습! 블랙박스 테스트란? 그 안에 무엇이 들어있는지 모르는 상태! 즉, 외부에서 기능만 아는 상태이다. 이런 기능에 대한 명세를 할때 테스트 하고 그 안에 프로그램이 어떻게 구성되어있는지는 모름 = 사용자 입장에서 테스트 (명세기반) 화이트박스 테스트란? ⭐⭐⭐ 기능의 제목만 알려주고 프로그램의 원시코드를 보고 의도 하지 않은 기능이 있는지 테스트 하는 방식, 코드를 보고 테스트 하는 것으로 정적인 테스트라고 할 수 있다. (구조기반) 소스코드의 제어흐름/자료흐름/조건을 보고 프로그램의 결함이 있는지 식별한다. *동적인 테스트와 정적인 테스트? 동적 : 실행 ,컴파일이 완료 돼서 실행 코드를 이용해 실행하는 단계 정적 : 실행 전 단계, 컴파일 단계까지 제어흐름 노드의 내용은 기본블록이다. 노드는 박스..
소프트웨어 공학의 기본 과정 정리 🤔 요구사항 분석 → 설계 → 구현 → 테스트 → 배포 유지보수 구현과 테스트를 반복을 많이함 테스트는 통합테스트와 인수테스트, 단위테스트 (구현자의 몫) 알고리즘 → 구현 → 단위 테스트 의 반복은 불필요한 코딩도 적지 않다. 일단 해놓고 테스트!? 이 방법 보다는 테스트 대상을 잡고 테스트 코드 작성 → 제품 코드 작성 (구현) 소프트웨어의 구체적이고 귀납적인 특징을 이용하여 구현하면 가장 효율적인 형태가 된다. 이를 테스트 주도 개발이라고 한다.(TDD) 블랙박스 테스트 ⭐⭐⭐⭐⭐ 하나의 인자에 대해서 분할을 하면 어떤 값을 취헤도 같은 성질을 가지고 있다. 각각의 대표가 되는 값 하나를 선택해서 테스트 케이스를 넣어 실행했을때 오류가 없으면 나머지도 오류가 없다...