프로젝트 개요
| 해당 강좌 | 전산학 23학급 12반 |
| 과제 요구사항 | 팀 프로젝트 5 - 테스트 및 배포 (Alpha 버전) |
| 과제 목표 | 팀 소프트웨어 Alpha 버전에 대한 체계적 테스트 및 요약, 기능 구현 검증, 결함 발견 및 분석, 소프트웨어가 배포 가능한 기본 품질 기준 충족 여부 평가 |
1. 테스트 보고서 개요
1.1 테스트 목적
본 테스트는 "북스테어(Campus Book Trade)" 캠퍼스 중고서적 거래 플랫폼의 Alpha 버전을 대상으로 하며, 프로젝트 요구사항 문서, 기능 명세, 시스템 설계 및 테스트 계획에 따라 시스템의 핵심 기능, 기본 성능 및 안정성을 검증한다.
테스트 목표는 다음과 같다:
- 시스템 주요 기능이 요구사항대로 구현되었는지 검증
- 시스템에 존재하는 결함(Bug) 발견 및 기록
- 시스템이 Alpha 버전 배포 표준에 도달했는지 평가
1.2 테스트 범위
테스트 범위는 다음 모듈을 포함한다:
- 메인 페이지 정보 표시 및 필터링 기능
- 정보 등록(제출) 기능
- 정보 상세 페이지 표시 기능
- 백엔드 관리 및 정보審核 기능
- 사용자 정의 템플릿 태그 기능 (time_since, check_expire)
2. 테스트 환경
2.1 소프트웨어 환경
- 운영 체제: Windows 10 / Ubuntu 20.04
- Python 버전: Python 3.9
- Web 프레임워크: Django 3.x
- 데이터베이스: MySQL 8.0
- 브라우저:
- Google Chrome 120+
- Microsoft Edge 120+
- Firefox 115+
2.2 하드웨어 환경
- CPU: Intel i5 / AMD Ryzen 5 이상
- 메모리: 8GB 이상
- 저장소: 사용 가능 디스크 공간 ≥ 5GB
3. 테스트 방법 및 과정
3.1 테스트 방법
- 기능 테스트: 각 기능 모듈이 요구사항대로 정상적으로 동작하는지 검증
- 시나리오 테스트(Scenario Testing): 다양한 사용자 사용 시나리오 시뮬레이션
- 수동 테스트为主, Django 내장 디버깅 도구 병행
- 브라우저 호환성 테스트
3.2 테스트 과정
테스트 담당자는 테스트 계획에 따라 다음 기능을 순차적으로 테스트한다:
- 프로젝트 시작 및 프론트엔드 메인 페이지 접근
- 메인 페이지 페이지네이션, 필터링 및 정보 표시 테스트
- 정보 등록 폼의 정상 제출 및 비정상 제출 테스트
- 제출 빈도 제한 기능 테스트
- 상세 페이지 정보 완전성 테스트
- 백엔드 관리 시스템의 정보審核, 편집 및 삭제 테스트
- 다양한 시간 조건에서의 사용자 정의 템플릿 태그 표시 효과 테스트
4. 테스트 결과 및 결함 통계
4.1 결함总体 상황
Alpha 버전 테스트 과정에서 총
9개의 Bug를 발견했으며, 카테고리별 통계는 다음과 같다:
- 기능성 Bug: 5개
- 인터페이스 표시 문제: 2개
- 논리 설계 문제: 1개
- 요구사항 이해 차이 문제: 1개
4.2 결함 분류 처리 상황
(1) 이미 수정된 Bug (5개)
- 메인 페이지 페이지네이션이 필터 조건하에서 페이지 번호 표시 이상
- 정보 등록成功后 알림 메시지가 정상적으로 표시되지 않음
- 백엔드에서 정보 수정 후 메인 페이지 캐시가 적시에 업데이트되지 않음
- 일부 필드가 비어있을 때 상세 페이지 표시 오류
- 연락처 필드 길이 검증이 완전하지 않음
(2) 재현할 수 없는 Bug (1개)
- 일부情況에서 폼 제출 후 페이지가 새로고침되지만 데이터가 저장되지 않음
- 여러 번 테스트 후 다시 재현되지 않았으며, 테스트 환경과 관련이 있을 수 있음
(3) "제품이 원래 이렇게 설계되어 있어, Bug가 아님" (1개)
- 미審核 정보가 프론트엔드 메인 페이지에 표시되지 않음
- 해당 동작은 시스템 설계 의도에 부합하며, 백엔드審核 메커니즘의 일부임
(4) 수정 능력이 없으며 향후 수정할 계획이 없는 Bug (1개)
- 极端 다량의 데이터에서 Django Admin 백엔드 로딩이 느림
- 프레임워크 수준의 성능 문제로, 현재 프로젝트 규모에서 영향이 작음
(5) 수정해야 하지만 Alpha 버전에서 미수정, 처리 미루어진 Bug (1개)
- 메인 페이지 검색 기능이 단순 필터만 지원하며 키워드 부분 검색 미지원
- Beta 버전에서 최적화할 계획
5. 시나리오 테스트 (Scenario Testing)
5.1 사용자 유형 및 사용 방식
- 일반 학생 사용자
- 중고서적 정보 탐색
- 책 판매 정보 또는 구매 정보 등록
- 관리자 사용자
- 사용자가 등록한 정보審核
- 플랫폼 데이터 관리 및 유지보수
5.2 사용자 요구사항 및 목표
- 학생 사용자는 빠르게 실제적이고 신뢰할 수 있는 중고서적 정보를 등록하고 얻고자 함
- 관리자는 플랫폼 정보 품질을 보장하고 스팸 정보를 방지하고자 함
5.3 기능 조합이 요구사항 충족 방법
- 메인 페이지 표시 + 유형 필터링: 사용자가 빠르게 정보를 찾을 수 있도록 도움
- 제출 페이지 폼 + 중복 제출 방지 메커니즘: 데이터 유효성 보장
- 백엔드審核 메커니즘: 플랫폼 신뢰도 향상
- 사용자 정의 템플릿 태그: 사용자 경험 및 정보 가독성 향상
6. 테스트 매트릭스 (Test Matrix)
| 운영 체제 |
브라우저 |
기능 테스트 |
결과 |
| Windows 10 |
Chrome |
메인 페이지 / 등록 / 상세 |
통과 |
| Windows 10 |
Edge |
메인 페이지 / 등록 / 상세 |
통과 |
| Ubuntu 20.04 |
Firefox |
메인 페이지 / 등록 / 상세 |
통과 |
7. Alpha 버전 종료 조건 (Exit Criteria)
다음 조건이 충족될 때 소프트웨어가 Alpha 버전을 배포할 수 있다고 인정한다:
- 핵심 기능(탐색, 등록, 상세, 백엔드 관리)이 모두 정상적으로 사용 가능
- 차단성 Bug(Crash, 데이터 손실 등)가 존재하지 않음
- 발견된 주요 기능성 Bug가 이미 수정됨
- 시스템 전체가 안정적으로 운영되며, 사용자가 기본 작업流程을 완료할 수 있음
Alpha 버전 배포 설명
1. 버전 개요
본 배포는 "북스테어(Campus Book Trade)"의
Alpha 버전이며, 캠퍼스 중고서적 거래 플랫폼의 핵심 기초 기능을 구현하여 내부 테스트 및 기능 검증을 위한 것이다.
2. 본 버전 기능 목록
- 메인 페이지 공급/수요 정보 표시
- 공급/수요 유형별 정보 필터링
- 페이지네이션으로 정보 목록 탐색
- 중고서적 공급/수요 정보 등록
- 정보 상세 페이지 표시
- Django Admin 백엔드 관리 및審核
- 제출 빈도 제한 메커니즘
3. 본 버전에서 수정한 결함
- 메인 페이지 페이지네이션 표시 이상 문제 수정
- 등록 성공 알림 메시지가 표시되지 않는 문제 수정
- 백엔드에서 정보 수정 후 프론트엔드가 적시에 업데이트되지 않는 문제 수정
4. 실행 환경 요구사항
- Python 3.8 이상
- Django 3.x
- MySQL 8.0
- 최신 브라우저 지원 (Chrome / Edge / Firefox)
5. 설치 방법
- 종속성 설치
pip install -r requirements.txt
- 데이터베이스 구성 및 마이그레이션
python manage.py migrate
- 프로젝트 시작
python manage.py runserver
- 시스템 접근
- 프론트엔드: http://127.0.0.1:8000/
- 백엔드: http://127.0.0.1:8000/admin/
6. 알려진 문제 및 제한사항
- 검색 기능이 비교적 기초적이며, 현재 키워드 부분 검색 미지원
- 페이지 스타일링 추가 최적화 필요
- 고并发 성능 테스트 미실시
7. 배포 방식 및 주소
- 배포 방식: 소스코드 배포
- 배포 주소: https://github.com/WiseL00k/Campus-Book-Trade