
버그 리포트 작성 가이드: 완벽한 버그 리포트 작성을 위한 첫걸음
소프트웨어 개발 과정에서 버그는 피할 수 없는 존재입니다. 완벽한 코드는 존재하지 않으며, 모든 소프트웨어는 개발, 배포, 사용 과정에서 예상치 못한 문제에 직면할 수 있습니다. 이러한 버그를 발견하고, 정확하게 보고하고, 효율적으로 해결하는 것은 소프트웨어 품질을 유지하고 향상시키는 데 매우 중요합니다. 이 가이드는 버그 리포트를 작성하는 데 필요한 모든 것을 다룹니다. 특히, 처음 버그 리포트를 작성하는 분들을 위해, 버그 리포트의 중요성, 구성 요소, 효과적인 작성 방법, 그리고 실제 예시를 통해 버그 리포트 작성을 마스터할 수 있도록 돕습니다. 좋은 버그 리포트는 개발자가 문제를 신속하게 이해하고 해결하는 데 필요한 모든 정보를 제공합니다. 반대로, 불명확하고 불완전한 버그 리포트는 문제 해결을 지연시키고, 시간 낭비를 초래하며, 심지어 버그를 방치하게 만들 수도 있습니다.
버그 리포트의 중요성: 왜 정확한 보고가 중요한가?
버그 리포트는 단순히 문제를 지적하는 것을 넘어, 소프트웨어 품질 관리의 핵심적인 부분입니다. 효과적인 버그 리포트는 다음과 같은 중요한 역할을 합니다:
- 문제의 정확한 식별 및 재현: 정확한 버그 리포트는 개발자가 문제를 정확하게 이해하고, 동일한 환경에서 문제를 재현할 수 있도록 돕습니다. 이는 문제 해결의 첫 번째 단계이며, 문제의 근본 원인을 파악하는 데 필수적입니다.
- 효율적인 문제 해결: 잘 작성된 버그 리포트는 개발자가 문제 해결에 필요한 모든 정보를 제공하여 문제 해결 시간을 단축합니다. 불필요한 질문과 추가적인 정보 요청을 줄여 개발자의 업무 효율성을 높입니다.
- 소프트웨어 품질 향상: 보고된 버그는 수정되고, 수정된 버그는 소프트웨어의 안정성과 사용성을 향상시킵니다. 버그 리포트를 통해 얻은 정보는 향후 개발 과정에서 유사한 문제를 예방하는 데에도 활용될 수 있습니다.
- 의사 소통 촉진: 버그 리포트는 개발팀, 테스터, 기획자 등 관련자 간의 효과적인 의사 소통을 위한 중요한 도구입니다. 명확한 정보를 바탕으로 서로의 이해도를 높이고, 협업을 원활하게 합니다.
- 개발 프로세스 개선: 버그 리포트를 통해 얻은 데이터는 개발 프로세스를 개선하고, 더 나은 개발 방식을 모색하는 데 기여합니다. 예를 들어, 특정 기능에서 버그가 자주 발생한다면, 해당 기능의 설계나 구현 방식을 재검토할 수 있습니다.
버그 리포트의 중요성을 이해하는 것은, 버그 리포트를 단순히 귀찮은 절차가 아닌, 소프트웨어 개발의 핵심적인 부분으로 인식하는 데 도움을 줍니다. 버그 리포트에 대한 깊이 있는 이해는 소프트웨어 품질 향상에 기여하고, 궁극적으로 사용자 만족도를 높이는 데 중요한 역할을 합니다.
버그 리포트의 구성 요소: 무엇을 포함해야 하는가?
효과적인 버그 리포트는 다음의 주요 구성 요소를 포함합니다. 각 요소는 문제의 정확한 이해와 해결에 필수적인 정보를 제공합니다.
- 제목 (Summary/Title): 버그의 핵심을 간결하고 명확하게 요약합니다. 제목은 문제의 본질을 빠르게 파악할 수 있도록 돕는 역할을 합니다.
- 설명 (Description): 버그가 발생한 상황, 발생 조건, 예상되는 결과, 실제 발생한 결과를 자세하게 설명합니다. 문제의 재현에 필요한 모든 정보를 포함해야 합니다.
- 재현 단계 (Steps to Reproduce): 버그를 재현하기 위한 구체적인 단계를 순서대로 명시합니다. 이 단계들을 따라하면 누구든 동일한 문제를 재현할 수 있어야 합니다.
- 예상 결과 (Expected Result): 버그가 발생하지 않았을 경우, 예상되는 올바른 결과를 명확하게 설명합니다.
- 실제 결과 (Actual Result): 실제로 발생한 잘못된 결과를 상세하게 설명합니다. 오류 메시지, 화면 캡처, 로그 파일 등을 포함할 수 있습니다.
- 환경 정보 (Environment Information): 버그가 발생한 환경에 대한 정보를 제공합니다. 운영 체제, 브라우저 버전, 기기 정보, 소프트웨어 버전 등을 포함합니다.
- 심각도 (Severity): 버그가 소프트웨어에 미치는 영향의 정도를 나타냅니다. (예: Critical, Major, Minor, Trivial)
- 우선 순위 (Priority): 버그 수정의 우선 순위를 나타냅니다. (예: High, Medium, Low)
- 첨부 파일 (Attachments): 버그를 이해하고 재현하는 데 도움이 되는 스크린샷, 화면 녹화, 로그 파일 등을 첨부합니다.
- 추가 정보 (Additional Information): 버그와 관련된 추가적인 정보, 예를 들어, 버그 발생 시점, 버그 발생 빈도, 특정 사용자에게만 발생하는 문제인지 여부 등을 포함할 수 있습니다.
각 구성 요소의 중요성을 이해하고, 문제 발생 시 이러한 요소들을 꼼꼼하게 채우는 것이 완벽한 버그 리포트를 작성하는 핵심입니다. 다음 섹션에서는 각 구성 요소를 효과적으로 작성하는 방법에 대해 자세히 알아보겠습니다.
“`
“`html
버그 리포트 작성 완벽 가이드
소프트웨어 개발 과정에서 버그는 피할 수 없는 존재입니다. 효과적인 버그 관리는 개발 프로세스의 효율성을 크게 향상시키고, 최종 제품의 품질을 보장하는 데 필수적입니다. 이 가이드에서는 버그 리포트를 정확하고 효과적으로 작성하는 방법을 자세히 다룹니다. 버그 리포트는 단순히 문제점을 보고하는 것을 넘어, 개발자가 문제를 이해하고 빠르게 해결할 수 있도록 돕는 중요한 소통 수단입니다. 잘 작성된 버그 리포트는 시간과 노력을 절약하고, 개발 팀의 생산성을 높이며, 궁극적으로 더 나은 소프트웨어를 만드는 데 기여합니다.
1. 버그 리포트의 중요성
버그 리포트는 개발 과정에서 다음과 같은 중요한 역할을 합니다:
- 문제 식별 및 기록: 버그 리포트는 발견된 문제를 체계적으로 기록하고, 문제의 상세 정보와 발생 조건을 명확하게 제시합니다.
- 문제 해결 지원: 정확한 정보를 통해 개발자가 문제를 쉽게 이해하고 해결 방법을 찾도록 돕습니다.
- 품질 보증: 버그 리포트를 통해 품질 관리 프로세스를 개선하고, 소프트웨어의 안정성을 높일 수 있습니다.
- 지식 공유: 과거 버그 리포트는 유사한 문제 발생 시 참고 자료로 활용되어 문제 해결 시간을 단축하고, 개발 효율성을 높입니다.
- 프로젝트 관리: 버그 리포트의 통계를 통해 프로젝트 진행 상황을 파악하고, 필요한 자원 및 일정 관리를 할 수 있습니다.
2. 효과적인 버그 리포트의 구성 요소
효과적인 버그 리포트는 다음과 같은 핵심 구성 요소를 갖추고 있습니다.
2.1. 요약 (Summary)
요약은 버그 리포트의 핵심을 간결하게 나타내는 부분입니다. 문제의 본질을 명확하고 짧게 설명해야 합니다. 요약만 보고도 문제의 내용과 심각성을 파악할 수 있도록 작성하는 것이 중요합니다.
- 구체적이고 명확하게: 문제의 핵심을 간결하게 표현합니다.
- 동사 + 명사 형태로: 예: “로그인 실패” 대신 “사용자 로그인 시 오류 발생”
- 심각성을 포함: 문제의 심각성을 간략하게 나타냅니다. 예: “치명적 오류 – 주문 불가능”
나쁜 예: “무언가 잘못됨” / “에러 발생”
좋은 예: “사용자 프로필 페이지 로딩 실패 – NullPointerException 발생”
2.2. 설명 (Description)
설명은 버그의 상세 정보를 제공하는 부분입니다. 문제의 재현 방법, 발생 조건, 예상 결과와 실제 결과를 자세하게 기술해야 합니다. 다음 질문에 대한 답을 포함하는 것이 좋습니다.
- 무엇(What): 문제의 구체적인 내용
- 어떻게(How): 문제를 재현하는 단계
- 언제(When): 문제가 발생한 시점 (날짜, 시간, 빈도 등)
- 어디서(Where): 문제 발생 위치 (URL, 페이지, 기능 등)
- 왜(Why): 가능한 원인 (추측 가능)
설명 예시:
1. 사용자 계정으로 로그인합니다.
2. 프로필 페이지로 이동합니다.
3. 프로필 페이지가 로딩되지 않고, “500 Internal Server Error” 메시지가 표시됩니다.
4. 이 문제는 Chrome 브라우저에서만 발생하며, 다른 브라우저에서는 정상적으로 작동합니다.
5. 서버 로그를 확인한 결과, 데이터베이스 연결 오류가 발생한 것으로 보입니다.
2.3. 재현 단계 (Steps to Reproduce)
재현 단계는 버그를 정확하게 재현하기 위한 일련의 단계입니다. 이 단계를 따라하면 다른 개발자도 동일한 문제를 확인할 수 있습니다. 단계는 명확하고 구체적이어야 하며, 불필요한 단계는 제거합니다.
- 단계별로 명확하게: 각 단계를 숫자 또는 불릿 포인트로 구분하여 명확하게 작성합니다.
- 구체적인 동작: 클릭, 입력, 선택 등 구체적인 동작을 포함합니다.
- 정확한 정보: 입력해야 할 값, 선택해야 할 옵션 등을 정확하게 명시합니다.
재현 단계 예시:
- 웹 브라우저를 엽니다.
https://www.example.com/login페이지로 이동합니다.- 사용자 이름 필드에 “testuser”를 입력합니다.
- 비밀번호 필드에 “password123″을 입력합니다.
- “로그인” 버튼을 클릭합니다.
- 예상 결과: 사용자가 메인 페이지로 리디렉션됩니다.
- 실제 결과: “잘못된 사용자 이름 또는 비밀번호” 오류 메시지가 표시됩니다.
2.4. 예상 결과 (Expected Result)
예상 결과는 버그가 발생하지 않았을 때 기대되는 동작입니다. 개발자가 문제의 의도를 이해하고, 버그의 영향을 파악하는 데 도움이 됩니다. 가능한 한 구체적으로 작성합니다.
예상 결과 예시:
사용자가 성공적으로 로그인하고, 메인 페이지로 이동해야 합니다.
2.5. 실제 결과 (Actual Result)
실제 결과는 버그가 발생했을 때 나타나는 동작입니다. 예상 결과와 실제 결과를 비교하여 문제의 범위를 파악하고, 해결책을 찾는 데 도움을 줍니다.
실제 결과 예시:
“잘못된 사용자 이름 또는 비밀번호” 오류 메시지가 표시되고, 로그인에 실패합니다.
2.6. 환경 정보 (Environment)
환경 정보는 버그가 발생한 환경에 대한 정보입니다. 운영체제, 브라우저, 기기, 소프트웨어 버전 등 버그 재현에 필요한 정보를 포함합니다.
- 운영체제: Windows 10, macOS Monterey, Ubuntu 20.04 등
- 브라우저: Chrome 98.0.4758.102, Firefox 97.0, Safari 15.0 등
- 기기: iPhone 13 Pro, Samsung Galaxy S21, 데스크탑 PC 등
- 소프트웨어 버전: 앱 버전, 라이브러리 버전 등
환경 정보 예시:
- 운영체제: Windows 10 Pro (64-bit)
- 브라우저: Chrome 98.0.4758.102
- 애플리케이션 버전: 1.2.3
2.7. 첨부 파일 (Attachments)
첨부 파일은 버그의 이해를 돕기 위한 이미지, 스크린샷, 로그 파일, 비디오 등을 포함합니다. 시각적인 자료는 문제를 명확하게 전달하고, 개발자가 빠르게 이해하는 데 도움이 됩니다.
- 스크린샷: 오류 메시지, UI 이상 등을 캡처하여 첨부합니다.
- 로그 파일: 서버 로그, 콘솔 로그 등을 첨부하여 문제의 원인을 파악합니다.
- 비디오: 문제의 재현 과정을 녹화하여 첨부합니다.
3. 효과적인 버그 리포트 작성 팁
- 간결하고 명확하게: 불필요한 내용은 제거하고, 핵심 정보만 전달합니다.
- 객관적인 언어 사용: 주관적인 표현이나 감정적인 표현은 지양하고, 사실을 기반으로 작성합니다.
- 문제의 심각성 파악: 문제의 심각성을 정확하게 파악하고, 우선순위를 결정합니다. (예: Critical, Major, Minor, Trivial)
- 재현 가능성 확보: 재현 단계를 정확하게 작성하여 다른 개발자가 쉽게 문제를 재현할 수 있도록 합니다.
- 버그 추적 시스템 활용: Jira, Bugzilla 등 버그 추적 시스템을 사용하여 버그를 효율적으로 관리합니다.
- 동료 검토: 작성한 버그 리포트를 동료 개발자에게 검토받아 오해의 소지를 줄입니다.
- 정기적인 업데이트: 버그의 상태가 변경될 때마다(예: 수정됨, 재현 불가, 중복) 버그 리포트를 업데이트합니다.
- 코드 스니펫 사용: 코드 관련 버그라면 코드 스니펫을 사용하여 문제 부분을 명확하게 표시합니다. (
예: int x = 5;)
4. 버그 리포트 예시
다음은 효과적인 버그 리포트의 예시입니다.
요약
사용자 로그인 시 “잘못된 사용자 이름 또는 비밀번호” 오류 발생
설명
사용자가 올바른 자격 증명으로 로그인하려 할 때, “잘못된 사용자 이름 또는 비밀번호” 오류가 표시되고 로그인이 실패합니다. 이 문제는 특정 사용자 계정에서만 발생합니다.
재현 단계
- 웹 브라우저를 엽니다.
https://www.example.com/login페이지로 이동합니다.- 사용자 이름 필드에 “testuser123″을 입력합니다.
- 비밀번호 필드에 “password123″을 입력합니다.
- “로그인” 버튼을 클릭합니다.
예상 결과
사용자가 성공적으로 로그인하고, 메인 페이지로 이동합니다.
실제 결과
“잘못된 사용자 이름 또는 비밀번호” 오류 메시지가 표시되고, 로그인에 실패합니다.
환경 정보
- 운영체제: Windows 10 Pro (64-bit)
- 브라우저: Chrome 98.0.4758.102
- 애플리케이션 버전: 1.2.3
첨부 파일
스크린샷 (로그인 실패 시 오류 메시지 캡처)
5. 자주 묻는 질문 (FAQ)
Q: 버그 리포트를 작성할 때 가장 중요한 것은 무엇인가요?
A: 정확하고 완전한 정보를 제공하여, 개발자가 문제를 쉽게 이해하고 재현할 수 있도록 하는 것입니다.
Q: 버그 리포트에 얼마나 많은 시간을 투자해야 하나요?
A: 버그의 심각성과 복잡성에 따라 다르지만, 일반적으로 문제를 정확하게 설명하고 재현 단계를 명확하게 작성하는 데 충분한 시간을 투자해야 합니다. 시간 투자는 결국 문제 해결 시간을 단축하고, 더 나은 제품 품질을 만드는 데 기여합니다.
Q: 버그 리포트에 모든 오류를 다 보고해야 하나요?
A: 심각도에 따라 다릅니다. 사소한 오류는 보고하지 않아도 되지만, 사용자 경험에 영향을 미치거나 시스템에 문제를 일으킬 가능성이 있는 오류는 보고하는 것이 좋습니다. 팀 내에서 버그 보고 기준을 정하는 것이 좋습니다.
Q: 버그 리포트 작성 시 어려움이 있다면 어떻게 해야 하나요?
A: 동료 개발자에게 도움을 요청하거나, 팀 내에서 버그 리포트 작성 가이드를 공유하고, 샘플 리포트를 참고하는 것이 좋습니다. 또한, 버그 리포트 작성에 대한 교육을 받는 것도 도움이 될 수 있습니다.
이 가이드가 효과적인 버그 리포트를 작성하는 데 도움이 되기를 바랍니다. 버그 리포트는 소프트웨어 개발의 핵심적인 부분이며, 꼼꼼하고 정확한 보고는 개발 팀의 성공에 필수적입니다.
“`
“`html
버그 리포트 작성 가이드: 결론
본 가이드에서는 효과적인 버그 리포트를 작성하는 방법에 대해 자세히 살펴보았습니다. 버그 리포트는 단순히 문제점을 보고하는 것을 넘어, 개발팀이 문제를 정확하게 이해하고, 재현하고, 해결할 수 있도록 돕는 중요한 소통 수단입니다. 잘 작성된 버그 리포트는 개발 과정의 효율성을 높이고, 제품의 품질을 향상시키는 데 결정적인 역할을 합니다. 이제까지 설명한 모든 내용을 바탕으로, 이 가이드의 결론 부분을 통해 버그 리포트 작성의 중요성과 핵심 사항을 다시 한번 강조하고, 실질적인 조언을 제공하고자 합니다.
결론: 완벽한 버그 리포트를 위한 최종 점검
버그 리포트 작성은 개발 프로세스의 핵심적인 부분입니다. 잘 작성된 버그 리포트는 다음과 같은 중요한 이점을 제공합니다:
- 문제 해결 시간 단축: 명확하고 구체적인 정보는 개발자가 문제를 빠르게 이해하고 해결할 수 있도록 돕습니다.
- 재현 가능성 향상: 상세한 재현 단계는 개발자가 버그를 쉽게 재현하여 문제를 확인하고 수정할 수 있도록 합니다.
- 의사소통 효율성 증대: 명확한 언어와 형식은 개발자와 테스터 간의 효과적인 의사소통을 가능하게 합니다.
- 제품 품질 향상: 버그 리포트는 제품의 문제점을 식별하고 수정하여 전체적인 품질을 향상시킵니다.
이제, 버그 리포트 작성 시 최종적으로 점검해야 할 사항들을 살펴보겠습니다.
1. 명확성 (Clarity)
버그 리포트는 이해하기 쉬워야 합니다. 모호한 표현이나 전문 용어의 남용은 피하고, 간결하고 명확한 문장을 사용하여 문제를 설명해야 합니다. 예를 들어, “프로그램이 가끔 멈춥니다” 대신 “사용자가 특정 버튼을 클릭한 후 3초 이내에 프로그램이 응답하지 않고 멈춥니다” 와 같이 구체적으로 작성해야 합니다. 대상 독자는 개발팀이므로, 기술적인 전문 용어 사용은 허용되지만, 최대한 일반적인 용어를 사용하여 모든 사람이 이해할 수 있도록 노력해야 합니다.
나쁜 예시: “UI에서 렌더링 문제가 발생했습니다.”
좋은 예시: “사용자가 로그인 후 프로필 페이지를 로드할 때, 프로필 사진이 렌더링되지 않고 빈 공간으로 표시됩니다. 이 문제는 Chrome 브라우저 버전 100.0.4896.127에서 발생하며, 다른 브라우저에서는 문제가 없습니다.”
2. 간결성 (Conciseness)
버그 리포트는 필요한 정보만 포함해야 합니다. 과도한 설명이나 불필요한 정보는 개발자의 시간을 낭비하고, 핵심 정보를 파악하기 어렵게 만듭니다. 핵심은 간결하면서도 완전한 정보를 전달하는 것입니다. 각 섹션은 간결하게 유지하고, 불필요한 반복을 피해야 합니다. 문제의 본질을 파악하고, 핵심 내용만 전달하는 능력이 중요합니다.
3. 정확성 (Accuracy)
버그 리포트에 포함된 모든 정보는 정확해야 합니다. 잘못된 정보는 개발자를 오도하고, 문제 해결 시간을 낭비하게 만들 수 있습니다. 버그를 재현하는 데 사용된 모든 단계, 환경 설정, 소프트웨어 버전 등을 정확하게 기록해야 합니다. 오타, 문법 오류, 부정확한 정보는 수정하고, 필요하다면 여러 번 확인하는 것이 중요합니다.
4. 재현성 (Reproducibility)
버그 리포트의 가장 중요한 요소 중 하나는 재현성입니다. 개발자가 버그를 쉽게 재현할 수 있도록, 문제 발생 단계를 상세하고 명확하게 제공해야 합니다. 재현 단계는 순서대로 작성되어야 하며, 각 단계는 간결하고 이해하기 쉬워야 합니다. 만약 특정 환경 조건에서만 문제가 발생하는 경우, 해당 환경 조건을 명확하게 명시해야 합니다. 예를 들어, 특정 데이터베이스 연결, 운영체제 버전, 브라우저 종류 등이 포함될 수 있습니다. 버그를 재현할 수 없는 리포트는 거의 가치가 없습니다.
나쁜 예시: “로그인 후 페이지가 제대로 표시되지 않습니다.”
좋은 예시:
- 사용자 이름과 비밀번호를 입력하고 로그인 버튼을 클릭합니다.
- 로그인 성공 페이지로 리디렉션됩니다.
- 페이지 상단에 ‘환영합니다, [사용자 이름]!’ 이라는 메시지가 표시되어야 하지만, 대신 빈 화면이 나타납니다.
- 이 문제는 Chrome 브라우저에서 발생하며, 다른 브라우저에서는 발생하지 않습니다. Chrome 브라우저 버전은 100.0.4896.127입니다.
- 네트워크 연결 상태는 양호하며, 캐시를 지우고 다시 시도해도 동일한 문제가 발생합니다.
5. 완전성 (Completeness)
버그 리포트는 필요한 모든 정보를 포함해야 합니다. 누락된 정보는 개발자가 문제를 이해하고 해결하는 데 어려움을 겪게 만들 수 있습니다. 다음과 같은 정보는 일반적으로 버그 리포트에 포함되어야 합니다.
- 문제 요약 (Summary): 버그의 간략한 설명
- 재현 단계 (Steps to Reproduce): 버그를 재현하는 데 필요한 단계
- 예상 결과 (Expected Result): 버그가 발생하지 않았을 때의 기대되는 결과
- 실제 결과 (Actual Result): 실제로 발생한 결과
- 환경 (Environment): 운영체제, 브라우저, 소프트웨어 버전 등
- 심각도 (Severity): 버그의 영향력 정도
- 우선순위 (Priority): 버그 해결의 중요도
- 첨부 파일 (Attachments): 스크린샷, 스크린캐스트, 로그 파일 등
6. 일관성 (Consistency)
버그 리포트 작성 시 일관성을 유지하는 것은 중요합니다. 팀 내에서 표준화된 버그 리포트 템플릿을 사용하고, 작성 방식을 통일하면 정보의 신뢰도를 높이고, 개발팀의 효율성을 향상시킬 수 있습니다. 템플릿을 사용하여 각 섹션의 형식을 통일하고, 용어를 일관되게 사용하도록 권장합니다. 이렇게 하면 버그 리포트를 읽고 분석하는 데 드는 시간을 줄일 수 있습니다.
7. 피드백 활용
버그 리포트 작성 후, 동료나 개발팀으로부터 피드백을 받는 것을 주저하지 마십시오. 다른 사람의 관점에서 버그 리포트를 검토하면 놓친 부분을 발견하고 개선할 수 있습니다. 피드백을 바탕으로 버그 리포트를 수정하고, 더 나은 품질의 버그 리포트를 작성할 수 있도록 노력해야 합니다. 지속적인 피드백과 개선을 통해 버그 리포트 작성 능력을 향상시킬 수 있습니다.
결론적으로, 효과적인 버그 리포트는 개발 프로세스의 필수적인 부분입니다. 명확성, 간결성, 정확성, 재현성, 완전성, 일관성을 갖춘 버그 리포트를 작성함으로써, 개발팀의 효율성을 높이고, 제품의 품질을 향상시킬 수 있습니다. 이 가이드에서 제시된 내용을 바탕으로 꾸준히 연습하고, 개선해나가면, 뛰어난 버그 리포트 작성 능력을 갖추게 될 것입니다. 잘 작성된 버그 리포트는 단순히 버그를 보고하는 것을 넘어, 개발팀과의 협업을 강화하고, 궁극적으로 성공적인 소프트웨어 개발을 위한 중요한 발걸음입니다.
“`