구현및시험단계산출물
#
Find similar titles
- (rev. 2)
- ShabangBoy
Structured data
- Category
- Management
Table of Contents
구현 및 시험단계 산출물 #
SI 사업에서의 구현 및 시험단계 산출물은 각각 시스템이 실제로 개발되는 과정에서 작성되는 산출물(구현단계 산출물)과 개발이 마무리되는 단계에서 작성되는 산출물(시험단계 산출물)이다. 시스템이 요구사항에 맞게 잘 구축이 되어있고 오류없이 잘 구동이 되는지 전체적으로 검토하고, 사용자들을 위한 매뉴얼 등 실제 시스템 사용자들이 시스템을 접했을 때 어려움없이 시스템을 사용할 수 있도록 도와주는 문서들이 산출되는 과정이라 할 수 있다.
구현 및 시험단계 산출물의 필요성과 주안점 #
시스템을 구축하는 입장에서는 기능을 구현하는 부분에만 초점을 맞춰서 작업을 진행하게 될 가능성이 높은데, 이럴 경우 실제 시스템을 이용하게 될 사용자에 대한 배려나 고려가 이루어지지 않거나 자칫 사소한 부분으로 간과될 수가 있다. 구현 및 시험단계 산출물을 체계적으로 잘 작성하고 검토하는 것은, 시스템이 실제로 가치있게 잘 사용될 수 있도록 준비하는 과정이며 시스템과 사용자를 이어주는 중간지점에서의 중개역할이라고 할 수 있다.
구현 단계 산출물의 종류 #
프로그램 소스파일
단위테스트 수행보고서
통합테스트 수행보고서
프로그램 소스파일 #
제목 그대로 시스템 구축과정에서 작성된 프로그램의 소스파일을 의미한다. SI사업에서 주로 사용되는 전자정부 프레임워크 기반환경에서 제작되었을 경우 전체 프로젝트를 그대로 압축하면 된다. 특별히 프레임워크나 통합 패키지를 사용하지 않은 경우에는 소스파일을 그대로 정리해서 압축하면 된다.
단위테스트 수행보고서 #
시스템의 가장 작은 기능을 하나의 단위로 보고 이 단위 기능별로 테스트를 수행하고 그 결과를 기록하는 문서이다. 여기서 단위 기능은 세분화할수록 좋지만, 기본적으로는 사용자 입장에서 인지할 수 있는 범위에서 규정을 하는 것이 보통이다. 단위테스트의 기능 단위가 공통된 성격의 기능으로 묶이면 통합테스트의 테스트 항목이 된다. 예를 들어 파일을 업로드해서 데이터를 등록하는 기능이 있을 경우, 전체적으로는 통합테스트의 '데이터 등록' 항목으로 묶을 수 있고, 단위테스트에서는 이 등록과정에서 거쳐야 하는 페이지나 팝업창 별로 단위 테스트 항목을 설정하여 테스트를 수행하면 된다. 단위테스트에서 중요한 것은 실제 입력하는 내용에 대한 시나리오도 설정을 해서 진행을 하고 그 내용을 기록한다는 점이다. 즉, 막연하게 데이터를 입력창에 입력했다는 내용이 아니라, 화면의 각 입력창(텍스트 필드)에 각각 실제로 어떤 내용을 넣었고 그렇게 했을 때 실제로 어떤 결과가 나왔는지를 세세하게 기록해야 한다는 것이다. 따라서 입력하는 내용이나 선택하는 조건에 따라 여러 상황이 생길 수 있는 시스템을 경우에는 각 내용이나 조건별로 여러개의 단위테스트 시나리오를 설정하여 테스트를 진행하야 한다. 단위 테스트가 더 많은 상황에 대한 테스트를 담을 수 있을수록, 시스템의 완성도 역시 그에 비례하여 향상될 수 있다.
통합테스트 수행보고서 #
시스템의 기능을 크게 묶어서 테스트 항목을 설정하면 통합테스트 대상이 되는데 일반적으로 단위테스트 항목을 상위의 큰 기능으로 묶어서 구성한다. 단위테스트를 통해 각 세부기능에 대한 점검이 되었더라도 전체적으로 기능을 처음부터 끝까지 사용했을 때 각 단계의 전후관계나 상황에 따라서 단위테스트에서 확인하지 못한 오류가 발생할 수도 있기 때문에 통합적으로 테스트를 진행하는 것은 매우 중요한 과정이다.
시험 단계 산출물의 종류 #
검사 기준서
사용자 매뉴얼
관리자 매뉴얼
운영자 매뉴얼
등록자 매뉴얼
성능테스트 결과서
코드취약점 점검 결과서
웹호환성 점검 결과서
검사기준서 #
검사기준서는 SI사업의 주관기관이 요구한 요구사항들이 실제로 잘 구현이 되고 실현이 되었는지를 각 항목별로 확인하고 점검할 수 있는 기준이 되는 문서이다. 보통 기능과 비기능 항목으로 구분하여 문서를 작성하는데 기능의 경우에는 각 요구사항이 구현되었는지를 확인할 수 있는 단위테스트와 통합테스트의 항목코드를 기재하고 비기능의 경우에는 각 내용을 확인할 수 있는 산출물의 이름을 기재하게 된다. 기능의 경우 단위/통합 테스트의 식별코드와 잘 맞추어 구성하는 것이 중요하고 비기능의 경우에는 누가 보더라도 쉽게 확인할 수 있게 산출물의 실제 경로를 명확하게 기재해 주어야 한다.
사용자 매뉴얼 #
시스템이 구현이 잘 되었더라도 실제 시스템을 활용하는 사용자가 시스템에 대한 사용법을 모르면 아무 의미없는 시스템이 된다. 사용자 매뉴얼은 시스템의 최종 사용자가 시스템의 모든 기능을 잘 활용할 수 있게 도와주는 역할을 한다. 보통 시스템의 스크린샷과 함께 각 화면별로 사용하는 방법을 상세하게 기술한다.
관리자/운영자 매뉴얼 #
관리자 매뉴얼과 운영자 매뉴얼은 시스템 관리자가 시스템을 운영/관리할 때 활용할 수 있는 문서이다. 관리자 매뉴얼과 운영자 매뉴얼은 비슷한 개념이긴 하지만 구분이 되는 부분이 있는데, 보편적으로 웹상의 시스템 관리냐 서버상의 시스템 관리냐에 따라서 나뉘게 된다. 관리자 매뉴얼은 웹 상에서 시스템에 대한 전반적인 관리를 하는 부분에 대한 내용을 다루고 있으며 운영자 매뉴얼은 좀 더 기술적인 측면에서 시스템이 운영되는 서버상에서 시스템을 가동/중지하거나 여러 관련 프로그램의 설치/업데이트를 하는 부분을 다루고 있다.
등록자 매뉴얼 #
SI사업을 통해 구축되는 시스템은 대부분 데이터를 다루는 경우가 많기 때문에 데이터를 등록하는 업무도 시스템 관리나 운영 못지 않게 매우 중요한 부분이다. 등록자 매뉴얼은 시스템에 데이터를 등록하는 등록자들을 위한 절차와 데이터 등록 관련 정책이나 유의점 등이 기술된 문서이다.
성능테스트 결과서 #
시스템 기능이 잘 구현되고 오류가 없더라도 시스템이 구동될 때 시스템이 설치된 하드웨어의 자원을 효율적으로 활용할 수 없게 만들어졌을 경우, 실제 시스템 운영 시 많은 문제를 일으킬 수 있다. 성능테스트 결과서는 이렇게 시스템이 하드웨어 자원을 얼마나 효율적으로 이용해서 좋은 성능을 낼 수 있는지를 점검하고 그 결과를 기재한 문서이다.
코드취약점 점검 결과서 #
시스템의 효율적인 성능 못지 않게 중요한 것은 시스템의 보안성이다. 성능면에서 뛰어난 시스템이라도 보안면에서 취약할 경우, 시스템의 중대한 데이터들을 빼앗길 수 있다. 코드취약점 점검은 시스템 구현 과정에서 발생할 수 있는 코드 상의 보안 취약점들을 확인하여 사전에 예방하기 위한 과정이다. 코드취약점을 점검할 수 있는 방법은 여러가지가 있는데 보통 OWASP에 기반한 점검 도구를 많이 활용한다.
웹취약점 점검 결과서 #
내부 코드 상에서의 보안점검은 코드 취약점 점검을 통해 수행할 수 있지만, 실제 시스템이 웹 상에서 사용자에게 표시되었을 때는 웹이라고 하는 또다른 공간에서의 보안문제가 발생할 수 있다. 웹취약점 점검은, 시스템이 최종 사용자의 웹에서 표현되는 과정에서 발생할 수 있는 웹상의 보안 취약점을 점검하고 대응하기 위해 수행하는 절차이다.