분류 전체보기(76)
-
[정보처리기사 실기] 10장 애플리케이션 테스트 관리 - 테스트 케이스 설계
애플리케이션 테스트 케이스 작성 소프트웨어 테스트 이해 (1) 개념 : 개발된 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등 만족하는지 확인하고 노출되지 않은 결함 발견 (2) 필요성 : 오류 발견 관점, 오류 예방 관점, 품질 향상 관점 (3) 기본 원칙 결함 존재 증명, 완벽 테스팅은 불가능, 초기 집중, 결함 집중, 살충제 패러독스, 정확 의존성, 오류 부재의 궤변 테스트 프로세스 테스트 계획 -> 분석 및 디자인 -> 케이스 및 시나리오 작성 -> 테스트 수행 -> 결과 평가 및 리포팅 산출물 : 테스트 계획서, 베이시스, 케이스, 슈트, 시나리오, 스크립트, 결과서 소프트웨어 테스트 유형 - 실행 여부, 상세 기법, 시각, 목적, 종류에 따라 분류 (1) 실행 여부에 따른 분류 정..
2022.04.24 -
[정보처리기사 실기] 9장 소프트웨어 개발 보안 구축 - 소프트웨어 개발 보안 구현
SW 개발 보안 구현 시큐어 코딩 가이드 - 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로 안전한 소프트웨어 개발, 보안 약점을 방지하기 위한 시큐어 코딩 가이드 필요 시큐어 코딩 가이드 : 입력 데이터 검증 및 표현, 보안 기능, 시간 및 상태, 에러 처리, 코드 오류, 캡슐화, API 오용 입력 데이터 검증 및 표현 (1) 개념 : 입력 데이터 검증 및 표현 , 입력 데이터로 인해 발생하는 문제들을 예방하기 위한 단계, 유효성 검증을 갖추고 검증 되지 않은 데이터 입력 처리 가능 (2) 취약점 XSS : 검증 되지 않은 외부 입력 데이터가 포함 된 경우, 부적절한 스크트립가 실행 특수 문자 등록 방지위해 필터링, HTML 태그 사용 금지, 자바스크립트로 시작하는 ..
2022.04.23 -
[정보처리기사 실기] 9장 소프트웨어 개발 보안 구축 - 소프트웨어 개발 보안 설계
소프트웨어 개발 보안 설계 SW 개발 보안의 개념 - 개발과정에 지켜야 할 일련의 보안 활동 : 요구 사항 명세 -> 설계 -> 구현 -> 테스트 -> 유지 보수 구성요소 - 3대 요소 : 기밀성, 무결성, 가용성 - 보안 용어 : 자산, 위협, 취약점, 위험 보안을 위한 공격기법의 이해 (1) 도스 공격 : 악의적으로 공격해 시스템 자원 고갈시키는 것, TCP 연결을 소진시키는 공격 SYN 플러딩 : TCP 구조적 문제를 이용, SYN 패킷만 보내 점유해 사용자가 서버 사용 불가능하게 만듬, 공격자는 ACK 발송하지 않고 새로운 연결 요철을 하게 되어 자원만 소비 고갈 UDP 플러딩 : 대량의 UDP 만들어 임의의 포트 번호로 전송해 응답 메시지 생성하게 해 지속적 자원 고갈, ICMP 패킷은 변도되어..
2022.04.23 -
[정보처리기사 실기] 8장 서버 프로그램 구현 - 서버와 배치 프로그램 구현
서버 프로그램 구현 서버 프로그램 구현의 개념 - 업무 프로세스를 기반으로 언어와 도구를 이용해 서비스 제공에 필요한 기능 구현 - 구현은 대게 VO -> SQL -> DAO -> Service -> Controller 순으로 구현 DTO/VO : 데이터베이스에 저장하는 객체 구현 SQL 문 구현 : VO에 정의 한 객체 정보에 맞게 테이블 생성 -> Mybatis XML 구현 DAO : SQL 구현한 XML id 호출해 조작 Service : Dao를 호출해 서비스를 선언 및 구현 Controller : 단위 모듈의 메인 로직을 구현 입출력 검증 로직 구현 : 성공 실패 메시지 호출해 검증 로직 구현 배치 프로그램 배치 프로그램 개념 - 사용자와 상호 작용 없이 일련의 작업들을 작업 단위로 묶어 정기적..
2022.04.23 -
[정보처리기사 실기] 8장 서버 프로그램 구현 - 공통 모듈 구현
공통 모듈 구현 공통 모듈 구현의 개념 (1) 모듈의 개념 - 모듈은 완전한 기능을 수행할 수 있는 독립된 실체, 서브프로그램, 서브 루틴, 소프트웨어 내의 단위 프로그램, 작업 단위와 같은 의미로 사용 (2) 특징 - 각 모듈을 상대적으로 독립성을 가지고 있다, 모듈을 통합해 수 많은 조합 존재, 독립성이 클 수록 모듈 수정에도 영향을 주지 않고 오류도 쉽게 해결, 독립성은 결합도와 응집도에 의해 측정, 독립성 높이려면 결합도는 약하게 응집도는 강하게 모듈의 크기는 작게 만든다. (3) 개념 및 기법 - 모듈화는 소프트웨어 성능을 향상, 수정, 재사용, 유지 관리 용이 루틴 : 특정 동작 수행하는 일련의 코드 모임 메인 루틴 : 주요한 부분, 개략적인 동작 절차를 표시하도록 만들어진 후틴, 서브 루틴 ..
2022.04.23 -
[정보처리기사 실기] 8장 서버 프로그램 구현 - 개발 환경 구축
개발환경 구축 개발환경 구축의 개념 - 요구사항의 명확한 이해가 필요, 개발도구와 서버의 선정이 이뤄져야하고, 도구의 편의성과 성능, 라이선스 확인 개발 도구 분류 빌드 도구 : 빌드 및 배포를 수행하는 도구, 구서요소와 모듈에 대한 의존성 관리 지원 Ant, Maven, Gradle etc.. 구현 도구 : 코드 작성과 디버깅, 수정 등과 작업을 지원, 개발때 가장 많이 사용 Eclipse, IntelliJ etc.. 테스트 도구 : 검증과 분석을 위한 도구 xUnit, PMD, Findbugs, Cppcheck, Sonar etc.. 형상관리 도구 : 코드와 리소스 산출물에 대한 버전 관리 도구 CVS, Subversion, Git etc.. 개발 환경 구성 요소 (1) 하드웨어 개발 환경 서버 하드..
2022.04.23