검색 본문
cotak.tistory.com TaxFree [ATDD] 인수테스트 주도 개발에 대한 짧은 고찰 1. 인수테스트의 의미 명세나 계약의 요구사항이 충족되는지를 확인하는 테스트 작업을 종료시켜도 되는지 검증하는 테스트 2. 인수테스트 주도 개발의 의미와 목적 인수테스트 주도 개발은 기획, 개발, 테스트 등 다양한 관점을 가진 팀원들과 협업을 위한 애자일 방법론 중 하나이다 다양한 관점(기획, 개발, 테스트 등)을 지닌 팀원이 함께 사전 기획 단계에서 유저스토리와 인수 기준을 도출하면, 개발단계에서 자동화된 인수테스트를 먼저 작성하고 소프트웨어 개발을 이어나간다 프로젝트에 참여하는 인원들이 다양한 관점(기획, 개발, 테스트 등)을 지닌 만큼, 커뮤니케이션이 부족하다면 서로 다른 결과물을 상상하면서 작업을 진행할 수 있다 이 경우 결과물이 나오는 시점에야 서로의 생각이... 3. 테스트 주도 개발 vs 인수테스트 주도 개발 테스트 주도 개발은 비교적 작은 요구사항을 검증하는 테스트 코드를 먼저 만들고, 그것을 구현하는 코드를 작성한 뒤 리팩토링을 수행한다 실패하는 테스트 작성 (RED) 테스트를 통과하는 최소한의 구현 (GREEN) 리팩토링 (REFACTOR) https://boorownie.github.io/3 인수테스트 주도 개발은 시나리오 레벨을 구현 대상으로 정하고 인수테스트를 먼저 작성한 후, 그것을 구현하는 코드를 작성해간다, 실패하는 인수테스트 작성 테스트를 통과하기 위해 기능 개발 (TDD) 인수테스트 수행 미치 성공 https:// 4. 인수테스트 작성 서버 개발에서 UI 기반의 인수테스트는 작성 및 수행이 어려우므로, 대개 API 레벨로 인수테스트를 진행한다 인수테스트는 일반적으로 Given(setup) - When(trigger) - Then(verification)의 구조로 이뤄짐 Given(setup): 시스템의 지정된 상태 (테스트를 위한 환경 구성) When(trigger): 동작이나 이벤트가 발생 (테스트 동작 수행) Then(verification): 변경된 시스템의 상태나 발생한 출력을 확인 (결과 확인) Given 대출되지 않은 도서가 있고 And 시스템에 등록 5. 실무에 적용해본 후기 시나리오를 기반으로 테스트하기 떄문에 전체적인 컴포넌트를 연결하는 통합 테스트가 가능하며, 단위테스트만 작성했을 때보다 코드의 안정성이 높아진다 한 번 구현해놓으면 유사한 기능은 확장이 용이하다 인수테스트를 먼저 작성해두면 단위테스트 작성도 용이해진다 일반적인 TDD는 작은 기능 단위로 수행되므로, 진행하다보면 개발 목표를 놓칠 때가 있음 인수테스트를 먼저 작성하고 TDD를 수행하면 방향성 잡기가 보다 수월하다 2) 아쉽거나 어려운 점 처음에 구현해놓는 게 어려움 회사 환경에 따라 프로젝트에 참여하는 다양한 직 2 인수테스트 주도 개발은 기획, 개발, 테스트 등 다양한 관점을 가진 팀원들과 협업을 위한 애자일 방법론 중 하나이다 다양한 관점(기획, 개발, 테스트 등)을 지닌 팀원이 함께 사전 기획 단계에서 유저스토리와 인수 기준을 도출하면, 개발단계에서 자동화된 인수테스트를 먼저 작성하고 소프트웨어 개발을 이어나간다 프로젝트에 참여하는 인원들이 다양한 관점(기획, 개발, 테스트 등)을 지닌 만큼, 커뮤니케이션이 부족하다면 서로 다른 결과물을 상상하면서 작업을 진행할 수 있다 이 경우 결과물이 나오는 시점에야 서로의 생각이... 2024.05.05 블로그 검색 더보기 [이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법] 2부 10장: 인수 테스트 주도 개발 starting-coding.tistory.com 생각하고 정리하는 곳 ATDD, 클린 코드 with Spring 과정을 통해 배운 인수 테스트(Acceptance Test) 독자분들에게 미리 말씀드립니다. 인수 테스트가 만능이다? 인수 테스트를 무조건 작성해야 한다? 절대 아닙니다!!! 인수 테스트란? 인수 테스트에 대해 이야기하기 전, 먼저 테스트가 무엇인지 스스로 고민해볼 필요가 있을 것 같습니다. 어떤 사람은 아래와 같이 생각할 수 있을 것 같습니다. 코드를 작성하고 검증하는 것 인수 테스트를 작성하기 시작한다면, 아래와 같이 생각해볼 수 있을 것 같습니다. 코드를 작성하기 전, 어떤 코드를 작성해야 하는지 TODO 리스트를 작성하는 것 이는 TDD(Test Driven Development)에서 실패하는 테스트를 작성하고 기능 지하철 도메인 설명 참고: ATDD, 클린 코드 with Spring 강의 자료 中 ... 위 그림에서 표현된, 지하철 관련 도메인은 지하철 역(Station), 지하철 노선(Line), 지하철 구간(Section)으로 총 3가지 정도로 구분해 볼 수 있을 것 같습니다. 인수 테스트 없이 기능 구현 우선, 인수 테스트 없이 지하철 역을 생성(Create)하는 기능을 구현해본다고 가정해보겠습니다. 그렇다면, 각 기능에 대해서 domain -> Repository -> Service -> Controller 계층을 순차적으로 설계해볼 것 같아요.(개발자에 따라 순서가 상이할 수 있을 것 같아요.) 그리고 나서, 모든 코드 다 작성했다면 아래와 같은 흐름으로 테스트를 진행할 것 같습니다. Spring Application 실행 API 요청 기반 테스트 진행 응답 코드 및 응답 Body 확인 2번에 대해서 그림으로 표현한다면, 아래와 인수 테스트 작성하기 인수 테스트에서는 기능을 구현하기 전, 이해당사자와 충분한 시간을 가지고 인수 조건 혹은 인수 테스트 시나리오를 정의합니다. 아래와 같이 정의했다고 가정해보겠습니다. 그렇다면, 해당 시나리오대로 생성(Given)하고, 조회(When)하고, 검증(Then)하는 코드를 작성하면 됩니다. 테스트 진행 시, 실제 Spring Application 환경에서 주입되는 Spring Bean 을 기반으로 진행하기 때문에, Spring Cotainer를 구동시켜줘야 하는데요. 이에, Spring에서는 @SpringBootTest 어노테이션을 제공하 테스트 코드 리팩토링 테스트 코드도 프로덕션 못지않게, 유지보수 관리 대상이기 때문에 제대로 관리하지 않으면 방치되거나 삭제되는 코드가 됩니다. 아래와 같이 고민이 들 것 같아요. 반복되는 코드를 재사용 가능하도록 분리해볼까? 테스트 코드를 가독성 좋게 리팩토링 해볼까? 인수 테스트를 작성하다가 이러한 부분이 고민이 든다면, 언제든지 댓글을 남겨주시면 좋을 것 같습니다. 제가 ATDD, 클린 코드 with Spring에서 경험한 테스트 코드 리팩토링은 아래와 같이 진행했었습니다.(cucumber 라이브러리 기반으로 리팩토링 하는 방법도 있는데요. 추후 마무리 읽기 좋은 프로덕션 코드와, 테스트 코드를 작성하려는 노력을 하게되면서, 정말 많이 성장한 것 같다고 느낍니다. 아직 의도적인 훈련이 매우 많이 필요하지만, 꾸준하게 노력한다면 언젠간 더 많이 성장했을 거라고 믿습니다.(저는 어제의 나보다 지금의 내가 성장했다는 것에 만족하며 살아갑니다.) 아무쪼록 평소 인수 테스트를 작성해보시지 않았다면, 이번 기회에 작성해보시는 것을 추천드립니다. 제대로 한번 배워보고 싶으시다면, ATDD, 클린 코드 with Spring 강력 추천드립니다. 좋은 경험하게 해주신 류성현 강사님과 참고하면 좋은 코드와 영상 사용된 모든 코드: github 참고 영상 [3월 우아한테크세미나] 우아한 ATDD [우아콘2023]지속 가능한 인수 테스트 주도 개발 11 인수 테스트가 만능이다? 인수 테스트를 무조건 작성해야 한다? 절대 아닙니다!!! 인수 테스트란? 인수 테스트에 대해 이야기하기 전, 먼저 테스트가 무엇인지 스스로 고민해볼 필요가 있을 것 같습니다. 어떤 사람은 아래와 같이 생각할 수 있을 것 같습니다. 코드를 작성하고 검증하는 것 인수 테스트를 작성하기 시작한다면, 아래와 같이 생각해볼 수 있을 것 같습니다. 코드를 작성하기 전, 어떤 코드를 작성해야 하는지 TODO 리스트를 작성하는 것 이는 TDD(Test Driven Development)에서 실패하는 테스트를 작성하고 기능 2024.03.08 테스트 격리: 인수 테스트에서 사용했던 방법 junuuu.tistory.com 매일매일 꾸준히 인수테스트란 무엇인가? 개요 https://edu.nextstep.camp/ nextstep이라는 교육기관을 보면 ATDD에 대한 강의가 존재합니다. 테스트 주도 개발(TDD)에 A가 붙어있습니다. 이때의 AT는 Acceptance Test의 약어로 인수 테스트를 의미합니다. 인수테스트를 도입하기 앞서 "인수테스트가 무엇인가?" 에 대해 알아보고자 합니다. 우리가 흔히 진행하는 구현과 테스트 검증(Verification)과 검수(Validation)를 통해 소프트웨어를 만들어나갑니다. V모델이라고 불리며 각 단계를 완전히 종료한 후 다음 단계로 넘어가는 방식으로 변경이 발생했을 때 가장 비용이 많이 발생합니다. 인수테스트란? Acceptance Test라고 불리며 인수테스트 혹은 수락 테스트라고 불립니다. Accetance는 영어로 수락이라는 의미를 가집니다. 인수라는 의미는 "업무를 인수하다 인계하다" 라는 의미로 사용됩니다. 인수테스트를 간단하게 설명하자면 고객의 요구 사항들이 만족되었는가를 분석하기 위해 실시하는 시험입니다. 고객에게 내가 만든 소프트웨어를 인계하기 위해 최종적으로 진행하는 테스트로 이해하였습니다. 단위 테스트가 하위 구현에 대한 테스트라면 인수 테스트는 사용자 관점에서 올바르게 작동하는지 여부를 테스트합니다. 인수테스트의 예시 구독에 대한 인수테스트 예시를 만들어 보았습니다. 사용자가 카드를 등록한다. 사용자는 구독을 요청한다. 결제 이력, 결제 수단을 조회할 수 있다. 정기 결제 중간에 결제 수단을 변경할 수 있다. 정기 결제가 수행된다. 사용자는 환불을 수행할 수 있다. 환불 후에 환불 이력을 조회할 수 있다. 3 https://edu.nextstep.camp/ nextstep이라는 교육기관을 보면 ATDD에 대한 강의가 존재합니다. 테스트 주도 개발(TDD)에 A가 붙어있습니다. 이때의 AT는 Acceptance Test의 약어로 인수 테스트를 의미합니다. 인수테스트를 도입하기 앞서 "인수테스트가 무엇인가?" 에 대해 알아보고자 합니다. 2023.12.28 dncjf64.tistory.com 기회는 찬스 인수 테스트와 E2E 테스트 회고 Step1 지하철역 인수 테스트 작성 Step1 지하철역 인수 테스트 작성 PR 미션은 총 4주차까지 있고 지하철 시스템이란 도메인을 주제로 점진적으로 발전시켜 나가면서 ATDD와 TDD를 배운다. 1주차 Step1은 RestAssured를 사용하여 지하철역 목록 조회와 삭제 API 총 2개의 테스트 코드를 작성하는 미션이다. 구현하는데 크게 어려움은 없었다. assertThat(stationsNames).hasSize(1) .containsOnly("강남역"); 지하철역의 리스트를 검증하는 부분에서 containsOnly를 사용했다. 아래 Step2 지하철 노선 관리 Step2 지하철 노선 관리 Step2 미션은 노선을 CRUD하는 기능을 구현하는 거였다. 이번 단계에선 추가로 프로그래밍 요구사항이 있었고 다음과 같다. 1. 아래의 순서로 기능 구현 1. 인수 조건을 검증하는 인수 테스트 작성 2. 인수 테스트를 충족하는 기능 구현 2. 테스트 격리 인수 테스트의 결과가 다른 인수 테스트에 영향을 끼치지 않도록 인수 테스트를 서로 격리 3. 테스트 리팩터링 인수 테스트의 재사용성과 가독성, 그리고 빠른 테스트 의도 파악을 위해 인수 테스트를 리팩터링 인수 조건의 예시는 다음과 같다. 지하철 노선 Step3 지하철역 인수 테스트 작성 Step3 지하철역 구간 관리 PR 이번 미션부터는 노선에 구간을 생성하고 제거하는 요구사항이 추가되었다. 이전 미션에 비해서는 난이도가 올라갔다. 지하철을 보면 하나의 라인이 있고 3개의 지하철 역이 있으면 A - B 구간 B - C 구간 이렇게 지하철 사이의 공간을 구간이라고 한다. 구간과 노선을 별도의 개념으로 생각해 SectionController, LineController를 생성하였다. 아래와 같은 피드백을 받았다. 💡 노선관리와 동일하게 /lines/~로 시작하는데요구간 관리의 기능과 노선 관리의 기능의 관계를 생각해보 Step1 지하철역 인수 테스트 작성 PR 미션은 총 4주차까지 있고 지하철 시스템이란 도메인을 주제로 점진적으로 발전시켜 나가면서 ATDD와 TDD를 배운다. 1주차 Step1은 RestAssured를 사용하여 지하철역 목록 조회와 삭제 API 총 2개의 테스트 코드를 작성하는 미션이다. 구현하는데 크게 어려움은 없었다. assertThat(stationsNames).hasSize(1) .containsOnly("강남역"); 지하철역의 리스트를 검증하는 부분에서 containsOnly를 사용했다. 아래 2024.03.05 인수 테스트와 TDD 회고 leverage-po.tistory.com 레버리지PO 최초 버젼 웹/앱 만들때 알아야할 인수 테스트 ✅ 도움이 되는 분 처음 웹/앱을 만드는 창업가웹/앱 개발을 완료하지 못하고 있는 창업가서비스 기획/PO/QA 없이 인수 테스트를 해야하는 모든 이들 🎯 핵심 질문 최초 버젼 웹앱 테스트 어떻게 할까? 🤝 전제 : 우리는 '사람'이다. 웹/앱이 시작은 했으나 완성되지 못하는 90%의 이유는 "완성"에 대한 생각이 서로 다르기 때문이에요. 즉, 웹/앱을 기획하는 사람과 구현하는 사람 사이의 간극 때문이에요. 통상적으로 창업자는 해결하고자 하는 '시장에 대한 지식'이 있지만 코드를 작성하지 못하고, 개발자는 그 지식이 없는 대신 웹/앱을 구현할 수 있는 지식이 있기 때문이에요. 우리가 웹/앱을 만들기 시작해야 할때 놓치지 말아야 할 사실이 있어요. 앱/웹에 대한 구체적이지 못한 기획을 바탕으로 내가 생각한 결과물을 만들어주는 사람은 없다라는 것이죠... ⛰️ 구체적이지 못한 해피 패스(Happy path)를 넘어⛰️ 우리는 고객이 우리앱을 “행복하게" 사용하는 시나리오만을 생각하는 경향이 있어요. 이건 어쩌면 당연해요. 그러려고 앱을 만들기 때문이죠. 하지만 앱/웹 개발을 완료하기 위해서는 매우 구체적인 생각이 필요해요. 고객이 우리앱을 행복하게 사용하는 시나리오(Happy path) 외에, 배드 패스(bad path), 새드 패스(sad path)를 정의하고, 상세한 비즈니스 로직 단위의 구체적인 정의가 필요해요. Happy, Bad, Sad path 용어 점검! happy path는 웹/앱이 우리의 예상대로 작동하는 경우를 가정한 시나리오에 ⭐️ 테스트 전에 해야할 일 : 인수 조건 협의 위해 구체적인 내용이 필요하다보니 웹/앱을 만들고자하는 창업자와 개발자 사이에 다른 그림을 그리는 함정에 빠지기 쉬워요. 프로젝트 실패의 50%가 잘못된 요구사항 계획과 커뮤니케이션 이슈로 인해 발생하기도 하죠. 이런 최악의 상황을 피하기 위해 웹/앱을 기획하는 사람과 구현하는 사람 사이에 “동일한" 그림을 서로 확인해야 해요. 그 수단이 인수조건 협의에요. 인수조건은 사용자의 조건과 상황, 그에 따른 결과로 구성되요. 쉬운 이해를 돕기 위해 위에서 언급한 가입시 이메일을 인증하는 것까지를 예시로 할게요. 인수조 🏃🏼♂️ 인수조건 협의 후 테스트 절차 🏃🏼♂️ 인수조건을 협의한 다음 UX/UI 디자인, 개발, 테스트 케이스 작성을 거쳐 테스트를 진행해요.이때 테스트하는 방식을 협의할 필요가 있는데요. 시간과 자원의 한계로 인해 초기 창업자는 "수동"으로 테스트하는 방법을 추천해요.테스트 진행은 인수 조건을 바탕으로 만들어진 테스트 케이스 문서를 바탕으로 이루어져요. 여기에서 발생하는 버그를 확인하고 버그 간 먼저 해결해야할 우선순위를 정해 해결해 나가요. 모든 테스트 케이스를 통과할 수 없기 때문에 출시까지 반드시 해결해야하는 최우선순위 버그를 메이커(디자이너... 🛬 마치며 앱/웹을 만드는 과정은 생각보다 쉽지 않아요. 인수조건 협의 부터 세부 ux 디자인, 개발, 테스트, 상용 배포까지 각자 다른 전문성을 가진 멤버들이 협업해야하는 과정이에요. 따라서, 우리가 문제라고 정의한 것을 뾰족하게 만들 수 있는 "최소한"의 인수조건이 필요해요. 현재의 기획에서 최대한 덜어내야 웹/앱의 개발 완료를 경험하실 거에요. 모든 창업자 분들 파이팅입니다. 다음 글은 테스트 실전 매뉴얼을 살펴보아요. 테스트 케이스 작성법 부터, 버그간 우선순위 정하는 법 까지 다뤄보겠습니다. ___ 📌 초기 창업가를 무료... 4 처음 웹/앱을 만드는 창업가웹/앱 개발을 완료하지 못하고 있는 창업가서비스 기획/PO/QA 없이 인수 테스트를 해야하는 모든 이들 웹 po 인수테스트 앱 2024.02.14 developer-jinnie.tistory.com 최고의 백엔드 개발자 (예정) [TIL][Test] 단위 테스트/통합 테스트/인수 테스트, 테스트 코드의 필요성 🔎 그럼 테스트 코드를 왜 써야되나요 ? Add Function 관점 신규 기능 개발 과정 중, 예상하지 못했던 문제를 미리 발견할 수 있다! 작성한 코드가 의도한 대로 동작하는지 검증할 수 있다! Refactoring 관점 단순 구조적 변경(중복 제거, 캡슐화)을 적용했을 때, 이전과 동일하게 기능이 정상 동작하는지 여부를 확인할 수 있다. 코드 수정이 필요한 상황에서 유연하고 안정적인 대응을 할 수 있다. 🔎 테스트의 종류 TEST의 종류는 테스트 대상 범위나 성격에 따라 크게 3가지로 구분된다. UI, Service(Intergration), Unit Test 등으로 구분된다. 아래 피라미드 구조를 보면, 밑으로 내려갈수록 테스트의 속도와 비용은 줄어들지만, *테스트의 크기(또는 범위)는 점점 커지는 것을 볼 수 있다! * 여기서 테스트의 크기: 테스트가 커버할 수 있는, 기능을 검증할 수 있는 크기를 말한다고 보면 됨 ✏️ 단위 테스트 (Unit Test) 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트를 말한다. 여기서 모듈은 애플리케이션을 구성하는 객체의 기능(메서드)을 의미한다. ex) 티스토리 웹페이지의 로그인 기능 중 UserID와 Password를 입력받아 회원 인증을 하는 메서드에 대한 독립적인 테스트가 1개의 단위 테스트가 될 수 있다. 즉, 단위 테스트는 하나의 메서드(혼자서 어떠한 기능을 완성시킬 수 없는 단위) 가 올바르게 작동하는지를 독립적으로 테스트 하는 것을 말한다! 단위 테스트의 장점과 단점 장점 (+) 단위 테스트는 *회귀성을 보장하기 ✏️ 통합 테스트 (Intergration Test ) 모듈을 통합하여 서로 다른 모듈 혹은 객체 간 상호작용의 유효성을 검증하는 테스트를 말한다. ex) 웹페이지의 로그인 기능을 작은 단위(모듈)로 나누면 아래와 같다. 1. UserID 및 Passwd 값에 대한 유효성 검사2. UserID 및 Passwd 기반으로 회원 여부 확인 3. Passwd 확인4. 토큰 발급 이렇게 나눠져 있는 모듈을 하나로 합쳐서 로그인 API를 만들고 테스트하는 단위를 통합 테스트라고 한다. ✏️ 인수 테스트 (UI Test) 대형 테스트로 분류되는 UI 테스트는 실제 사용자들이 사용하는 화면에 대한 테스트를 하여 서비스의 기능이 정상적으로 작동하는지 검증하는 테스트를 말한다. ex) 새롭게 추가된 티스토리 홈페이지의 로그인 기능을 Staging 환경에만 배포하고, 실제 유저가 아닌 테스트 유저 (QA or 개발자 or PM)로써 웹 브라우저를 통해서 로그인 기능을 테스트하는 것을 말한다. 인수 테스트의 경우, 배포 단계를 꼭 !!!! 거쳐야 테스트가 가능하기 때문에 많은 리소스가 소요된다. <다음 포스팅> [TIL][Test] TDD 파헤쳐보기 (개념, 대형 테스트로 분류되는 UI 테스트는 실제 사용자들이 사용하는 화면에 대한 테스트를 하여 서비스의 기능이 정상적으로 작동하는지 검증하는 테스트를 말한다. ex) 새롭게 추가된 티스토리 홈페이지의 로그인 기능을 Staging 환경에만 배포하고, 실제 유저가 아닌 테스트 유저 (QA or 개발자 or PM)로써 웹 브라우저를 통해서 로그인 기능을 테스트하는 것을 말한다. 인수 테스트의 경우, 배포 단계를 꼭 !!!! 거쳐야 테스트가 가능하기 때문에 많은 리소스가 소요된다. <다음 포스팅> [TIL][Test] TDD 파헤쳐보기 (개념, 단위테스트 유닛테스트 통합테스트 인수테스트 UI테스트 2024.03.22 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 Mobiinside 커리어 분야 크리에이터 SI 프로젝트 검수를 잘 받는 방법 검수기준을 정의한다. 확인서(또는 준공확인서)에 고객의 승인을 받기 위해서는 행정적인 요건을 충족함과 동시에 이해관계자들의 기대 수준을 충족시켜야 한다. 검수항목은 보통 계약서에 명시되기 때문에 항목자체는 이슈가 되지 않고 검수 프로세스를 구체화하기 위해 검수항목별로 검수내용, 검수방법, 검수자, 템플릿을 정의해야 한다. SI 프로젝트의 검수항목 중 이슈가 될 수 있는 내용은 ‘응용시스템’이다. 응용시스템 검수는 인수테스트 또는 통합테스트에 고객이 참여하여 요구사항이 오류 없고 불편하지 않게 작동하는지 확인하는 활동이기 때 검수항목별 검수책임자를 결정한다. 고객사의 적용조직이 큰 경우에는 동일한 업무를 지역별 또는 국가별로 검수받아야 할 수 있다. 이런 경우에는 고객 측에서 이견을 조정하고 검수와 관련된 의사결정을 할 수 있는 조직(의사결정기구)을 구성해야 한다. 예를 들어 전국에 흩어진 조직이라서 수시로 모이기 힘들면 검수 워크숍 또는 각 업무별 분과회 운영을 통해 최종 검수요건을 결정하도록 하는 것도 좋은 방안이다. 지역별로 검수를 받는 다면 시간의 문제가 발생할 뿐 아니라 지역별로 상충되는 의견을 조정하기란 불가능에 가깝다. 종료시점에 도출된 요청사항에 대한 수용기준을 협의한다. 시점에 도출된 고객 요청사항은 관점이 다르기 때문에 대응하기 힘들다. 종료시점에는 중요한 변경요청에 대해선 합의가 된 상황이어야 한다. 만일 종료시점에 규모가 큰 변경요청사항이 논의된다면 종료할 준비가 되지 않은 상태이다. 종료시점에서는 기존에 합의한 화면 개선 또는 데이터 추가와 같은 세부 요청사항이 있을 수 있다. 종료시점에 고객과 협의할 수 있는 추가 요청사항에 대한 수용기준의 예는 다음과 같다. 요청사항의 접수기한을 한정한다. 종료시점에 도출되는 요청사항은 기한을 정해야 한다. 예를 들어 통합테스트 주요 이해관계자는 개별적으로 검수에 대한 승인을 사전에 획득한다. 프로젝트를 종료해도 좋다는 최종 의사결정은 고객사 경영층이 하는 경우가 많다. 따라서 이러한 경영층에게는 운영자・사용자의 검수에 앞서 프로젝트 결과를 설명하고 검수에 대한 승인을 받는 것이 좋다. 고객 측 경영층이 검수에 긍정적인 평가를 한 상태에서 운영자・사용자 검수에 들어가면 프로젝트가 크게 흔들릴 일은 없다. 반대로, 아래로부터 개별 검수를 다 받았는데, 경영층에서 막히면 종료의 전체 구도가 틀어지는 경우가 많다. 고객 측 경영층을 만나기 전에는 경영층의 이해관계와 관심사항이 프로젝트에 어떻게 반영... 고객 측 검수 책임자와 공동의 이해관계를 형성한다. 종료시점에서 검수 책임자와 프로젝트 관리자는 사이좋은 부부처럼 일심동체가 되어 고객 측 이해관계자의 다양한 이해관계에 대응하는 것이 이상적이다. 프로젝트 팀의 프로젝트 관리자 못지않게, 고객 측 검수 책임자도 프로젝트를 잘 끝내고 싶다. 프로젝트를 잘 끝내야 각자의 조직에서 검수 책임자와 프로젝트 관리자는 좋은 평가를 받을 것이다. 먼저 프로젝트 관리자가 고객 측 검수 책임자의 입장을 최대한 배려한다는 느낌과 신뢰를 주어야 한다. 프로젝트 관리자와 검수 책임자가 같은 배에 타고 있고, 같이 안전하게 배에서... 프로젝트 종료계획을 수립한다. 프로젝트 착수 시 수립하는 프로젝트 계획 못지않게, 프로젝트 종료를 위한 계획수립도 중요하다. 늦어도 프로젝트 진척률 80퍼센트 정도 시점에서는 프로젝트 종료계획을 수립하여 종료시점까지 계속 업데이트해야 한다. 종료계획 수립 시 고려할 요소는 다음과 같다. 업무진행 현황 점검 계약서에 정의된 업무범위 대비 이행 여부, 최종 제품에 요구사항이 반영되었는지 여부는 요구사항 추적표를 활용하여 확인한다. 종료시점에 이슈가 될 수 있는 미진한 업무나 추가 요구사항도 같이 식별한다. 검수전략과 검수계획 수립 검수의... 2 확인서(또는 준공확인서)에 고객의 승인을 받기 위해서는 행정적인 요건을 충족함과 동시에 이해관계자들의 기대 수준을 충족시켜야 한다. 검수항목은 보통 계약서에 명시되기 때문에 항목자체는 이슈가 되지 않고 검수 프로세스를 구체화하기 위해 검수항목별로 검수내용, 검수방법, 검수자, 템플릿을 정의해야 한다. SI 프로젝트의 검수항목 중 이슈가 될 수 있는 내용은 ‘응용시스템’이다. 응용시스템 검수는 인수테스트 또는 통합테스트에 고객이 참여하여 요구사항이 오류 없고 불편하지 않게 작동하는지 확인하는 활동이기 때 프로젝트 종료 조직 2024.05.08 브런치스토리 검색 더보기 alexdrive.tistory.com 꾸준함의 가치를 향해 인수 테스트 핥아보기 또 한번의 시작 직후 바로 시작했던 Codesoom 멘토링 과정을 마무리하고 매우 고민이 됐었다. 코드숨 총 정리 - 8주간의 기록 더 채워가야 할 부족한 점이 뭘까? 물론 공부를 하면 할 수록 부족한 점이 계속 보이긴 했지만, 당장 급한 것이 뭘까 싶었다.퇴사 후 지금까지 했던 공부들을 되돌아보면서 문득 생각이 들었다. "내가 진짜 테스트 코드를 효율적으로 짜는 역량이 생긴건가?" "내가 복잡한 비즈니스 로직에서도 코드를 클린하게 유지할 수 있을까?" 한동안 계속 고민을 하다가 멘토님이신 이동욱(향로)님께도 고민을 털어놓았더니 아래와 같은 인수 테스트 첫 라이브 강의에서는 ATDD의 개념과 전반적인 프로세스, 인수 테스트 작성 방법 등을 학습하였다. 아래는 개념들을 학습하면서 머릿속에 정리하는 용으로 적어내려간 내용들이다. ATDD 다양한 관점을 가진 팀원(기획, 개발, QA)들과 협업을 하기 위한 애자일 방법 중 한가지 기획 단계부터 인수 테스트를 통해 공통의 이해를 도모하여 프로젝트를 진행하는 방법 모든 구성원이 결과물에 대한 싱크를 맞추고 작업에 착수하는 효과 ATDD 개발 프로세스 인수 조건 정의 → 인수 테스트 작성 → 문서화(RestDocs) → 기능 구현 → 테스트 첫 라이브 강의에서는 ATDD의 개념과 전반적인 프로세스, 인수 테스트 작성 방법 등을 학습하였다. 아래는 개념들을 학습하면서 머릿속에 정리하는 용으로 적어내려간 내용들이다. ATDD 다양한 관점을 가진 팀원(기획, 개발, QA)들과 협업을 하기 위한 애자일 방법 중 한가지 기획 단계부터 인수 테스트를 통해 공통의 이해를 도모하여 프로젝트를 진행하는 방법 모든 구성원이 결과물에 대한 싱크를 맞추고 작업에 착수하는 효과 ATDD 개발 프로세스 인수 조건 정의 → 인수 테스트 작성 → 문서화(RestDocs) → 기능 구현 → 테스트 2024.03.12 티스토리 검색 더보기 story.kakao.com parkseungchan parkseungchan - 카카오스토리 20 대한 적절성 검토 구현절차 및 방법에 대한 적절성 검토 시험일정, 시험대상에 대한 적절성 검토 인수(검사)테스트 대상 및 장소에 대한 적절성 검토 2. 시험방법별 점검사항 단위시험 - 최소 수준의 코드를 시험... 2024.05.11 카카오스토리 검색 더보기 커리어 크리에이터 보기
정보제공