팀 프로젝트 5 - 테스트 및 배포 (Alpha 버전)

프로젝트 개요

해당 강좌전산학 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 테스트 과정

테스트 담당자는 테스트 계획에 따라 다음 기능을 순차적으로 테스트한다:
  1. 프로젝트 시작 및 프론트엔드 메인 페이지 접근
  2. 메인 페이지 페이지네이션, 필터링 및 정보 표시 테스트
  3. 정보 등록 폼의 정상 제출 및 비정상 제출 테스트
  4. 제출 빈도 제한 기능 테스트
  5. 상세 페이지 정보 완전성 테스트
  6. 백엔드 관리 시스템의 정보審核, 편집 및 삭제 테스트
  7. 다양한 시간 조건에서의 사용자 정의 템플릿 태그 표시 효과 테스트

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. 설치 방법

  1. 종속성 설치
pip install -r requirements.txt
  1. 데이터베이스 구성 및 마이그레이션
python manage.py migrate
  1. 프로젝트 시작
python manage.py runserver
  1. 시스템 접근
  • 프론트엔드: http://127.0.0.1:8000/
  • 백엔드: http://127.0.0.1:8000/admin/

6. 알려진 문제 및 제한사항

  • 검색 기능이 비교적 기초적이며, 현재 키워드 부분 검색 미지원
  • 페이지 스타일링 추가 최적화 필요
  • 고并发 성능 테스트 미실시

7. 배포 방식 및 주소

  • 배포 방식: 소스코드 배포
  • 배포 주소: https://github.com/WiseL00k/Campus-Book-Trade

태그: Django python Software Testing Alpha Release MySQL

6월 24일 21:19에 게시됨