컴퓨터공학2학년/SW테스팅

    [SW테스팅] 정적 기법

    정적 기법 SW를 실행하지 않고 테스팅하는 기법 동적 테스팅과 달리 장애보다는 장애의 원인(결함)을 발견 리뷰 코드를 포함해 SW개발 및 테스트 산출물을 검토하고 테스팅하는 방법. 동적 테스팅 전에 수행 -> 초기 결함의 수정은 비용 절감에 도움이 된다 리뷰의 이점 조기 결함 발견 및 수정 개발 생산성 향상 개발 기간 단축 테스팅 비용 감소 및 시간 단축 개발 생명주기 전체에 걸친 비용 감소 결함 감소(품질 향상) 커뮤니케이션 향상 리뷰를 통해 발견하기 쉬운 결함 표준 위반 요구사항 결함 개발 설계 결함 불충분한 유지보수성 부정확한 인터페이스 명세 최근 테스팅 결함 예방 활동 강조 조기 테스트 설계 -> 초기에 결함을 줄임 프로젝트 초기에 모든 테스트 케이스 생성은 부적절 리스크가 높거나 중요한 기능에 ..

    [SW테스팅] 테스트 유형

    테스트 유형은 테스트 목적에 따라 구분 소프트웨어가 수행하는 기능에 대한 테스팅 호환성, 신뢰성, 사용성과 같은 비기능적인 품질 특성 테스팅 소프트웨어나 시스템의 구조나 아키텍처에 대한 테스팅 변경 내용에 관련된 테스팅(확인테스팅, 리그레션 테스팅) 기능적 테스팅 -> 명세 기반 기법(블랙 박스) 프로세스 흐름 모델(기능이 잘되나) 구조적 테스팅 -> 구조 기반 기법(화이트 박스) 제어 흐름 모델(내부 구조가 문제없나) 기능 테스팅 문서화 되어 있거나 테스터가 알고 있는 기능과 특징 그리고 그것들과 특별한 시스템과의 상호 운용성을 수행하며 모든 테스트 레벨에서 수행 -> 무엇(what)을 의미 명세 기반 기법(블랙박스 테스팅)을 이용해 테스트 조건과 테스트 케이스를 도출하고 SW의 외부적인 행동을 고려 ..

    [SW테스팅] SW테스팅을 제약하는 요소

    최근 SW는 전통적인 컴퓨팅 영역을 탈피했다. SW개발 프로세스 품질의 중요성과 함께 SW결함을 사전에 진단하고 정상 동작여부를 시험하는 테스팅의 중요성 부각 품질에 대한 인식 높아져 기대 수준 높아짐 -> 리스크 관리 필요 체계적인 테스팅을 위해서는 테스트의 우선순위가 중요하다. 테스트에 대한 문제점 테스터가 테스팅에 대해 너무 단편적으로 알고 있는것은 체계적인 테스팅을 제약하는 요인이된다. 개념과 연관성 이해 리스크 기반 테스팅 접근법 / 테스트 기법 / 테스트 커버리지 이론을 실무에 적용하는 노력 필요 의사결정권자와 매니저의 테스팅에 대한 인식 부족 임시방편 테스트 자동화 도구의 중장기적 계획 or 테스트 프로세스 정립 필요 테스팅을 투자가 아닌 불필요한 비용으로 인식

    [SW테스팅] 테스팅의 심리학

    개발자와 테스팅 엔지니어 분리 -> 각자의 활동에 집중 테스팅 독립성 -> 단계가 오를수록 독립성이 높아짐 테스트 대상 소프트웨어의 개발자가 설계한 테스트 개발팀 내의 다른 인원이 설계한 테스트 다른 그룹의 독립적인 테스트 팀의 인원, 또는 테스트 전문가 가 설계한 테스트 다른 조직 또는 다른 회사의 인원이 설계한 테스트 테스팅 진행하는 동안 결함을 식별하는 과정 작성자에 대한 비판으로 오해될 소지 존재 오류나 결함, 장애가 긍정적인 방법으로 의사소통 된다면 테스터와 개발자 간에 발생할 수 있는 감정 악화를 피할 수 있다. 좋은 대인관계가 필요 테스터의 역할 다툼보다는 협력으로 시작 -> 공통적인 목표를 모든 사람에게 비평을 배제하고 중립적이고 사실에 근거한 제품의 결함만 전달하려고 노력한다. 상호간의 ..

    [SW테스팅] 테스팅의 일반적인 원리

    원리1. 테스팅은 결함이 존재함을 밝히는 활동이다. 테스팅은 잠재적으로 존재하는 결함을 줄임. 결함이 없다고 증명할 수는 없다. 원리2. 완벽한 테스팅은 불가능하다 한 프로그램 내에 내부 조건이 많음 입력이 가질 수 있는 모든 값의 조합이 무수히 많음 이벤트 발생시 발생 순서에 대한 조합도 무수히 많음 리스크에 따라 테스트 강도 높게 수행 -> 실제 완벽은 불가 원리3. 테스팅을 개발 초기에 시작한다. 개발의 시작과 동시에 테스트를 계획하고 전략적으로 접근 요구사항 분석서와 설계서 등의 개발 산출물 분석 후 테스트 케이스 도출 원리4. 결함 집중 대다수의 결함들은 소수의 특정 모듈에 집중되어 발생하는 경향을 보임 결함의 집중은 운영상의 장애를 초래 복잡한 구조의 모듈 다른 모듈과 다량의 상호작용을 하는 ..