소프트웨어 테스팅-개요
테스팅이란 무엇입니까?
테스트는 지정된 요구 사항을 충족하는지 여부를 찾기위한 의도로 시스템 또는 구성 요소를 평가하는 프로세스입니다. 간단히 말해서 테스트는 실제 요구 사항과 상반되는 차이, 오류 또는 누락 된 요구 사항을 식별하기 위해 시스템을 실행하는 것입니다.
ANSI / IEEE 1059 표준에 따라 테스트는 다음과 같이 정의 할 수 있습니다.-소프트웨어 항목을 분석하여 기존 조건과 필수 조건 (즉, 결함 / 오류 / 버그) 간의 차이를 감지하고 소프트웨어 항목의 기능을 평가하는 프로세스입니다.
누가 테스트합니까?
프로세스 및 프로젝트의 관련 이해 관계자에 따라 다릅니다. IT 산업에서 대기업은 주어진 요구 사항의 맥락에서 개발 된 소프트웨어를 평가할 책임이있는 팀을 보유하고 있습니다. 또한 개발자는 테스트를 수행합니다.Unit Testing. 대부분의 경우 다음 전문가는 각자의 능력 내에서 시스템을 테스트하는 데 관여합니다.
- 소프트웨어 테스터
- 소프트웨어 개발자
- 프로젝트 리드 / 관리자
- 최종 사용자
소프트웨어 테스터, 소프트웨어 품질 보증 엔지니어, QA 분석가 등과 같은 경험과 지식을 기반으로 소프트웨어를 테스트하는 사람들을 회사마다 다르게 지정합니다.
주기 중에는 소프트웨어를 테스트 할 수 없습니다. 다음 두 섹션에서는 테스트를 시작해야하는시기와 SDLC 중에 종료 할시기를 설명합니다.
언제 테스트를 시작해야합니까?
테스트를 일찍 시작하면 재 작업에 소요되는 비용과 시간이 줄어들고 클라이언트에 제공되는 오류없는 소프트웨어가 생성됩니다. 그러나 SDLC (Software Development Life Cycle)에서는 요구 사항 수집 단계에서 테스트를 시작하여 소프트웨어 배포까지 계속할 수 있습니다.
또한 사용중인 개발 모델에 따라 다릅니다. 예를 들어 Waterfall 모델에서 공식 테스트는 테스트 단계에서 수행됩니다. 그러나 증분 모델에서는 모든 증분 / 반복이 끝날 때 테스트가 수행되고 마지막에 전체 응용 프로그램이 테스트됩니다.
테스트는 SDLC의 모든 단계에서 다양한 형태로 수행됩니다.
요구 사항 수집 단계에서 요구 사항의 분석 및 검증도 테스트로 간주됩니다.
디자인을 개선하려는 의도로 디자인 단계에서 디자인을 검토하는 것도 테스트로 간주됩니다.
코드 완료시 개발자가 수행 한 테스트도 테스트로 분류됩니다.
언제 테스트를 중지해야합니까?
테스트는 끝이없는 프로세스이고 아무도 소프트웨어가 100 % 테스트되었다고 주장 할 수 없기 때문에 테스트를 중지 할시기를 결정하는 것은 어렵습니다. 테스트 프로세스를 중지하기 위해 다음 측면을 고려해야합니다.
마감일 테스트
테스트 케이스 실행 완료
특정 지점까지 기능 및 코드 커버리지 완료
버그 비율이 특정 수준 이하로 떨어지고 우선 순위가 높은 버그가 식별되지 않습니다.
경영 결정
확인 및 검증
이 두 용어는 서로 바꿔서 사용하는 대부분의 사람들에게 매우 혼란 스럽습니다. 다음 표는 검증과 검증의 차이점을 강조합니다.
Sr. 아니. | 확인 | 확인 |
---|---|---|
1 | 검증은 "당신이 제대로 구축하고 있습니까?"라는 우려를 해결합니다. | 유효성 검사는 "올바른 것을 구축하고 있습니까?"라는 문제를 해결합니다. |
2 | 소프트웨어 시스템이 모든 기능을 충족하는지 확인합니다. | 기능이 의도 한 동작을 충족하는지 확인합니다. |
삼 | 확인이 먼저 이루어지며 문서, 코드 등을 확인합니다. | 검증은 검증 후에 이루어지며 주로 전체 제품을 점검합니다. |
4 | 개발자가 수행합니다. | 테스터가 수행했습니다. |
5 | 여기에는 소프트웨어를 확인하기위한 검토, 연습 및 검사 수집이 포함되므로 정적 활동이 있습니다. | 요구 사항에 대한 소프트웨어 실행을 포함하므로 동적 활동이 있습니다. |
6 | 이는 객관적인 프로세스이며 소프트웨어를 확인하는 데 주관적인 결정이 필요하지 않습니다. | 이는 주관적인 프로세스이며 소프트웨어가 얼마나 잘 작동하는지에 대한 주관적인 결정을 포함합니다. |