[동계 인턴] 4주차 기록

나영·2023년 2월 2일
0
post-thumbnail

📝 4~8week Task

QualityScroll VPES 라는 도구를 시험하는 자동화 테스트 케이스 작성하기

🛠️ 4~8week Tech

  • Language : Python
  • IDE : PyCharm
  • Tool : Katalon Recorder
  • Framework : Selenium

📌 주요 업무

✅ VPES에 대해 이해
✅ 프로젝트 등록 (공용 모듈) 관련 TC 수정


Test Case의 원리 이해


카탈론 레코더에 캡쳐된 웹 요소의 아이디나 주소등을 캡쳐해 이벤트를 자동화시킴으로써 테스트 스크립트를 작성해본다 !

💥 QualityScroll VPES란 ?

  • Verification / Validation Process Execution System
  • 국방 신뢰성 시험 진척 관리 및 산출물 자동 생성 도구
  • 회사에서 개발한 도구Code Inspector (CI), Controller Tester (CT), SNIPER, STATIC, COVER(EE, SE)로 측정한 데이터를 업로드 해 신뢰성 시험 정보를 모니터링하고 산출물을 자동 생성할 수 있음.

만들어진 이유

  • 무기 체계에서 SW의 규모와 복잡도가 증가함에 따라 잠재적인 위험성도 증가하고 있음..
    이에 방위사업청에서는 무기 체계 SW 신뢰성 시험을 강화하는 추세 !

    BUT 이를 관리하기 위해서는 다음의 한계들이 존재 😓

    1. 기술 문서 검토(규격, 문서 간 추적성)의 번거로움
    2. 신뢰성 시험 절차 및 예외 사항 관리의 어려움
    3. 시험 도구의 상세 결과를 수작업으로 작성해야 하는 부담
    4. 시험 산출물의 내용을 시험 도구 상세 결과와 직접 비교하는 번거로움

-> 무기체계 SW 개발 프로세스를 지원하여 문서 검증, 이력 관리와 자동 산출물 제공 !! 😃


구성

  • VPES 서버

    • 도구에서 전송된 소스코드 정보 및 신뢰성 시험 결과 데이터들을 저장
    • 저장된 정보를 통해 신뢰성 시험 이력 관리
    • 신뢰성 시험 결과 모니터링 및 신뢰성 시험 산출물 자동 생성
  • VPES 웹 페이지


사용 목적

  • 도구의 시험 결과 업로드
  • 도구 데이터 내보내기
  • VPES에서 시험 결과 업로드
  • 신뢰성 정적/동적 시험 결과 모니터링
  • 신뢰성 시험 이력 관리
  • 예외 사유 관리
  • 소스코드 메트릭 설정
  • 소스코드 형상 관리 설정
  • 사용자 계정 및 권한 관리
  • 기술 문서 검증 및 결과 모니터링

🌟 도구 특징

1. 신뢰성 정적/동적 시험 결과 모니터링

  • 도구들로부터 수행한 신뢰성 정적/동적 시험 결과 정보를 모니터링할 수 있음.

2. 신뢰성 시험 이력 관리

  • 프로젝트의 정적/동적 시험, 소스코드 메트릭, 보안성 시험 정보에 대해 신뢰성 시험 이력 관리 기능 제공
  • 목표치에 대한 진행 상황을 확인할 수 있음.

3. 신뢰성 시험 산출물 자동 생성

  • 신뢰성 시험 도구의 결과를 기반으로 신뢰성 시험 산출물을 자동 생성함.

4. 기술 문서 검증

  • 신뢰성 시험에 필요한 기술 문서 검증을 통해, 일반 검증, 정합성 검증, 문서 간 일치성 검증을 제공하여, 문서의 완성도를 높여줌. (일일히 수작업으로 검증할 필요 X)

프로젝트 등록

프로젝트 등록이란 ?

프로젝트 현황 페이지의 우측 상단에 버튼을 클릭해 이동할 수 있다.

프로젝트 등록은 필수 정보, 추가 정보, 사용자 등록, 옵션 탭으로 나뉘어져 있다.

  • 필수 정보 탭

  • 추가 정보 탭

  • 사용자 등록 탭
  • 옵션 탭

TC 설명

  1. 사용자는 프로젝트를 검색할 수 있다.

  2. 사용자는 로그인한 후 프로젝트 등록을 할 수 있다.
    1) 필수 정보만 입력
    2) 필수 정보 + 옵션 입력
    3) 필수 정보 + 추가 정보 + 옵션 입력

  3. 사용자는 등록한 프로젝트를 삭제할 수 있다.


TC 1

순서도

  1. 로그인

  2. 프로젝트 현황 페이지에서 검색 버튼 클릭

  3. 검색하려는 프로젝트 명 입력

  4. 테이블 표시 문구가 "검색할 데이터가 없습니다." 면 검색 실패 -> False 반환

  5. 테이블에 행이 나타나면 검색 성공 -> True 반환


TC 2

1) 필수 정보만 입력

순서도

  1. 로그인

  2. 생성하려는 프로젝트명 검색

  3. 검색 결과 존재하면 기존 프로젝트 삭제

  4. 없으면 바로 프로젝트 생성 탭으로 이동

  5. 필수 정보 입력

  6. 프로젝트 생성 버튼 클릭


2) 필수 정보 + 옵션 입력

순서도

  1. 로그인

  2. 생성하려는 프로젝트명 검색

  3. 검색 결과 존재하면 기존 프로젝트 삭제

  4. 없으면 바로 프로젝트 생성 탭으로 이동

  5. 필수 정보 입력

  6. 옵션 탭 이동

  7. 자동 회차 관리 - (사용 안함, 도구 기준, SCM 기준, 업로드 감지) 옵션 중 1개 선택

  8. 회차 데이터 유지 - (초기화, 데이터 유지) 옵션 중 1개 선택

  9. 프로젝트 생성 버튼 클릭


3) 필수 정보 + 추가 정보 + 옵션 입력

순서도

  1. 로그인

  2. 생성하려는 프로젝트명 검색

  3. 검색 결과 존재하면 기존 프로젝트 삭제

  4. 없으면 바로 프로젝트 생성 탭으로 이동

  5. 필수 정보 입력

  6. 옵션 탭 이동

  7. 자동 회차 관리 - (사용 안함, 도구 기준, SCM 기준, 업로드 감지) 옵션 중 1개 선택

  8. 회차 데이터 유지 - (초기화, 데이터 유지) 옵션 중 1개 선택

  9. 추가 정보 탭 이동

  10. 코딩 규칙 - (STATIC, Code Inspector) 옵션 중 1개 선택

  11. 소스코드 메트릭 - 체크 박스 선택

  12. 취약점 점검 - (STATIC. SNIPER) 옵션 중 1개 선택

  13. 보안성 시험 - 체크 박스 선택

  14. 동적 시험 - 체크 박스 선택 후 입력칸에 입력

  15. 프로젝트 생성 버튼 클릭


TC 3



순서도

  1. 관리자 계정으로 로그인

  2. 삭제하려는 프로젝트명 검색

  3. 해당 프로젝트로 진입

  4. 설정 -> 프로젝트 설정 진입

  5. 프로젝트 삭제 버튼 클릭

  6. 프로젝트명 입력

  7. 옵션 탭 이동

  8. 삭제 버튼 클릭

  9. 삭제 모달이 뜨면 성공

0개의 댓글