** 수업 중간 오픈북 테스트에 대한 설명내용 정리 **


* 어플리케이션 배포 : 로컬(혹은 개발서버)에서 개발된 어플리케이션 마일스톤을 실제 운영 서버에 올려서 구동하는 작업

 

* 배포(jspmvc의 예) : 프로젝트를 build해서 .jar파일 혹은 .war 파일 한개로 만들어서 <-(maven) 이거를 서버 머신에 이미 설치된 was환경 (JRE,  ApacheTomcat,...)에 넣어서 구동

 

* Maven : 프로젝트 객체 모델이라는 개념을 바탕으로 프로젝트 의존성 관리, 라이브러리 관리, 프로젝트 생명주기 관리 기능 등을 제공하는 프로젝트 관리 도구 (그 외 Gradle이란 것도 있다.)

 

* WhtieBox Test

    : 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법 (테스트 과정 초기 적용)

  # 테스트 종류

    - 기초 경로 검사 : 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법

    - 제어 구조 검사

        1, 조건 검사 : 프로그램 모듈 내에 있는 논리적 조건을 테스트하는 테스트 케이스 설계 기법

        2, 루프 검사 : 반복 (loop) 구조게 초점을 맞춰 실시하는 테스트 케이스 설계 기법

        3, 데이터 흐름 검사 : 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞춰 실시하는 테스트 케이스 설계 기법

 

* BlackBox Test

    : 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트로, 기능 테스트

(테스트 과정 후반에 적용)

    - 동치 분할 검사 : 조건에 맞는 입력 자료와 맞지 않은 자료를 균등하게 검사

    - 경계값 분석 : 중간값이 아닌 경계값을 테스트 케이스로 선정

    - 오류 예측 검사 : 테스터의 경험과 감각으로 보충적 데이터 확인 

 

* 테스트 케이스 설계 : 특정 요구사항에 준하는지 확인하기 위해 입력값, 실행조건, 예상결과를 묶어 놓은 집합을 어떻게 할지 정의

 

* 테스트 자동화 도구의 장점

   - 반복적인 작업을 자동화, 인력 및 시간 절감

   - 향상된 테스트 품질 보장

   - 사용자의 요구사항 등을 일관성 있게 거머증

 

*소스코드 보안 약점

    - XSS(Cross Site Script) : 검증되지 않은 외부 입력 값에 의해 사용자 브라우저에서 악의적인 스크립트가 실행될 수 있는 보안 약점

 

*어플리케이션 성증 저하 운인

   - DB에 필요 이상의 많은 데이터를 요구하여 response 받는다.

   - 불필요한 커밋을 자주 발생

   - 데이터 손실이 발생할 경우

 

* 클린코드(소스코드의 최적화)의 작성원칙

   - 가독성, 단순성

   - 추상화

   - 의존성의 배제

 

* 릴리즈(release) : 운영서버에 배포가 모두 끝난 직후 EndUser가 실제 어플리케이션을 사용할 수 있는 단계(==OPEN)


white&black box test 출처 : https://sw-ko.tistory.com/400

배포관련 더 참고할 것 : https://dev-luna-archive.tistory.com/4

                              https://onlyfor-me-blog.tistory.com/177 (cmd에서 자바파일 컴파일 방법)

 

+ Recent posts