테스트 및 품질 보증
소프트웨어 시스템은 각 개발 단계에서 의도 된 동작과 진행 방향을 확인하여 노력의 중복, 시간 및 비용 초과를 방지하고 규정 된 시간 내에 시스템 완료를 보장해야합니다. 노력의 중복, 시간 및 비용 초과를 방지하고 규정 된 시간 내에 시스템 완료를 보장하기 위해 각 개발 단계에서 의도 된 동작 및 진행 방향.
시스템 테스트 및 품질 보증은 시스템 점검에 도움이됩니다. 그것은 포함합니다-
- 제품 수준 품질 (테스트)
- 프로세스 수준 품질.
간단히 살펴 보겠습니다.
테스팅
테스트는 시스템의 품질과 안정성을 향상시키기 위해 지정된 사용자 요구 사항에 따라 소프트웨어의 기능과 정확성을 확인하는 프로세스 또는 활동입니다. 전체 테스트 프로세스에 대한 적절한 계획이 필요한 시스템 개발에서 비용이 많이 들고 시간 소모적이며 중요한 접근 방식입니다.
성공적인 테스트는 오류를 찾는 테스트입니다. 오류를 찾기위한 명시적인 의도로 프로그램을 실행합니다. 즉, 프로그램을 실패시킵니다. 강력한 시스템을 만들려는 의도로 시스템을 평가하는 과정으로 주로 시스템이나 소프트웨어의 취약한 부분에 집중합니다.
시스템 테스트의 특성
시스템 테스트는 모듈 수준에서 시작하여 전체 소프트웨어 시스템 통합으로 진행됩니다. 시스템을 테스트하는 동안 다른 테스트 기술이 다른 시간에 사용됩니다. 소규모 프로젝트의 경우 개발자가, 대규모 프로젝트의 경우 독립 테스트 그룹에서 수행합니다.
시스템 테스트 단계
다음 단계가 테스트에 포함됩니다.
Test Strategy
시스템 테스트에 사용되는 다양한 수준, 방법, 도구 및 기술에 대한 정보를 제공하는 설명입니다. 조직의 모든 요구를 충족시켜야합니다.
Test Plan
시스템 테스트 계획을 제공하고 테스트중인 시스템이 모든 설계 및 기능 사양을 충족하는지 확인합니다. 테스트 계획은 다음 정보를 제공합니다.
- 각 테스트 단계의 목표
- 테스트에 사용되는 접근 방식 및 도구
- 각 테스트 활동에 필요한 책임과 시간
- 도구, 시설 및 테스트 라이브러리의 가용성
- 테스트 계획 및 수행에 필요한 절차 및 표준
- 테스트 프로세스의 성공적인 완료를 담당하는 요소
Test Case Design
테스트 할 시스템의 각 모듈에 대해 여러 테스트 케이스가 식별됩니다.
각 테스트 사례는 특정 요구 사항 또는 디자인 결정의 구현을 테스트하는 방법과 테스트 성공 기준을 지정합니다.
테스트 계획과 함께 테스트 사례는 시스템 사양 문서의 일부로 또는 별도의 문서로 문서화됩니다. test specification 또는 test description.
Test Procedures
각 테스트 케이스를 실행하기 위해 따라야하는 단계로 구성됩니다. 이러한 절차는 테스트 절차 사양이라는 별도의 문서에 지정되어 있습니다. 이 문서는 또한 테스트 결과를보고하기위한 특수 요구 사항 및 형식을 지정합니다.
Test Result Documentation
테스트 결과 파일에는 실행 된 총 테스트 케이스 수, 오류 수 및 오류 특성에 대한 간략한 정보가 포함됩니다. 이러한 결과는 테스트 사양의 기준에 따라 평가되어 테스트의 전체 결과를 결정합니다.
테스트 유형
테스트는 다양한 유형이 될 수 있으며 발견하려는 버그의 종류에 따라 다양한 유형의 테스트가 수행됩니다.
단위 테스트
프로그램 테스트라고도하는 이는 분석가가 각 프로그램 또는 모듈을 독립적으로 테스트하거나 집중하는 테스트 유형입니다. 모듈의 각 문을 한 번 이상 실행하려는 의도로 수행됩니다.
단위 테스트에서는 프로그램의 정확성을 보장 할 수 없으며 다양한 입력 조합에 대한 세부적인 테스트를 수행하기가 어렵습니다.
다른 테스트 기술과 비교하여 프로그램의 최대 오류를 식별합니다.
통합 테스트
통합 테스트에서 분석가는 함께 작동하는 여러 모듈을 테스트합니다. 시스템과 원래 목표, 현재 사양 및 시스템 문서 간의 불일치를 찾는 데 사용됩니다.
여기에서 분석가들은 데이터 길이, 유형 및 데이터 요소 이름에 대한 다양한 사양으로 모듈이 설계된 영역을 찾으려고합니다.
파일 크기가 적절하고 인덱스가 제대로 빌드되었는지 확인합니다.
기능 테스트
기능 테스트는 사양 및 관련 표준 문서에 따라 시스템이 올바르게 작동하는지 확인합니다. 기능 테스트는 일반적으로 시스템의 구현으로 시작되며 이는 시스템의 성공에 매우 중요합니다.
기능 테스트는 두 가지 범주로 나뉩니다.
Positive Functional Testing − 생성 된 출력이 올바른지 확인하기 위해 유효한 입력으로 시스템을 테스트하는 것이 포함됩니다.
Negative Functional Testing − 유효하지 않은 입력 및 원하지 않는 작동 조건으로 소프트웨어를 테스트하는 것이 포함됩니다.
시스템 테스트 규칙
시스템 테스트를 성공적으로 수행하려면 주어진 규칙을 따라야합니다.
테스트는 사용자의 요구 사항을 기반으로해야합니다.
테스트 스크립트를 작성하기 전에 비즈니스 로직을 철저히 이해해야합니다.
테스트 계획은 가능한 한 빨리 이루어져야합니다.
테스트는 타사에서 수행해야합니다.
정적 소프트웨어에서 수행해야합니다.
유효하고 유효하지 않은 입력 조건에 대해 테스트를 수행해야합니다.
비용을 줄이기 위해 테스트를 검토하고 검사해야합니다.
정적 및 동적 테스트는 모두 소프트웨어에서 수행되어야합니다.
테스트 케이스와 테스트 결과를 문서화해야합니다.
품질 보증
시스템이 요구 사항 및 사양을 충족하는지 확인하기 위해 시스템 또는 소프트웨어 제품 및 해당 문서를 검토합니다.
QA의 목적은 사양에 따라 제품을 지속적으로 배송하여 고객에게 신뢰를 제공하는 것입니다.
SQA (Software Quality Assurance)는 소프트웨어 전문가가 소프트웨어가 의도 된 사용 및 성능에 대해 지정된 표준을 충족하는지 확인하기 위해 적용하는 절차 및 도구를 포함하는 기술입니다.
SQA의 주요 목표는 소프트웨어 프로젝트 및 개발 된 제품에 대한 적절하고 정확한 가시성을 관리에 제공하는 것입니다.
시스템 개발 수명주기 동안 소프트웨어 제품 및 해당 활동을 검토하고 감사합니다.
품질 보증의 목적
품질 보증을 수행하는 목적은 다음과 같습니다.
소프트웨어 개발 프로세스 및 개발 된 최종 소프트웨어를 모니터링합니다.
소프트웨어 프로젝트가 경영진이 설정 한 표준 및 절차를 구현하고 있는지 확인합니다.
그룹 및 개인에게 SQA 활동 및 이러한 활동의 결과에 대해 알립니다.
소프트웨어 내에서 해결되지 않은 문제는 상위 관리자가 해결하도록합니다.
제품, 프로세스 또는 표준의 결함을 식별하고 수정합니다.
품질 보증 수준
소프트웨어 제품을 인증하기 위해 수행해야하는 여러 수준의 QA 및 테스트가 있습니다.
Level 1 − Code Walk-through
이 수준에서 오프라인 소프트웨어는 공식 코딩 규칙 위반 여부를 검사하거나 확인합니다. 일반적으로 문서 및 코드 내 주석 수준을 검토하는 데 중점을 둡니다.
Level 2 − Compilation and Linking
이 수준에서는 소프트웨어가 모든 공식 플랫폼과 운영 체제를 컴파일하고 연결할 수 있는지 확인합니다.
Level 3 − Routine Running
이 수준에서는 일정 수의 이벤트, 크고 작은 이벤트 크기 등 다양한 조건에서 소프트웨어가 제대로 실행될 수 있는지 확인합니다.
Level 4 − Performance test
이 최종 단계에서 소프트웨어의 성능이 이전에 지정된 성능 수준을 충족하는지 확인합니다.