2023. 4. 5. 20:16ㆍ자격증/ICDL Computing PYTHON
5.1 테스트
5.1.1 프로그램 개발 단계
1. 요구사항 분석Requirements Analysis; 사용자의 정확한 요구사항, 즉 정보를 파악. 사용자와의 대화와 업무 범위를 파악하는 과정.
2. 소프트웨어/시스템 설계Software/System Design; 개발될 프로그램을 설계. 객체의 표현 방식을 택하고 각각의 연산을 위한 알고리즘을 작성.
3. 프로그래밍Programming, Coding; 설계된 논리를 직접 프로그램 언어로 바꾸는 작업.
4. 테스트 Software Testing; 실제 데이터나 모의 데이터를 이용하여 검증.
5. 배포/사용Release/Use; 프로그램을 사용자가 받아서 사용.
6. 유지보수Maintenance; 사용자가 사용하는 중에 발생하는 오류나 새 기능, 운영체제변경upgrade을 재개발하는 과정.
5.1.2 테스트
- 단위 테스트unit test; 최소 단위들인 기능, 함수 등을 대상으로 테스트 수행.
- 구성 테스트component test; 프로그램의 각 단위를 연동하여 각 단위가 예상대로 동작하는지 확인하여 여러 단위를 복합적으로 확인하는 과정.
- 시스템 테스트system test; 프로그램을 구상하고 있는 모든 단위와 그 프로그램이 동작하는 HW(서버, PC 등) 등을 대상으로 시스템 전체가 상호작용에 문제가 없는지 확인하는 과정.
- 베타 테스트beta test; 사용자에게 공개하기 직전의 종합 테스트. 전체적인 사용이나 활용에 문제가 없는지 최종 확인.
5.1.3 실행run
# 윈도우 바탕화면에서 파이썬 명령을 호출한다.(X) ->파이썬 아이콘이 있을 경우 실행시킬 수 있다.
5.2 프로그래밍 에러와 디버그
5.2.1 에러의 구분
# 시스템 에러는 프로그램 에러의 종류는 아니다.
5.2.2 문법 에러(구문 에러, Syntax error) - 프로그램을 실행하지 않고 오류 발견.
1. 인용부호 에러
>>>'hello"
Syntax error: EOL while scanning string literal
2. 들여쓰기 에러
unexpected indent
3. 구두점punctuation 에러
조건문 같은 거에 콜론 빠져있으면.
invalid syntax
5.2.3 런타임 에러 (runtime error), 예외처리
; 실행하는 동안 발생하는 에러. 처리하고자 하는 값이 잘못되어 발생하거나, 실행되는 컴퓨터의 리소스(메모리, 디스크용량)가 부족한 경우 등 다양한 환경에서 발생할 수 있음.
1. 연산자 오류
문자열은 /, - 사용할 수 없음.
TypeError: unsupported operand type(s) for /: 'str' and 'str'
2. 0으로 나누기 에러ZeroDivisionError
숫자를 0으로 나누려고 할 때.
ZeroDivisionError: division by zero
3. 잘못된 명명naming
잘못된 변수 이름을 사용하면.
NameError: name '변수' is not defined
예외exception처리
에러로 인해 프로그램이 강제종료된다면 프로그램을 처음부터 다시 수행하거나 자료를 다시 입력해야 하는 등의 문제가 생길 수 있어 종료되지 않게 처리해야만 함.
while True:
x=int(input('분모'))
y=int(input('분자'))
try:
print(x/y)
except ZeroDivisionError: #except 에러종류:
print('분모가 0으로 입력되었습니다.')
# 에러의 종류 확인할 수 없을 때
except Exception:
print('에러발생')
5.2.4 논리에러logic error
; 설계 및 개발자의 실수 등에 의해 발생할 수 있음. 문법오류는 없음. 아무런 오류 메시지 출력하지 않음.
5.3 디버그 기능
디버깅: 프로그램에서 잘못된 부분을 찾아서 수정하거나 처리하는 과정
Shell메뉴에서 Debug->Debugger를 실행. 확인해보고 싶은 부분에 커서를 위치시킨 후 오른쪽 마우스를 이용하여 'Set Breakpoint'를 설정. 중단점이 설정되면 관련 부분은 노란색으로 표시됨.
5.4 버전과 릴리스
구분된 제품도 프로그램이 갱신되거나 변경된 주기에 따라 버전version을 통해 구분하게 됨.
배포release: 실제 개발행위가 완료되어 사용자에게 전달됨.
각 배포들은 배포 시점에 따른 기능상의 차이를 표기하기 위해 version을 표시하여 관리되는 것.
버전은 일반적으로 개발단계에서는 0.1과 같은 소수점 아랫자리로 부여. 여기서 버그패치등을 하면 추라고 한자리 더 붙여서 0.11과 같이 수정.
이후 기능 개선과 같이 좀 더 많은 수정 있으면 0.2와 같은 버전올림 수행.
최종 테스트 후 사용자에게 배포하여 사용하게 하는 베타 테스트 단계에서는 0.9같은 1과 가까운 수 부여.
최종 배포 시 1.0 부여한 후 지속적으로 관리.
- 웹서비스의 배포; 서비스하고있는 웹서버나 WAS 상에 작성한 프로그램을 사용자가 사용할 수 있도록 설치하는 행위를 지칭.
-PC 프로그램 배포; PC에서 단독적으로 실행할 수 있도록 .exe와 같은 실행파일 형태로 만들어 배포.
# 소프트웨어의 변경을 나타내는 숫자를 버전이라고 함.
'자격증 > ICDL Computing PYTHON' 카테고리의 다른 글
[ICDL Computing(PYTHON)] 모의고사 2회 (0) | 2023.04.08 |
---|---|
[ICDL Computing(PYTHON)] 모의고사 1회 (0) | 2023.04.06 |
[ICDL Computing(PYTHON)] 4장. 코드 작성 (0) | 2023.04.05 |
[ICDL Computing(PYTHON)] 3장. 코드 기초 (0) | 2023.04.05 |
[ICDL Computing(PYTHON)] 2장. 컴퓨팅 사고 (0) | 2023.04.01 |