검색 본문
starting-coding.tistory.com 생각하고 정리하는 곳 ATDD, 클린 코드 with Spring 과정을 통해 배운 인수 테스트(Acceptance Test) 인수 테스트(Acceptance Test) 본 포스팅은 ATDD, 클린 코드 with Spring에서 경험한 E2E(API) 테스트 기반의 인수 테스트에 대한 내용을 소개합니다. 독자분들에게 미리 말씀드립니다. 인수 테스트가 만능이다? 인수 테스트를 무조건 작성해야 한다? 절대 아닙니다!!! 인수 테스트란? 인수 테스트에 대해 이야기하기 전... 2024.03.08 블로그 검색 더보기 테스트 격리: 인수 테스트에서 사용했던 방법 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 회고 alexdrive.tistory.com 꾸준함의 가치를 향해 인수 테스트 핥아보기 또 한번의 시작 직후 바로 시작했던 Codesoom 멘토링 과정을 마무리하고 매우 고민이 됐었다. 코드숨 총 정리 - 8주간의 기록 더 채워가야 할 부족한 점이 뭘까? 물론 공부를 하면 할 수록 부족한 점이 계속 보이긴 했지만, 당장 급한 것이 뭘까 싶었다.퇴사 후 지금까지 했던 공부들을 되돌아보면서 문득 생각이 들었다. "내가 진짜 테스트 코드를 효율적으로 짜는 역량이 생긴건가?" "내가 복잡한 비즈니스 로직에서도 코드를 클린하게 유지할 수 있을까?" 한동안 계속 고민을 하다가 멘토님이신 이동욱(향로)님께도 고민을 털어놓았더니 아래와 같은 인수 테스트 첫 라이브 강의에서는 ATDD의 개념과 전반적인 프로세스, 인수 테스트 작성 방법 등을 학습하였다. 아래는 개념들을 학습하면서 머릿속에 정리하는 용으로 적어내려간 내용들이다. ATDD 다양한 관점을 가진 팀원(기획, 개발, QA)들과 협업을 하기 위한 애자일 방법 중 한가지 기획 단계부터 인수 테스트를 통해 공통의 이해를 도모하여 프로젝트를 진행하는 방법 모든 구성원이 결과물에 대한 싱크를 맞추고 작업에 착수하는 효과 ATDD 개발 프로세스 인수 조건 정의 → 인수 테스트 작성 → 문서화(RestDocs) → 기능 구현 → 테스트 첫 라이브 강의에서는 ATDD의 개념과 전반적인 프로세스, 인수 테스트 작성 방법 등을 학습하였다. 아래는 개념들을 학습하면서 머릿속에 정리하는 용으로 적어내려간 내용들이다. ATDD 다양한 관점을 가진 팀원(기획, 개발, QA)들과 협업을 하기 위한 애자일 방법 중 한가지 기획 단계부터 인수 테스트를 통해 공통의 이해를 도모하여 프로젝트를 진행하는 방법 모든 구성원이 결과물에 대한 싱크를 맞추고 작업에 착수하는 효과 ATDD 개발 프로세스 인수 조건 정의 → 인수 테스트 작성 → 문서화(RestDocs) → 기능 구현 → 테스트 2024.03.12 테스트 방식에 대한 고찰 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] 단위 테스트/통합 테스트/인수 테스트, 테스트 코드의 필요성 기능이 정상적으로 작동하는지 검증하는 테스트를 말한다. ex) 새롭게 추가된 티스토리 홈페이지의 로그인 기능을 Staging 환경에만 배포하고, 실제 유저가 아닌 테스트 유저 (QA or 개발자 or PM)로써 웹 브라우저를 통해서 로그인 기능을 테스트하는 것을 말한다. 인수 테스트의 경우, 배포 단계를 꼭 !!!! 거쳐야... 단위테스트 유닛테스트 통합테스트 인수테스트 UI테스트 2024.03.22 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 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 story.kakao.com parkseungchan parkseungchan - 카카오스토리 20 대한 적절성 검토 구현절차 및 방법에 대한 적절성 검토 시험일정, 시험대상에 대한 적절성 검토 인수(검사)테스트 대상 및 장소에 대한 적절성 검토 2. 시험방법별 점검사항 단위시험 - 최소 수준의 코드를 시험... 2024.02.07 카카오스토리 검색 더보기 brunch.co.kr Ruth Hyojin Nam 테스트 크기에 따라 테스트 커버리지 선정하기 선정할 수 있습니다. ◼︎ Large Size Test 신규 출시Brand new 소프트웨어 - 시스템 전체에 대한 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트 기능 테스트, 비기능 테스트, 스모크 테스트, 리그레션 테스트 large size test는 한번도 출시된 적 없는, 품질에 대한 검증이 이뤄지지 않은 전체 소프트웨어에 대한... 테스트 선정 크기 2024.03.28 브런치스토리 검색 더보기
정보제공