728x90

테스트 자동화 도구

테스트 자동화의 개념

- 반복적인 테스트 절차를 스크립트 형태로 구현하는 자동화 도구를 적용하여 쉽고 효율적으로 테스트 수행

 

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

- 장점

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

    -> 향상된 테스트 품질 보장

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

    -> 테스트 결과에 대한 객관적인 평가 기준 제공

    -> 테스트 결과를 다양한 표시 형태로 제공

    -> UI가 없는 서비스도 정밀 테스트 가능

- 단점

    -> 사용방법에 대한 교육 및 학습 필요

    -> 자동화 도구를 프로세스 단계별로 적용하기 위한 시간, 비용, 노력이 필요

 

테스트 자동화 수행 시 고려사항

- 모든 과정이 아닌 그때그때 맞는 적절한 도구를 선택

- 자동화 도구를 고려하여 프로젝트 일정 계획

- 프로젝트 초기에 테스트 엔지니어 투입 시기 계획

 

테스트 자동화 도구의 유형

- 정적 분석 도구 : 프로그램을 실행하지 않고 소스코드를 통해 결함을 발견

- 테스트 실행 도구 : 스크립트 언어를 사용하여 테스트를 실행

- 성능 테스트 도구 : 가상의 사용자를 만들어 테스트를 수행

- 테스트 통제 도구 : 테스트 계획 및 관리, 수행, 결함 관리 등을 수행

- 테스트 하네스 도구

    -> 테스트가 실행될 환경을 시뮬레이션하여 컴포넌트 및 모듈이 정상적으로 테스트되도록 함

    -> 구성요소 : 테스트 드라이버, 테스트 스텁, 테스트 슈트, 테스트 케이스, 테스트 스크립트, 목 오브젝트

 

테스트 수행 단계별 테스트 자동화 도구

- 테스트 계획 단계 : 요구사항 관리 도구

- 테스트 분석 및 설계 단계 : 테스트 케이스 생성 도구

- 테스트 수행 단계 : 테스트 자동화 / 정적 분석 / 동적 분석 / 성능 테스트 / 모니터링 도구

- 테스트 관리 단계 : 커버리지 분석 / 형상 관리 / 결함 추적 및 관리 도구

 

결함 관리

결함의 정의 

- 소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과가 발생하는 것

 

결함 관리 프로세스

- 애플리케이션 테스트에서 발견된 결함을 처리

 

결함 상태 추적

- 테스트에서 발견된 결함은 지속적으로 상태 변화를 추적하고 관리해야 함

- 결함 분포 : 특정 속성에 해당하는 결함 수 측정

- 결함 추세 : 시간에 따른 결함 수의 추이 분석

- 결함 에이징 : 결함 상태로 지속되는 시간 측정

 

결함 추적 순서

- 결함이 발견되고 해결될 때까지의 과정

 

결함 분류

- 시스템 결함 : 주로 애플리케이션이나 데이터베이스 처리에서 발생된 결함

- 기능 결함 : 애플리케이션의 기획, 설계, 업무 시나리오 등의 단계에서 유입된 결함

- GUI 결함 : 화면 설계에서 발생된 결함

- 문서 결함 : 기획자, 사용자, 개발자 간 의사소통 및 기록이 원활하지 않아 발생된 결함

 

결함 심각도

- 결함이 전체 시스템에 미치는 치명도를 High, Medium, Low로 나눔

 

결함 우선순위

- 발견된 결함 처리에 대한 신속성을 나타내는 척도

- 결함의 중요도와 심각도에 따라 설정되고 수정 여부 결정

- Critical, High, Medium, Low 또는 즉시 해결, 주의 요망, 대기, 개선 권고 등으로 분류

 

결함 관리 도구

- Mantis : 소프트웨어 설계 시 단위 별 작업 내용을 기록할 수 있어 결함 및 이슈 관리, 추적 도구

- Trac : 결함 추적 및 통합 관리 도구

- Redmine : 프로젝트 관리 및 결함 추적 도구

- Bugzilla : 결함을 지속적으로 관리하고 심각도와 우선순위를 지정할 수 있는 도구

 

애플리케이션 성능 분석

애플리케이션 성능

- 사용자가 요구한 기능을 최소한의 자원을 사용하여 최대한 많은 기능을 신속하게 처리하는 정도

- 측정 지표 : 처리량, 응답 시간, 경과 시간, 자원 사용률

 

성능 테스트 도구

- 애플리케이션의 성능을 테스트 하기 위해 부하나 스트레스를 가해 성능 측정 지표를 점검하는 도구

- JMeter : 다양한 프로토콜을 지원하는 부하 테스트 도구

- LoadUI : 사용자의 편리성이 강화된 부하 테스트 도구

- OpenSTA : HTTP, HTTPS 프로토콜에 대한 부하 테스트 및 생산품 모니터링 도구

 

시스템 모니터링 도구

- 애플리케이션 실행 중 시스템 자원의 사용량을 확인하고 분석하는 도구

- 성능 저하의 원인 / 시스템 부하량 / 사용자 분석과 같은 시스템을 안정적으로 운영할 수 있는 기능 제공

- Scouter, Zabbix

 

애플리케이션 성능 저하 원인 분석

- 애플리케이션을 DB에 연결하기 위해 커넥션 객체를 생성하거나 쿼리를 실행하는 애플리케이션 로직에서 자주 발생

 

애플리케이션 성능 개선

소스코드 최적화

- 나쁜 코드를 배제하고 클린 코드로 작성

- 클린 코드 작성 원칙 : 가독성, 단순성, 의존성 배제, 중복성 최소화, 추상화

 

소스 코드 최적화 유형

- 클래스 분할 배치, 느슨한 결합, 코딩 형식 준수, 좋은 이름 사용, 적절한 주석문 사용

필기 정리

 

2020 정보처리기사 필기 정리

본 정리 글은 시나공 정보처리기사 필기책과 학교 특강을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 필기 2020년 정보처리기사 NCS기반 전면 개편!정보처리기사 시험은 NCS 학습 모듈 중..

1d1cblog.tistory.com

 

728x90

+ Recent posts