본문 바로가기

테스트15

인수 테스트 (Acceptance Test) 계획서 작성하기 인수 테스트 (Acceptance Test) 위키피디아에 따르면 인수 테스트의 의미는 다음과 같다. 시스템이 실제 운영 환경에서 사용될 준비가 되었는지 최종적으로 확인하는 단계이다. 검사는 사용자가 평가하고 관리자가 점검한다. 모든 관계자가 새로운 시스템을 만족하면 시스템은 설치를 위해 정식으로 인수된다. QA로 일하면서 인수 테스트에 대해 들어는 보았지만 이번에 처음으로 인수 테스트 계획서를 작성해보게 되었다. 회사 특성상 자체 서비스를 만들다 보니 회사 외부의 다른 이해관계자를 위한 문서를 작성할 일이 크게 없었기에 회사 차원에서도 인수 테스트 를 작성한 것은 처음이였다고 한다. 그래서 회사 내의 양식은 따로 없었고 인터넷을 참고하여서 작성을 하였다. 구체적인 내용은 다른 블로그 들을 참고하면 될 것.. 2023. 9. 5.
7장 컨트롤러에서 조건부 로직 처리 (컨트롤러가 도메인의 세부사항을 모르도록 처리하자) 단위테스트 (블라디미르 코리코프) https://jonghoonpark.com/identifying-the-code-to-refactor https://jonghoonpark.com/refactoring-toward-valuable-unit-tests 에서 이어지는 글입니다. 비즈니스 로직과 오케스트레이션의 분리는 다음과 같이 비즈니스 연산이 세 단계로 있을 때 가장 효과적이다. 저장소에서 데이터 검색 비즈니스 로직 실행 데이터를 다시 저장소에 저장 그러나 이렇게 단계가 명확하지 않은 경우가 많다. 의사 결정 프로세스의 중간 결과를 기반으로 프로세서 외부 의존성에서 추가 데이터를 조회해야 할 수도 있다. 프로세스 외부 의존성 쓰기 작업도 종종 그 결과에 따라 달라진다. 이러한 상황에서는 다음과 같이 세 .. 2023. 8. 8.
소나큐브 설치하기 (with Docker, macOS) 개요 최근에 devops 님께 3개의 sonarqube 프로젝트를 생성해달라는 요청을 드렸었다. devops 님께는 항상 감사한 마음을 가지고 있다. 참 수고가 많으신 것 같다. 요청 드린것은 요청 드린 것이고 한번쯤은 직접 어떤 과정을 통해 진행되는지 확인해보고 싶었다. 참고로 소나큐브는 20개 이상의 프로그래밍 언어에서 버그, 코드 스멜, 보안 취약점을 발견할 목적으로 정적 코드 분석으로 자동 리뷰를 수행하기 위한 지속적인 코드 품질 검사용 오픈 소스 플랫폼이다 라고 위키피디아에 소개되어있다. 본문 설치 환경 이 글에서는 Docker를 이용해서 설치하며, 로컬에 설치하기 때문에 macOS 를 기반으로 설명을 진행한다. 진행 순서 1. 도커 이미지 pull & run 공식홈페이지에 이미지에 따른 pul.. 2023. 8. 2.
7장 가치 있는 단위 테스트를 위한 리팩터링 단위테스트 (블라디미르 코리코프) https://jonghoonpark.com/identifying-the-code-to-refactor 에서 이어지는 글입니다. 복잡한 코드를 알고리즘과 컨트롤러로 나눠보자. 험블 객체 패턴을 사용해 일반화 하는 방법에 대해서 알아보자. 2.1 고객 관리 시스템 소개 사용자 등록을 처리하는 고객 관리 시스템을 샘플로 한다. 모든 사용자는 데이터베이스에 저장된다. 현재 시스템은 사용자 이메일 변경이라는 단 하나의 유스케이스만 지원한다. 이 연산에는 세 가지 비즈니스 규칙이 있다. - 사용자 이메일이 회사 도메인에 속한 경우 해당 사용자는 직원으로 표시된다. 그렇지 않으면 고객으로 간주한다. - 시스템은 회사의 직원 수를 추적해야 한다. 사용자 유형이 직원에서 고객으로, 또.. 2023. 7. 28.
7장 가치 있는 단위 테스트를 위한 리팩터링 - 리팩터링할 코드 식별하기 단위테스트 (블라디미르 코리코프) 7장에서 다루는 내용 - 네 가지 코드 유형 알아보기 - 험블 객체 패턴 이해 - 가치 있는 테스트 작성 1. 리팩터링할 코드 식별하기 기반 코드를 리팩토링 하지 않고서는 테스트 스위트를 크게 개선할 수 없다. * 테스트 스위트(test suite) 소프트웨어 프로그램을 테스트하여 특정 동작 집합이 있음을 보여주기 위한 테스트 케이스 모음 a collection of test cases that are intended to be used to test a software program to show that it has some specified set of behaviors. 테스트 코드와 제품 코드는 본질적으로 관련돼 있기 때문에 다른 방도는 없다. 1.1 코드의 네.. 2023. 7. 18.
6장 단위 테스트 스타일 – 함수형 아키텍처의 단점 이해 + 6장 요약 단위테스트 (블라디미르 코리코프) 아래 내용에서 이어지는 글입니다. https://jonghoonpark.tistory.com/43 https://jonghoonpark.tistory.com/44 https://jonghoonpark.tistory.com/45 https://jonghoonpark.tistory.com/47 안타깝게도 항상 함수형 아키텍처를 이룰 수 있는 것은 아니다. 또한 함수형 아키텍처라고해도, 코드베이스가 커지고 성능에 영향을 미치면서 유지 보수성의 이점이 상쇄된다. 5.1 함수형 아키텍처 적용 가능성 감사 시스템은 결정을 내리기 전에 입력을 모두 미리 수집할 수 있으므로 함수형 아키텍처가 잘 동작했다. 그러나 종종 실행 흐름이 간단하지 않을 수 있다. 의사 결정 절차의 중간 결과에.. 2023. 7. 15.