알림

오늘 알림

알림 내용 없습니다.

지난 알림

알림 내용 없습니다.
  • 코드마인드-배너.jpg
  • HB Smith배너.png

icon커뮤니티

 

  • 답변2
    링크드인 AITEST광고.jpg 전은진
    8
    2024-12-20
  • 평양냉면은 최애 음식 중 하나이다. (앞서 냉면에 대한 글에서도 말했지만) 여러 유명한 냉면집을 다녔다. 진미평양냉면도 수 차례 방문했던 집이고, 항상 추천하는 식당에 포함되어 있는 집이다. 앞서 언급한 봉밀가도 같이 일하는 분들과 화이팅 하러 갔던 곳이지만, 진미평양냉면도 화이팅하러 갔었던 곳이다. 조금 멀지만 가는 식당은 맛이 보장된 곳이고, 그렇기에 특별한 계기가 있을 때 화이팅 하는 장소로 많이 활용된다. 진미평양냉면으로 화이팅 하러 갔을 때는 프로젝트 예산도 별도 편성되어 있어서 냉면 외에도 이 집의 추천 메뉴 중 하나인 불고기를 먹었었다. (이로 인해 회의비 예산은 바닥났다. ㅠㅠ)

    진미평양냉면의 위치는 관세청 사거리이다. 지금 명칭은 서울세관 사거리이다. 아마도 오래 전에 관세청이 있었기 때문이 관세청 사거리로 널리 알려졌는데 지금은 그 자리에 서울세관이 있어서 명칭이 변한 것 같다. 유명 사거리는 접근성이 좋아 음식점이 유명해지거나 유명한 음식점이 입지를 하는 경우가 있다.

    아주 오래 전 사거리 인근 언양불고기집에서 회식을 했던 기억이 있는데, 진미평양냉면의 불고기는 짱 맛있다. 그리고 지금은 빌딩으로 변했지만 인근에 남포면옥 강남점이 있었는데, 진미평양냉면은 냉면도 맛있다. 특히 입맛에 맞는 것은 만두이다. 정확하게 얘기하면 만두 자체보다 만두를 찍어 먹는 소스가 일품이다. 진미평양냉면의 만두 소스는 특이하고 맛있다. 꼭 먹어 보라고 권하고 싶다.
    답변0
    프로필 이미지 STEN
    14
    2024-12-16
  • 테스트 더블은 유용한 개념이지만, 객체를 대체할 수 있는 더블을 만드는 것은 쉬운 일은 아니다. 그래서 테스트 더블을 효과적으로 생성하고 관리하기 위한 다양한 도구들이 존재한다. 이런 도구들은 테스트 코드 작성을 간소화하고, 신뢰성을 높이는데 도움을 준다.

    주요 도구들은 아래와 같다.
    • Mockito (Java): 가장 널리 사용되는 Java용 모킹 프레임워크 중 하나로 자연스러운 Java 문법으로 목 객체를 생성하고, 다양한 검증 기능을 제공함.
    • Jest (JavaScript): React, Angular, Vue.js 등 JavaScript 프레임워크와 함께 자주 사용되는 테스팅 프레임워크. 내장된 모킹 기능을 제공하며, 스냅샷 테스트 기능도 지원
    • EasyMock (Java): Mockito와 함께 자주 언급되는 Java용 모킹 프레임워크. 강력한 기능을 제공하지만, Mockito에 비해 사용법이 복잡할 수 있음.
    • NSubstitute (C#): C#용 모킹 프레임워크로, 간결하고 직관적인 문법을 제공
    • Rhino Mocks (C#): 오래된 C#용 모킹 프레임워크
    • Pytest-mock (Python): Python의 Pytest 프레임워크에서 사용되는 모킹 라이브러리

    테스트 더블 도구들은 다음과 같은 기능을 가지고 있다.
    • 목 객체 생성: 인터페이스나 클래스를 기반으로 목 객체를 생성
    • 메소드 호출 검증: 특정 메소드가 호출되었는지, 어떤 인자로 호출되었는지 검증
    • 반환값 설정: 메소드 호출 시 특정 값을 반환하도록 설정
    • 예외 발생: 메소드 호출 시 예외를 발생시키도록 설정
    • 스파이 기능: 메소드 호출 횟수, 인자 등을 추적

    도구를 선택할 시 고려사항으로는
    • 프로그래밍 언어: 사용하는 프로그래밍 언어에 맞는 도구를 선택해야 하며,
    • 프레임워크: 사용하는 프레임워크와의 호환성을 고려해야 하고,
    • 기능: 필요한 기능 (예: 스파이, 스텁, 목, 검증 등)을 지원하는지 확인해야 하고,
    • 커뮤니티: 활발한 커뮤니티가 있는 도구를 선택하면 문제 해결이나 정보 획득이 용이할 수 있다.
    • 학습 곡선: 도구의 사용법이 얼마나 직관적인지 고려해야 한다. (사용이 쉬워야 한다.)
    답변0
    프로필 이미지 STEN
    15
    2024-12-13
  • 테스트 더블은 흥미 있는 개념이라 생각된다. 미완성된 시스템이라는 제한적인 상황에서 이미 만들어진 객체는 테스트를 하지 못하고 다른 객체들이 만들어질 때까지, 심하게는 시스템이 완성되어 기능을 실행해보기 전까지 테스트를 하지 못하는 경우가 있다. (업무를 하지 않은 것에 대한 일반적인 변명 중 하나가 옆부서에서 결과가 넘어오지 않아서 인것과 유사하다.//) 테스트 더블은 이런 상황에 대처할 수 있는 흥미로운 방법이다. 자동차의 충돌테스트를 하면서 사람을 태우고 할 수 없으므로 더미를 태우고 테스트를 하는 것과도 유사하다. 오히려 더미는 여러 데이터를 모을 수 있다는 장점도 있다. 더미는 테스트 더블의 종류 중 하나이기도 하다.

    주요 테스트 더블의 종류는 아래와 같은 것들이 있다.
    (아래 용어들을 이해할 수 있는 분들에게는 설명이 될 듯 하지만, ㅠㅠ)

    1. 더미(Dummy)
    • 정의: 아무런 역할을 하지 않는 객체. 단순히 함수의 인자로 전달되거나, 메소드의 파라미터로 사용될 때 주로 사용
    • 목적: 실제로 사용되지 않는 파라미터를 채우기 위한 용도로 사용
    • 예시: 함수 호출 시 필요한 모든 파라미터를 채워야 할 때, 실제 값은 중요하지 않지만 파라미터의 타입만 맞춰주면 되는 경우
    2. 스텁(Stub)
    • 정의: 특정 메소드 호출에 대해 미리 정의된 값을 반환하는 객체
    • 목적: 시스템의 다른 부분으로부터의 응답을 시뮬레이션하여 테스트를 수행하는 데 사용
    • 예시: 데이터베이스에서 특정 데이터를 조회하는 메소드를 테스트할 때, 실제 데이터베이스에 접근하지 않고 미리 정의된 값을 반환하여 테스트를 진행
    3. 스파이(Spy)
    • 정의: 객체의 상태를 추적하는 객체. 어떤 메소드가 몇 번 호출되었는지, 어떤 인자로 호출되었는지 등을 확인
    • 목적: 시스템의 행동을 관찰하고 검증하는 데 사용
    • 예시: 특정 이벤트가 발생했을 때 어떤 메소드가 호출되는지 확인하거나, 특정 메소드가 얼마나 자주 호출되는지 확인
    4. 목(Mock)
    • 정의: 가장 복잡하고 강력한 테스트 더블. 특정 메소드가 호출되었는지, 어떤 인자로 호출되었는지, 그리고 어떤 순서로 호출되었는지 등을 검증
    • 목적: 복잡한 상호 작용을 검증하고, 예상치 못한 동작을 찾아내는 데 사용
    • 예시: 여러 개의 객체 간의 상호 작용을 검증하거나, 특정 조건에서만 특정 메소드가 호출되는지 확인
    그 외 테스트 더블
    • 페이크(Fake): 실제 구현체와 비슷한 기능을 제공하지만, 모든 기능을 구현하지 않거나, 성능이 떨어지는 구현체. 예를 들어, 인메모리 데이터베이스가 실제 데이터베이스를 대체
    • 라이브(Live): 실제 시스템을 사용하는 테스트 더블. 통합 테스트나 시스템 테스트에서 사용될 수 있지만, 외부 시스템에 의존하기 때문에 테스트가 불안정해질 수 있음.

    테스트 더블 선택 가이드
    • 단순한 데이터 제공: 더미
    • 미리 정의된 값 반환: 스텁
    • 메소드 호출 여부 확인: 스파이
    • 복잡한 상호 작용 검증: 목
    • 실제 구현체와 유사한 기능 제공: 페이크
    • 실제 시스템 사용: 라이브

    어떤 테스트 더블을 선택할지는 테스트하려는 시스템의 복잡성과 테스트 목표에 따라 달라질 수 있다.
    답변0
    프로필 이미지 STEN
    21
    2024-12-12
  • (다음은 도구 개발 업체의 관점에서 작성한 자동화에 대한 글을 번역, 정리한 글 입니다. 대체로 맞는 글로 보입니다. 다만, 보이는 글만 보지 말고 행간에 있는 의도를 보시면 좋을 듯 합니다.)

    자동화의 시작과 발전

    자동화는 더 이상 선택이 아닌 필수가 된 시대입니다. 소프트웨어 개발의 복잡성이 증가하고, 시장의 요구사항이 빠르게 변화함에 따라 테스트 자동화는 효율성과 품질을 동시에 확보하기 위한 유일한 해결책이라고 할 수 있습니다. 하지만 자동화는 단순히 도구를 도입하는 것만으로 완성되는 것은 아닙니다.

    자동화의 성공적인 도입은 조직의 문화와 프로세스, 그리고 테스트 전략과 밀접하게 연관되어 있습니다. 녹화 및 재생과 같은 간단한 방법부터 AI 기반의 지능형 테스트까지 다양한 자동화 접근 방식이 존재하지만, 어떤 방법을 선택하든 테스트 대상, 개발 환경, 그리고 조직의 목표에 맞는 최적의 전략을 수립해야 합니다. 예를 들어, 빠른 피드백을 중시하는 조직은 단위 테스트 자동화에 집중하고, 안정성을 중시하는 조직은 통합 테스트 자동화에 더 많은 투자를 할 수 있습니다.

    테스트 자동화의 핵심은 지속적인 개선입니다. 초기에는 단순한 기능 검증에 초점을 맞추더라도 점차적으로 성능 테스트, 보안 테스트, 사용성 테스트 등으로 확장해야 합니다. 또한, 자동화된 테스트 결과를 분석하고 개선하여 테스트 커버리지를 높이고, 결함을 조기에 발견할 수 있도록 해야 합니다.

    테스트 자동화는 단순히 테스트 실행 시간을 단축하는 것을 넘어, 개발과 테스트 사이의 협업을 강화하고, 품질에 대한 책임감을 공유하는 문화를 조성하는 데 기여합니다. 테스트 자동화를 통해 개발자는 더 빠르게 피드백을 받고, 테스터는 반복적인 작업에서 벗어나 더 높은 수준의 테스트 설계에 집중할 수 있습니다.

    결론적으로, 자동화는 소프트웨어 개발의 패러다임을 변화시키는 강력한 도구입니다. 하지만 자동화는 목표가 아니라 수단임을 명심해야 합니다. 조직의 특성과 상황에 맞는 최적의 자동화 전략을 수립하고, 지속적인 개선을 통해 자동화의 효과를 극대화해야 합니다.

    답변0
    프로필 이미지 STEN
    14
    2024-12-10
  • 영화에서 위험한 장면을 촬영할 때 배우 대신 스턴트맨/우먼을 활용한다. 이때 배역을 대신한다는 의미에서 더블을 붙여 스턴트 더블이라고 한다. 바디 더블 (body double)이라는 용어도 비슷한 뜻으로 사용된다. 테스트 더블은 소프트웨어 개발에서 테스트를 용이하게 하기 위하여 실제 구현체 대신 사용되는 객체를 의미한다. (일전에 하네스라는 용어를 살펴봤는데, 비슷은 한데 관점이 다르다고 할 수 있다. 하네스는 연결이라는 관점을 가지고 설명한 용어라면, 더블은 복제했다는 관점을 가지고 있는 듯.)

    테스트 더블은 의존성 관리, 외부 시스템과의 결합 해소, 테스트 데이터 관리 등의 목적으로 활용되며, 그 역할과 기능에 따라 더미(dummy), 스텁(stub), 스파이(spy), 목(mock) 등이 있다. 이런 테스트 더블을 활용하면 테스트를 단순화하고, 안정성을 높이며, 속도를 빠르게 할 수 있고, 커버리지를 향상시킬 수 있다.

    반면, 용도에 맞지 않는 과도한 사용과 더블 자체의 품질, 테스트 코드가 복잡해질 수 있다는 점 등은 주의를 해야 할 점이다.

    라이언 고슬링, 에밀리 브런트 주연의 "스턴트맨"이나 봐야겠다.
    답변0
    프로필 이미지 STEN
    14
    2024-12-10
  • 강남진해장은 정확하게 말하면 성시경이 추천한 집이다. 성시경의 유튜브 영상을 본 것이 방문의 계기다. 쉽게 방문을 결정할 수 있었던 것은 강남진해장의 접근성이 좋은 입지 때문이기도 하다. 강남역 사거리에 위치한 강남진해장은 외근을 갈 때 들려서 점심을 먹고 이동하기 딱 좋다. 선릉 사무실에서 서쪽으로 이동해야 한다면 강남역을 경유하여 가는 경우가 많다. 약속이 오후로 잡힐 경우 점심을 먹고 바로 출발해야 하는데 강남진해장은 이동 중 들러서 식사를 하고 이동해도 시간적으로 큰 차이가 없다. 강남역이 환승역인 경우라면 딱 좋은 위치에 있다.

    이곳을 추천한 유튜버(?)는 전골을 추천한 듯하다. 점심으로 전골을 먹을 수는 없고 양선지해장국을 먹는다. 자주 가는 종로의 해장국과는 다른 유형의 해장국이다. 좀더 자극적이고 좀더 묵직하다고 해야 할까. 그래서 좀더 땀을 흘리게 만드는 그런 해장국이다. 선호에 따라 이용하면 좋을 듯 하다.

    몇 차례 경험한 바로는 이 집은 점심 회전이 빠르다. 붐비는 시간에 가도 줄을 많이 섰어도 빠르게 순서가 돌아와서 자리에 착석할 수 있다. 주문 후 기다리는 시간도 짧다. 오후 약속에 늦을 염려도 없었다. 그래서 이동 중 점심 식사로 선택하기도 좋다. 강남역을 지나간다면 들려서 해장국 한 그릇 추천한다.
    답변0
    프로필 이미지 STEN
    17
    2024-12-09
  • 안녕하세요. 엘리스트랙 홍보 담당자입니다 :)

    현재 저희 엘리스트랙에서 모집 중인 소프트웨어 QA 트랙의 교육자(코치) 인재풀 등록과 직무 설문 조사를 진행하고 있습니다. 금일 저녁 7시에 설문이 마감됩니다.

    STEN 커뮤니티를 찾아주시는 전문성 있는 QA 분들의 많은 참여 부탁드립니다.

    설문조사 참여 링크 : https://forms.office.com/r/gnfqKuFNnn
    엘리스 교육 파트너 참고 페이지 : https://elice.partners/
    소프트웨어 QA 교육 과정 살펴보기 : https://elice.training/track/qa


    1. 인재풀 등록시 교육자 제안 검토 가능
    2. 직무 설문조사 참여시 네이버페이 1만원 추첨 제공 (100명)

    날씨가 많이 추워졌는데, 건강 유의하시고
    즐거운 금요일 되세요!

    감사합니다.
    답변0
    프로필 이미지 STEN
    22
    2024-12-06
  • (DX와 테스트에 대한 해외 문서를 주관적으로 요약 정리한 글입니다.)

    우리는 디지털 전환의 중심에 살고 있다. 스마트폰, 사무용 앱, 모바일 뱅킹 등 일상적으로 사용하는 기술들은 모두 디지털 혁신의 산물이다. 비즈니스와 기술이 빠르게 변화함에 따라 소프트웨어 개발자들은 더 빠른 속도로 작업해야 하고, 사용자들은 이러한 속도에 적응하면서도 품질 높은 경험을 기대하고 있다. 하지만 전통적인 개발 방식으로는 이러한 요구를 충족하기 어렵다. 오래된 방식으로 작업한다면, 출시 일정은 맞출 수 있어도 품질이 저하된 소프트웨어를 제공하게 되고, 이는 사용자 불만으로 이어진다. 이를 해결하기 위해선 개발과 품질 프로세스를 병렬로 처리하고, 부서 간 사일로(silo)를 허물어야 한다.

    품질은 더 이상 특정 팀의 책임으로만 국한되지 않는다. 소프트웨어의 개발, 배포, 유지보수, 모니터링에 관여하는 모든 부서가 품질 보장에 중요한 역할을 해야 한다. 개발팀은 단위 테스트를 필수적으로 실행하고, 이를 최신 상태로 유지해야 한다. 플랫폼이 변화하고 마이크로서비스가 진화함에 따라, 관련 테스트도 유효성을 유지해야만 한다. 이는 품질의 기초를 다지는 과정이며, 이를 간과할 경우 장기적으로 더 큰 문제를 야기할 수도 있다.

    품질보증(QA) 팀 역시 변화해야 한다. 과거에는 품질 관리의 단독 책임자였지만, 이제는 품질 활동의 방법론을 정의하고 자동화를 통해 개발팀과 협력해야 하는 역할로 진화했다. QA와 개발팀은 단순히 역할을 나누는 것이 아니라, 공통의 마인드셋을 공유해야 한다. 자동화는 이 두 팀을 하나로 묶는 핵심 도구로, 단위 테스트부터 인수 테스트까지 품질 프로세스 전반을 효율화하는 데 기여할 수 있다.

    디지털 전환은 단순히 기술을 변화시키는 것이 아니라 조직 문화와 작업 방식 전반을 재정비하는 것이다. 품질은 모든 팀의 공유된 책임이라는 인식을 바탕으로, 각 부서가 역할 변화에 적극적으로 참여할 때 비로소 고객이 기대하는 수준의 디지털 제품을 제공할 수 있다. 이를 통해 조직은 더 나은 품질과 빠른 속도를 모두 달성하며, 디지털 혁신 시대의 경쟁력을 확보할 수 있을 것이다.
    답변0
    프로필 이미지 STEN
    13
    2024-12-05
  • 카나리아는 약 400년 전부터 애완용으로 사육된 되새과에 속하는 새이다. 소형 애완용 새 중에서 가장 오랜 역사를 가지고 있다고 한다. (두산백과) 카나리아는 귀여운 모습과 아름다운 털, 생동감 있는 울음소리로 사랑 받고 있다.

    조기 경보의 의미로 사용되는 말 중에 "탄광 속 카나리아"라는 말이 있다. 과거 광부들이 탄광의 유해가스를 감지하기 위하여 일산화탄소 등 유해가스에 민감한 카나리아를 탄광에 놓아두고 일을 한데서 유래가 되었다고 한다. 생동감 있는 울음소리를 전하던 카나리아가 맥없이 있으면 이상을 감지하는 방식이다.

    IT분야에서도 탄광 속의 카나리아와 같은 개념의 용어를 사용하고 있다. 일명 "Canary Release(카나리아 배포)"이다. 소프트웨어 배포 전략 중 하나로 새로운 버전의 소프트웨어나 기능을 소수의 사용자에게 먼저 배포하여 실시간으로 피드백을 받는 방식이라고 한다. 이 방법은 전체 시스템에 대한 리스크를 최소화하면서 점진적으로 배포를 진행할 수 있도록 할 수 있다. 배포 과정에서의 안전성을 확보하기 위해 사용된다.


    용어는 직관적으로 이해가 되나, 알파 배포(테스트), 베타 배포(테스트)와 뭐가 다른가라는 의문이 생긴다. 베타 테스트도 일부 사용자들을 대상으로 하는 테스트로 알고 있는데 왜 카나리아 배포를 하는가? 이 의문에 대해서는 챗과장이 정리한 표를 보시기 바랍니다. 첨부의 그림 참조//
    답변0
    프로필 이미지 STEN
    42
    2024-12-04
  • 봉밀가를 어떻게 찾았고, 어떤 계기로 방문했는지는 모르겠다. 아마도 인근을 지나는 길에 만났을 것 같고, 호기심에 갔는데 의외의 맛을 발견했을 수도 있다. 어쨌든 괜찮은 평양냉면을 제공하는 집이다.

    위치는 선릉 사무실에서 조금 멀다. 그래서 뭔가 이벤트가 있을 때만 방문했던 집이다. 특히 같이 일하는 분들과 파이팅을 해야 할 때 방문했다. 일의 성수기가 다가오면 관계자들과 힘을 내서 일해보자고 사기를 북돋우기 위하여 종종 방문을 했었다. 자주 방문하지 못했던 것은 선릉 사무실에서 버스를 타고 3정거장을 가야 하는 거리이기 때문이다. (가다 보면 왼쪽으로 이번에 월즈를 우승한 페이커가 속해 있는 T1 건물도 볼 수 있다.) 봉밀가를 처음 만났을 때는 작은 가게라고 생각했는데 지금은 매장이 3개나 있는 것 같다. (처음부터 3개였는지, 아니면 가게가 늘어났는지 정확한 사연은 모른다.)

    처음 방문했을 때는 메뉴가 비교적 단출했는데, 지금은 이것저것 많아진 느낌이다. (최근에 방문해보지 않아서 메뉴의 변경을 인터넷으로 보고 확인했다.) 기본은 역시 냉면(물국수)이고, 그 외에 만두, 곰탕, 어복쟁반 등이 있었던 것 같은데 최근 메뉴에는 미나리 냉면, 청홍탕 등이 추가된 것으로 보인다. 먹어 보지는 않았지만 추가된 메뉴들도 맛있을 것 같다.

    봉밀가는 평냉의 기본적인 맛을 가지고 있는 집이다. "파이팅!"을 위하여 같이 일하는 분들과 방문했는데 평냉에 대한 경험이 많이 없는 분들이 함께 했고, 이 분들이 평냉의 맛을 느끼기 쉽지 않았던 듯하다. 이날 느꼈던 것은 평냉은 파이팅을 위한 음식으로는 적절하지 않다는 것과 봉밀가는 기본적인 평냉의 맛을 가지고 있다는 것이다. ㅠㅠㅎㅎ
    답변0
    프로필 이미지 STEN
    14
    2024-12-02
  • 테스트 커버리지는 테스트가 수행된 정도를 확인하는 일반적인 지표로, 코드에 대한 분석을 포함한 코드 커버리지와 요구사항에 대한 테스트 정도를 측정하는 테스트 커버리지로 나눠서 설명할 수 있다. (여기서는 테스트 커버리지를 협의의 의미로, 즉 요구사항 기반 테스트 정도를 평가하는 지표로 사용한다.)

    코드 커버리지는 주로 단위 테스트와 관련된 지표로, 코드의 각 라인이나 실행 경로가 최소한 하나의 테스트 케이스에 의해 실행되었는지 여부를 측정한다. 이는 프로그램의 소스 코드가 테스트 실행 중 어느 정도 실행되었는지를 나타내며, 코드의 실행량을 간단히 측정하는 도구로 활용된다. 정량적인 지표라고 할 수 있다.

    반면, 테스트 커버리지는 테스트의 효과성을 정성적으로 측정하려는 지표로, 테스트의 양보다는 질에 초점을 맞춘다. 이는 테스트 케이스가 제품의 기능적 요구사항을 얼마나 잘 충족하는지 평가하는 데 집중하며, 전체적인 테스트 품질을 나타낸다고 할 수 있다.

    코드 커버리지는 정량적인 측정 지표로서, 코드의 각 요소(코드 줄, 함수, 분기, 조건 등)가 테스트되었는지 확인한다. 이에 반해, 테스트 커버리지는 정성적인 지표로, 요구사항, 기능, 제품, 리스크 등에 대한 테스트가 얼마나 잘 수행되었는지 평가한다. 이처럼 코드 커버리지와 테스트 커버리지는 측정 방식에서 차이가 나며, 둘의 조합이 중요하다.

    코드 커버리지는 매우 중요한 지표지만 단위테스트에 중점을 둔다는 한계가 있다. 전통적인 테스트 커버리지는 유용한 개념이지만 실제로 운영적인 측정이 어려울 수 있다. 효율적인 품질 관리를 위해서는 이 두 가지를 통합적으로 활용하는 것이 필요하다. 코드 커버리지는 내부 구조를 평가하고, 테스트 커버리지는 사용자 관점을 보완하여 소프트웨어의 전반적인 신뢰성을 높이는 데 기여할 수 있다.

    특히 대규모 프로젝트에서는 리스크 기반 접근법을 도입하여 결함 가능성이 높은 영역에 테스트 자원을 집중하는 것이 중요하다. 코드 커버리지는 코드 실행에 집중하고, 테스트 커버리지는 사용자의 요구와 제품 리스크를 중심으로 전략을 세우는 방식으로, 소프트웨어 품질을 효과적으로 관리할 수 있다.
    답변0
    프로필 이미지 STEN
    29
    2024-11-29
  • 테스트 자동화 피라미드에 대한 개념을 처음 주장했던 마이크 콘의 "The Forgotten Layer of the Test Automation Pyramid"라는 제목의 글을 아래와 같이 요약했습니다. 결론은 원문은 블로그에서 확인하세요. 결론은 중간 계층이 사라졌다고 합니다. 중간 계층도 열심히 테스트 해야 할 듯.

    (요약 글)
    테스트 자동화 피라미드의 잊혀진 계층

    테스트 자동화 피라미드는 효과적인 소프트웨어 테스트를 위해 단위 테스트, 서비스 테스트, 사용자 인터페이스(UI) 테스트의 세 가지 계층으로 구성됩니다. 이 중에서도 가장 기초가 되는 단위 테스트는 코드의 특정 부분을 개별적으로 테스트하여 문제를 빠르게 발견하고 수정할 수 있는 강력한 도구입니다. 단위 테스트는 작성 및 유지보수가 쉬우며, 개발 초기 단계에서 안정성을 확보하는 데 필수적입니다.

    테스트 자동화 피라미드의 맨 위층은 사용자 인터페이스(UI) 테스트입니다. 이는 최종 사용자 관점에서 애플리케이션의 작동 여부를 확인하는 단계로, 반드시 필요하지만 비용과 시간이 많이 들고 테스트가 취약해질 가능성이 큽니다. 따라서 UI 테스트는 최소화해야 하며, 애플리케이션의 기능을 충분히 검증하기 위해 다른 대안이 필요합니다.

    바로 이 대안이 테스트 자동화 피라미드의 중간 계층인 서비스 테스트입니다. 서비스 테스트는 단위 테스트와 UI 테스트 사이의 간극을 메우며, 애플리케이션의 서비스(기능)를 독립적으로 검증할 수 있는 효율적인 방법입니다. 예를 들어, 계산기 애플리케이션에서 곱하기와 나누기 기능을 직접 테스트하는 방식으로 UI 테스트를 대신할 수 있습니다. 그러나 많은 조직이 이 중요한 계층을 간과해, UI 테스트에 지나치게 의존하면서 비용과 시간이 증가하고 테스트가 취약해지는 문제를 초래합니다.

    테스트 자동화 피라미드에서 모든 계층은 중요한 역할을 합니다. 하지만 단위 테스트를 기반으로, 서비스 테스트를 적극 활용하며, UI 테스트를 최소화하는 균형 잡힌 전략을 통해 보다 효율적이고 견고한 테스트 자동화 체계를 구축할 수 있습니다. 서비스 테스트라는 "잊혀진 계층"을 재발견하고 이를 활용하는 것이 성공적인 테스트 자동화의 핵심입니다.
    답변0
    프로필 이미지 STEN
    21
    2024-11-28
  • 복잡한 일을 단순하게, 체계적 관리를 위한 테스트 도구의 필요성

    일을 잘 해내기 위해선 그 과정이 단순해야 한다. 현재 무엇을 해야 하는지, 지금까지 어디까지 진행되었는지, 앞으로 남은 작업은 무엇인지 명확하게 파악할 수 있다면, 일은 깔끔하게 마무리될 것이다. 그래서 우리는 종종 육하원칙(5W1H)을 외치며 복잡한 상황에서도 명료함을 추구하곤 한다.

    하지만 현실은 그렇지 않다. 일이라는 것은 본질적으로 꼬리에 꼬리를 물며 계속해서 새롭게 생겨나기 마련이다. 처음에는 작은 문제처럼 보였던 것이 쌓이고 쌓여 결국에는 복잡하고 큰 과제가 된다. 이러한 상황에서 사람들은 다시금 단순화를 시도하지만, 단순히 문제를 나누고 분업하는 것만으로는 해결되지 않는다. 여기에서 필요한 것이 바로 ‘관리’다. 복잡한 문제를 단순화하여 세분화하더라도, 이 단순화된 작업을 체계적으로 묶고 관리하지 않으면 결국 큰 그림을 완성할 수 없다.

    소프트웨어 개발의 본질적인 목표는 동작하는 프로그램을 만드는 것이다. 하지만 사용자가 나 자신뿐이라면 품질이나 신뢰도는 큰 문제가 되지 않는다. 그러나 소프트웨어 개발 환경이 커지고, 개발자와 사용자가 분리되면서 품질과 신뢰는 필수적인 요소가 되었다. 동작만 하는 프로그램은 더 이상 충분하지 않다. 이제는 높은 품질을 보장하고 사용자에게 신뢰를 주는 소프트웨어가 필요하다. 이러한 필요성이 테스트 프로세스를 만들었고, 오늘날에는 이 테스트 자체를 체계적으로 관리할 필요성 또한 대두되었다.

    여기서 우리는 질문을 던질 수 있다. 복잡한 테스트 과정을 어떻게 효과적으로 관리할 수 있을까? 모든 업무가 그렇듯, 관리 도구는 필수적이다. 예를 들어, 회계 및 재무 부서는 회계 관리 도구를, 생산 부서는 생산 관리 도구를 활용한다. 그런데 테스트 부서는 어떠한가? 종종 엑셀이나 구글시트와 같은 도구에 의존하는 경우가 많다. 이는 불공평하다. 테스트 과정 역시 체계적이고 전문적인 관리 도구를 필요로 한다.

    효과적인 테스트 관리 도구의 조건

    그렇다면 어떤 도구가 적합할까? 테스트 관리 도구는 최소한 다음과 같은 기능을 제공해야 한다.

    중앙화된 관리: 모든 테스트 활동을 한 곳에서 관리할 수 있어야 한다. 테스트 케이스 작성, 실행, 자동화, 결함 추적, 보고서 생성 등 모든 프로세스를 통합적으로 관리하여 팀원들이 동일한 정보를 공유할 수 있어야 한다.

    자동화 연계: 테스트 도구는 자동화와 연계되어 작업 속도를 높일 수 있어야 한다. 자동화된 테스트 실행뿐만 아니라, 특정 작업을 트리거하여 테스트 프로세스를 가속화할 수 있는 기능도 필요하다.

    정보 공유 및 통합: 개발자가 사용하는 프로젝트 관리 도구와 데이터를 공유할 수 있는 기능이 중요하다. 이를 통해 개발자와 테스터 간의 원활한 협업이 가능하다.

    유연성과 확장성: 테스트 도구는 다양한 요구 사항에 적응할 수 있는 유연성과 확장성을 갖춰야 한다. 기업 환경과 프로젝트 규모가 변화하더라도 지속적으로 활용할 수 있는 도구여야 한다.


    결론적으로, 복잡한 테스트 과정을 성공적으로 관리하기 위해서는 테스트 관리 도구가 필요하다. 이러한 도구는 단순히 작업을 지원하는 수준을 넘어, 팀 간 협업과 프로세스 개선을 촉진하고, 프로젝트 전반의 품질을 높이는 데 기여할 것이다. 앞으로의 테스트 환경은 더 복잡해질 것이고, 이에 맞춰 관리 도구 역시 진화해야 한다. 이제는 단순한 엑셀 시트가 아닌, 체계적이고 전문화된 테스트 관리 도구가 필요할 때다.
    답변0
    프로필 이미지 STEN
    22
    2024-11-27
  • 냉면을 언제부터 즐겨 먹기 시작했는지는 정확히 기억나지 않지만, 인상 깊게 먹었던 두 번의 기억은 확실히 남아 있다. 워낙 국수를 좋아하다 보니 냉면도 자연스럽게 좋아하게 된 듯하다. 어렸을 적 즐겨 먹던 동치미 국수와 비슷한 냉면을 좋아하게 된 건 어찌 보면 당연한 결과다. 다만, 그 시점이 애매할 뿐이다. 아마도 매체에서 평양냉면 호불호 이야기가 자주 나오던 때쯤, 남들 따라 대외적으로(?) 좋아하기 시작했던 것 같다.

    냉면에 대한 첫 기억은 겨울로, 친척을 따라 의정부의 한 냉면집을 방문했던 때다. 그때 본 장면 중 하나는 유명한 이북 출신 성악가가 소주를 곁들여 냉면을 먹던 모습이었다. 나중에 기억과 이야기를 짜 맞춰보니, 그곳이 요즘 가장 유명한 평양냉면집 중 하나인 '의정부 평양냉면'이더라. 그때 홀에는 난로가 있었고, 난로 위 주전자에서는 보리차인지 육수인지, 아니면 면수인지 모르겠지만 김이 모락모락 피어오르고 있었다.

    두 번째 기억 역시 겨울이다. 가족들과 시내 구경을 하다 들른 을지면옥에서 차가운 냉면을 따뜻한 방 안에서 먹었는데, 그때 '냉면은 겨울 음식'이라는 느낌을 받았다. 음식이라는 게 맛도 중요하지만, 함께한 추억이 더해질 때 더 오래 기억에 남는 것 같다. 어쩌다 보니 나의 인상적인 냉면 기억은 대부분 '의정부파' 냉면집과 연관이 있다. 그래서 그런지 자연스럽게 의정부파를 좋아하게 됐다. 최근 을지면옥이 이전 개업을 했다는 소식이 들리던데, 조만간 한번 가볼 생각이다.

    냉면을 즐겨 먹기 시작한 초창기에는 나름의 냉면 먹는 철학도 있었다. 냉면은 반드시 무와 함께 먹어야 한다며, "메밀에는 독이 있어서 무로 중화해야 한다"는 말을 떠들던 시절도 있었고, "냉면은 1/3은 그릇에, 1/3은 입에, 나머지 1/3은 목으로 넘어가야 한다"고 말하며 아는 척하던 적도 있었다. 그 당시엔 냉면을 멋 부리며 먹었던 게 아닌가 싶다. 가위로 냉면을 자르다 옆자리 할아버지들에게 혼난 적도 있으니 말이다.

    냉면을 좋아하는 사람들 사이에서는 어디까지 먹어봤느냐가 중요한 화제가 되기도 한다. 의정부파의 의정부 평양냉면, 을지면옥, 필동면옥은 기본이고, 장충동 평양냉면, 우래옥, 을밀대, 남포면옥, 강서면옥 등도 빠질 수 없다. 최근에는 능라도, 정인면옥, 진미평양냉면, 봉피양, 봉밀가, 서관면옥, 서북면옥 같은 집들까지 이야기에 자주 오르내린다. 물론 더 많은 집들이 입소문을 타고 있겠지만, 개인적으로 방문했던 곳은 대략 이렇다. 혹시 추천할 만한 맛집이 있다면 댓글로 알려주시길 바란다.

    냉면은 좋은 기억을 남긴 음식이다. 냉면 맛집을 찾아다니던 시절이 있었지만, 이제는 그렇게 자주 다니지 못한다. 권하거나 자랑하기보다는, 조용히 기회가 있을 때 한 그릇씩 즐기고 있다. 냉면에서 더 나아가 메밀면이라는 범위로 확장해 막국수나 모밀까지 포함해서.
    답변0
    프로필 이미지 STEN
    26
    2024-11-25

처음 이전페이지 1 2 3 4 5 6 7 8 9 10 다음페이지 마지막 

  • 시험성적서 배너.png
  • MTA자동화 배너.png