Dynamo
Primer for v2.0
한국어
한국어
  • 정보
  • 소개
    • Dynamo의 정의 및 작동 방식
    • Primer 사용자 안내서, Dynamo Community 및 플랫폼
  • Dynamo 설정
  • 사용자 인터페이스
    • 작업공간
    • 라이브러리
  • 노드 및 와이어
  • 필수 노드 및 개념
    • 노드의 색인
    • 계산 방식 설계를 위한 형상
      • 형상 개요
      • 벡터, 평면 및 좌표계
      • 점
      • 곡선
      • 표면
      • 솔리드
      • 메쉬
    • 프로그램의 빌딩 블록
      • 데이터
      • 수학
      • 논리
      • 문자열
      • 색상
    • 리스트로 설계
      • 리스트란 무엇입니까?
      • 리스트 작업
      • 리스트의 리스트
      • n차원 리스트
    • Dynamo의 사전
      • 사전이란
      • 사전 노드
      • 코드 블록의 사전
      • Revit 사용 사례
  • 사용자 노드 및 패키지
    • 사용자 노드
      • 사용자 노드 소개
      • 사용자 노드 작성
      • 라이브러리에 게시
    • 패키지
      • 패키지 소개
      • 패키지 성공 사례 - Mesh Toolkit
      • 패키지 개발
      • 패키지 게시하기
      • Zero-Touch 가져오기
  • Revit용 Dynamo
    • Revit 연결
    • 선택
    • 편집
    • 작성
    • 사용자화
    • 문서화
  • Dynamo for Civil 3D
    • Civil 3D 연결
    • 시작하기
    • 노드 라이브러리
    • 샘플 워크플로우
      • 도로
        • 등주 배치
      • 토지
        • 서비스 배치
      • 유틸리티
        • 구조물 이름 바꾸기
      • 레일
        • 클리어런스 엔벨로프
      • 측량
        • 점 그룹 관리
    • 고급 항목
      • 객체 바인딩
      • Python 및 Civil 3D
    • Dynamo 플레이어
    • 유용한 패키지
    • 리소스
  • Dynamo의 코딩
    • 코드 블록과 DesignScript
      • Code Block이란
      • DesignScript 구문
      • 축약형
      • 함수
    • DesignScript를 사용한 형상
      • DesignScript 형상 기본 사항
      • 기하학적 원형
      • 벡터 수학
      • 곡선: 보간 및 제어점
      • 전환, 회전 및 기타 변환
      • 표면: 보간, 제어점, 로프트, 회전
      • 기하학적 매개변수화
      • 교차 및 자르기
      • 기하학적 부울
      • Python 점 생성기
    • Python
      • Python 노드
      • Python 및 Revit
      • 자체 Python 템플릿 설정
    • 언어 변경 사항
  • 모범 사례
    • 그래프 전략
    • 스크립팅 전략
    • 스크립팅 참조
    • 프로그램 관리
    • Dynamo에서 대규모 데이터 세트로 효율적으로 작업
  • 샘플 워크플로우
    • 시작하기 워크플로우
      • 파라메트릭 꽃병
      • 어트랙터 점
    • 개념 색인
  • 개발자 입문서
    • 소스에서 Dynamo 빌드하기
      • 소스에서 DynamoRevit 빌드하기
      • Dynamo의 종속성 관리 및 업데이트
    • Dynamo를 위한 개발
      • 시작하기
      • Zero-Touch 사례 연구 - 그리드 노드
      • Zero-Touch 노드에서 Python 스크립트 실행하기(C#)
      • Zero-Touch로 한 단계 더 나아가기
      • 고급 Dynamo 노드 사용자 정의
      • Dynamo 패키지에서 COM(interop) 유형 사용
      • NodeModel 사례 연구 - 사용자 지정 UI
      • Dynamo 2.x용 패키지 및 Dynamo 라이브러리 업데이트하기
      • Dynamo 3.x용 패키지 및 Dynamo 라이브러리 업데이트하기
      • 확장
      • Dynamo 2.0+에 대한 사용자 패키지 구성 정의
      • Dynamo 명령행 인터페이스
      • Dynamo 통합
      • Revit용 Dynamo을 위한 개발
      • 패키지 게시하기
      • Visual Studio에서 패키지 빌드하기
      • 패키지로 제공되는 확장
    • 끌어오기 요청
    • 테스트 기대치
    • 예제
  • 부록
    • 질문과 대답(FAQ)
    • 시각적 프로그래밍 및 Dynamo
    • 리소스
    • 릴리즈 정보
    • 유용한 패키지
    • 예제 파일
    • 호스트 통합 맵
    • PDF 다운로드
    • Dynamo 키보드 바로 가기
Powered by GitBook
On this page
  • 유닛 테스트
  • 시스템 테스트
Edit on GitHub
Export as PDF
  1. 개발자 입문서

테스트 기대치

이 페이지에서는 Dynamo에 추가되는 새 코드 테스트에 대해 무엇을 기대할 수 있는지 설명합니다.

자, 추가하려는 새 노드가 있다고 생각해 보겠습니다. 멋지죠. 이제 몇 가지 테스트를 추가할 차례입니다. 테스트를 추가하는 데에는 두 가지 이유가 있습니다.

  1. 이는 작동하지 않는 부분을 찾는 데 도움이 됩니다.

  2. 누군가 노드를 손상시키는 어떤 부분을 변경하면 테스트에 실패해야 합니다. 그러면 테스트 실패를 야기한 사람이 이 문제를 해결해야 합니다. 그러나 테스트에 실패하지 않는다면 이후 해당 문제로 인해 사용자의 모델이 손상되면 책임은 주로 여러분이 지게 됩니다.

Dynamo의 테스트는 크게 유닛 테스트와 시스템 테스트의 두 가지 유형으로 나뉩니다.

유닛 테스트

유닛 테스트는 가능한 한 적게 테스트해야 합니다. C# zero touch 노드를 통해 제곱근을 계산하는 노드를 빌드한 경우 유닛 테스트는 해당 DLL만 테스트하고 C#은 해당 코드로 직접 호출해야 합니다. 유닛 테스트에는 Dynamo가 포함되지 않아야 합니다.

유닛 테스트에는 다음 테스트를 포함해야 합니다.

  • 정상 테스트(정상적인 상황에서 잘 작동하는지 확인)

  • 비정상 테스트(잘못 입력할 경우 큰 오류가 발생하지 않는지 확인)

  • 회귀 테스트(누군가 코드에서 버그를 발견하면 해당 버그가 재발하지 않도록 테스트 작성)

이러한 테스트는 소규모로 빠르게 실행되며 신뢰할 수 있어야 합니다. 대부분의 테스트는 유닛 테스트여야 합니다.

시스템 테스트

시스템 테스트는 여러 구성요소에 대해 작동하고 구성요소가 함께 얼마나 잘 작동하는지 테스트합니다. 따라서 신중하게 사용하고 작성해야 합니다.

그 이유는 무엇입니까? 실행하는 데 비용이 많이 듭니다. 대기 시간을 가능한 한 짧게 두고 테스트 도구 모음을 계속 실행해야 합니다.

가장 좋은 방법은 상호 작용하는 블록 세트를 늘리면서 일련의 테스트를 점진적으로 실행하는 것입니다. 그래야 테스트에 실패하기 시작하면 문제가 어디서 발생했는지 매우 빠르게 찾을 수 있습니다.

시스템 테스트가 필요한 부분의 예:

  • 단일 요소가 아닌 추적에 여러 요소를 저장하는 새로운 유형의 Revit 노드

  • 데이터를 다르게 표시하는 새로운 감시 노드

시스템 테스트가 필요 없는 사항의 예:

  • 새로운 수학 노드

  • 문자열 처리 라이브러리

시스템 테스트는 다음과 같아야 합니다.

  • 올바르게 작동하는지 확인

  • 비정상적으로 작동하지 않는지 확인(예: 예외 없음)

Previous끌어오기 요청Next예제

Last updated 2 months ago

시스템 테스트를 작성할 때 가장 먼저 해야 할 일은 다이어그램을 살펴보고 어떤 하위 시스템을 포함할지 파악하는 것입니다.

이