반응형
요구사항 정의서
1. 프로젝트 개요
- 프로젝트 명: 테스트 관리 도구 설계 및 구현
- 목표: 테스트 계획, 테스트 시나리오, 테스트 케이스, 테스트 액티비티를 효과적으로 관리하는 도구 개발
- 범위: 소프트웨어 테스트 활동의 전반적인 관리
2. 요구사항 명세
-
테스트 계획
- 테스트 계획의 생성, 수정, 삭제 기능
- 테스트 계획에 테스트 시나리오 연결 기능
- 테스트 계획의 시작일자와 종료일자 설정 기능
-
테스트 시나리오
- 테스트 시나리오의 생성, 수정, 삭제 기능
- 테스트 시나리오에 테스트 케이스 연결 기능
- 테스트 시나리오의 설명 및 전제 조건 입력 기능
-
테스트 케이스
- 테스트 케이스의 생성, 수정, 삭제 기능
- 테스트 케이스에 테스트 액티비티 연결 기능
- 테스트 케이스의 입력 데이터, 절차, 예상 결과 입력 기능
-
테스트 액티비티
- 테스트 액티비티의 생성, 수정, 삭제 기능
- 테스트 액티비티에 SQL 문장 입력 기능
- 테스트 액티비티의 실행 결과 기록 기능
-
테스트 실행
- 테스트 실행 마스터, 테스트 실행 테스트 케이스, 테스트 실행 대상 업체, 테스트 실행 액티비티의 일괄 생성 기능
- 테스트 실행 마스터 선택 후 실행 기능
- 테스트 실행 액티비티의 SQL 실행 및 결과 기록 기능
프로그램 설계서
1. 시스템 아키텍처
- 클라이언트: 웹 브라우저
- 서버: Spring Boot 기반 웹 애플리케이션
- 데이터베이스: MySQL
2. 주요 기능 설계
-
테스트 계획 관리
- TestPlanController: 테스트 계획 생성, 수정, 삭제 API 제공
- TestPlanService: 테스트 계획 비즈니스 로직 처리
- TestPlanRepository: 테스트 계획 데이터베이스 접근
-
테스트 시나리오 관리
- TestScenarioController: 테스트 시나리오 생성, 수정, 삭제 API 제공
- TestScenarioService: 테스트 시나리오 비즈니스 로직 처리
- TestScenarioRepository: 테스트 시나리오 데이터베이스 접근
-
테스트 케이스 관리
- TestCaseController: 테스트 케이스 생성, 수정, 삭제 API 제공
- TestCaseService: 테스트 케이스 비즈니스 로직 처리
- TestCaseRepository: 테스트 케이스 데이터베이스 접근
-
테스트 액티비티 관리
- TestActivityController: 테스트 액티비티 생성, 수정, 삭제 API 제공
- TestActivityService: 테스트 액티비티 비즈니스 로직 처리
- TestActivityRepository: 테스트 액티비티 데이터베이스 접근
-
테스트 실행 관리
- TestExecutionController: 테스트 실행 마스터, 테스트 실행 테스트 케이스, 테스트 실행 대상 업체, 테스트 실행 액티비티의 일괄 생성 API 제공
- TestExecutionService: 테스트 실행 비즈니스 로직 처리
- TestExecutionRepository: 테스트 실행 데이터베이스 접근
데이터베이스 정의서
1. 테이블 구조
-
TestPlan
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- name: VARCHAR(255)
- startDate: DATE
- endDate: DATE
-
TestScenario
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- testPlanId: INT, FOREIGN KEY (TestPlan.id)
- description: TEXT
- preconditions: TEXT
-
TestCase
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- testScenarioId: INT, FOREIGN KEY (TestScenario.id)
- inputData: TEXT
- procedure: TEXT
- expectedResult: TEXT
-
TestActivity
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- testCaseId: INT, FOREIGN KEY (TestCase.id)
- sqlQuery: TEXT
-
TestExecutionMaster
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- testPlanId: INT, FOREIGN KEY (TestPlan.id)
- executionDate: DATE
-
TestExecutionTestCase
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- testExecutionMasterId: INT, FOREIGN KEY (TestExecutionMaster.id)
- testCaseId: INT, FOREIGN KEY (TestCase.id)
-
TestExecutionTarget
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- testExecutionTestCaseId: INT, FOREIGN KEY (TestExecutionTestCase.id)
- targetCompanyId: INT
-
TestExecutionActivity
- id: INT, PRIMARY KEY, AUTO_INCREMENT
- testExecutionTargetId: INT, FOREIGN KEY (TestExecutionTarget.id)
- testActivityId: INT, FOREIGN KEY (TestActivity.id)
- executionResult: TEXT
테스트 관리 도구의 기본 정보는 테스트 계획, 테스트 시나리오, 테스트 케이스, 테스트 액티비티 입니다.
테스트 케이스에 테스트 대상 업체를 선정 합니다.
테스트 실제 수행을 위해서 테스트 액티비티에 SQL 문장을 입력합니다.
테스트 계획을 생성하고 테스트 시나리오를 선택하면 해당 시나리오의 테스트 케이스와 테스트 케이스에 속한 테스트 액티비티가 연결 됩니다.
테스트 계획에서 실행 대상 생성하면 테스트 실행 마스터, 테스트 실행 테스트 케이스, 테스트 실행 대상 업체, 테스트 실행 액티비가 일괄 생성 됩니다.
테스트 실행 마스터를 선택하고 실행를 수행하면 테스트 실행 액티비에 있는 SQL를 수행하여 해당 업체 별 수행 결과를 기록 합니다.
위의 요구사항정의서, 프로그램 설계서, 데이터베이스 정의서 작성해 주세요
반응형