what is feature testing
이 포괄적 인 기능 테스트 자습서는 이것이 무엇인지, 왜 중요한지, 기능 테스트를 수행하는 방법을 설명합니다.
새로운 기능을 추가하거나 기존 기능을 수정하는 소프트웨어 변경을 '기능'이라고합니다. 기능 추가는 소프트웨어 개발 수명주기에서 중요한 역할을합니다. 기능은 소프트웨어의 기능을 결정하는 요소입니다.
효과적이고 매력적인 개발 기능을 사용하려면 제품의 품질을 유지하기 위해 테스트를 수행해야합니다. 기능 테스트는 새로 개발 된 기능에 버그가없고 예상대로 작동하는지 확인합니다. 초점은 클라이언트와 최종 사용자에게 제공되는 제품에 문제가 없는지 확인하는 것입니다.
학습 내용 :
기능 테스트 란 무엇이며 중요한 이유
기능 테스트는 소프트웨어에 새 기능이 추가되거나 기존 기능의 수정이 완료 될 때 수행됩니다. 추가 또는 수정 된 기능은 유용하고 흥미롭고 효과적인 방식으로 설계되었습니다.
새로운 기능으로 인해 많은 문제가 발생할 수 있기 때문에 기존 기능에서 발견되는 모든 문제로 개발되거나 수정 된 기능의 테스트는 매우 중요합니다. 이 테스트는 필요에 따라 회귀 테스트와 함께 올바르게 수행 될 것으로 예상됩니다.
예 : Apple과 Samsung은 품질을 향상시키고 고객이 새로운 애드온에 대해 알고 싶어 할 수 있도록 제품에 새로운 기능을 계속 추가하고 있습니다. 고객은 출시 될 새로운 기능을 주시하고 있으며 매력적이고 효과적인 기능을 통해 동일한 제품을 구매할 수 있습니다.
종단 간 테스트 대 회귀 테스트
기능 테스트를 수행하는 방법
아래 포인터를 따라 수행 할 수 있습니다.
- 가장 중요한 점은 기능 이해, 즉, 실제 요구 사항을 알기 위해. QA는 개발자의 릴리스 노트를 통해 정보를 얻을 수 있으며, 그래도 요구 사항에 대해 명확하지 않은 경우 QA는 계속 진행하기 위해 확인하고 동일한 정보를 얻어야합니다.
- 개발자는 QA가 집중해야하는 약점 또는 잠재적 인 문제와 소프트웨어 또는 기능이 중단 될 수있는 지점에 대해 공정한 아이디어를 가지고 있습니다. 따라서 QA는 테스트를 시작하기 전에 개발자와 동일한 사항을 논의해야합니다.
- 기능 테스트를 위해 빌드가 QA에 릴리스 될 때까지 QA는 테스트를위한 테스트 시나리오 / 케이스 . 빌드가 테스트를 위해 제공되면 QA는 테스트 케이스가 준비된 경우에만 테스트 케이스의 범위와 요구 사항 맵핑을 쉽게 추적 할 수 있습니다. 테스트를 시작하기 전에 QA에는 테스트를위한 모든 데이터가 있어야합니다. 양성 / 음성 테스트 케이스 경계 케이스를 검증합니다.
- 소프트웨어의 영향을받는 기능을 더 명확하게하기 위해 QA는 모든 백엔드 변경이 수행 된 작업과 기능이 구현 된 방법을 알아야합니다.
- 테스터는 새로운 기능을 가지고 놀아야하며 사용자가 수행 할 수있는 모든 긍정적, 부정적, 예상되는 예상치 못한 시나리오를 시도해야합니다.
- 빌드 테스트는 초기 단계 자체에서 시작되어야 버그를 제때 발견하고보고 할 수 있습니다. 릴리스 빌드 전반에 걸쳐 테스트를 수행해야하며 초기 단계에서 버그를 제기하여 버그를 수정하고 사용자에게 품질 기능을 제공해야합니다.
모바일 애플리케이션의 기능 테스트
포함 된 프로세스는 다음과 같습니다.
- 현장 테스트
- 커뮤니티 활용
- 응용 프로그램 통합
- 크라우드 소싱 테스트
- A / B 테스트
# 1) 현장 테스트
현장 테스트는 많은 장치와 테스터로 실시간 시나리오를 테스트하는 데 사용할 수 있습니다. 많은 수의 테스터, 장치 및 장치 유지 보수 비용이 많이 드는 테스트입니다. 테스터는 실시간 테스트에 필요한 통합 기능을 사용합니다.
# 2) 커뮤니티 활용
또 다른 방법은 애플리케이션의 새로운 기능에 대해 알파 및 베타 테스트를 수행하는 것입니다. 알파 및 베타 테스터는 애플리케이션이 실시간으로 작동하는 방식에 대한 실제 검토를 제공 할 수 있습니다. 그들의 피드백은 앱의 기능을 개선하는 데 도움이 될 수 있습니다.
# 3) 응용 프로그램 통합
어려운 상황에 대처하는 방법
응용 프로그램 통합, 즉 사용자 / 친구 / 동료 / 팀 구성원의 일상 활동에 기능을 통합하면 직면 한 문제 또는 기능에서 발견 된 버그에 대한 실시간 검토를 제공 할 수 있습니다. 또한 통합 응용 프로그램의 배터리 사용량과 장치와 응용 프로그램의 호환성을 파악하는 데 도움이 될 수 있습니다.
사용자가 다르고 자신의 모바일 세트를 가지고 있기 때문에이 기술을 사용하여 다른 장치에 대한 결과를 쉽게 사용할 수 있습니다.
# 4) 크라우드 소싱 테스트
크라우드 소싱 테스트는 다른 위치의 여러 테스터가 수행합니다. 이 기술은 일반적으로 소프트웨어가 사용자 중심적 일 때 사용됩니다. 응용 프로그램이 얼마나 효과적이고 효율적인지 그리고 모두가 동일한 장점 / 장점을 파악하는 데 도움이됩니다.
# 5) A / B 테스트
A / B 테스트는 성능 측면에서 어떤 버전의 모바일 애플리케이션이 더 나은지 확인하기 위해 수행됩니다 (예 : 애플리케이션의 버전 A와 애플리케이션의 버전 B 간의 비교).
애플리케이션을 사용하는 사용자, 애플리케이션에 대한 사용자의 참여율, 플랫폼을 유지하거나 떠난 사용자 수와 같이 A / B 테스트를 수행하는 동안주의해야 할 사항이 거의 없습니다.
처음에는이 기능을 제한된 트래픽으로 출시하여 사용자 유형을 염두에 두어야합니다. 즉, 기능에 적합한 사용자를 타겟팅해야합니다. 데이터가 수집되고 사용자의 데이터와 피드백을 기반으로 기능이 개선되면 더 많은 트래픽에 기능을 출시 할 수 있습니다.
테스트가 수행되면 버그 수정이 수행됩니다. 재 테스트, 회귀 (새로운 변경으로 인해 영향을받는 기능을 확인하기 위해)가 수행되었으며 애플리케이션을 사용자에게 실행할 준비가되었습니다. 동일한 내용에 대해 발표 할 수 있으며 응용 프로그램이 시작되면 피드백을 받아야하며 개발자는 응용 프로그램을 개선하기 위해 동일한 작업을 수행해야하며 사용자가 발견 한 버그가 새 릴리스에서 수정되고 릴리스되어야합니다.
애자일 기능 테스트
애자일 방법론에서는 테스터와 개발자가 함께 작업합니다. Agile의 모든 반복에는 테스트 단계가 있습니다. 즉, 모든 반복 테스트가 수행됩니다. 실행할 기능의 테스트는 구현 시점에만 시작됩니다. 반복 기능이 끝나면 배송 준비가 완료되면 고객에게 릴리스 할 수 있습니다.
Agile에서는 테스터가 기능을 테스트 할뿐만 아니라 개발자 및 비즈니스 분석가도 테스트합니다.
애자일 테스트 방법
# 1) 행동 기반 개발
이 방법에서는 모든 이해 관계자 (예 : 개발자, 테스터 및 비즈니스 분석가)간에 지속적인 토론이 이루어지며 개발이 시작되기 전에 기능의 다양한 측면 / 시나리오가 고려됩니다.
swf 파일이란 무엇이며 어떻게 열 수 있습니까?
# 2) 수용 테스트 주도 개발
이 방법에서는 고객, 개발자, 테스터, 비즈니스 분석가 모두 참여합니다. 고객은 문제를 해결하는 데 집중하고 개발자는 해결 방법에 집중하며 테스터는 해결해야 할 기능에서 문제를 찾는 사람입니다.
기능 테스트 대 통합 테스트 대 단위 테스트
단위 테스트 | 통합 테스트 | 기능 테스트 |
---|---|---|
단위 테스트는 개별 코드, 즉 작은 코드가 제대로 작동하는지 확인합니다. | 통합 테스트는 하나 이상의 장치가 통합되면 제대로 작동하는지 확인하기 위해 수행됩니다. | 기능 테스트는 실제 사용자와 같은 기능 테스트입니다. 실제 사용자가 기능을 사용하는 방법과 같습니다. |
코드가 적절하게 작성되고 나머지, 즉 객체 등과 분리되면 즉각적인 결과를 제공합니다. 응용 프로그램은 심각한 경우를 처리 할 수 있습니다. | 초점은 적은 수의 모듈의 상호 작용에만 있습니다. | 기능 테스트의 경우 사용자가 볼 수있는 것을 테스트 할 수 있지만 그 이상이 아닌 테스트를 수행 할 수 있으므로 사용자는 손상된 애플리케이션을 찾을 수 없습니다. |
단위 테스트는 새 클래스가 작성되거나 버그가 수정되거나 기능이 변경 될 때마다 수행됩니다. | 통합 테스트는 새 장치가 시스템에 통합되거나 기존 장치 케이스가 업데이트 된 경우 수행됩니다. | 기능 테스트는 종단 간 테스트이며 새 기능이 소프트웨어에 추가되거나 기존 기능이 수정 될 때 수행됩니다. |
단위 테스트는 개발자가 직접 수행합니다. | 통합 테스트는 테스터가 수행합니다. | 기능 테스트는 테스터가 수행합니다. |
기능 테스트의 장점
이 테스트에는 몇 가지 장점이 있습니다. 다음은 다음과 같습니다.
- 이 테스트는 기능의 메트릭을 확인하는 데 도움이됩니다.
- 소프트웨어의 다른 구성을 확인할 수 있습니다.
- 버그 / 문제는 초기 단계에서 찾을 수 있습니다.
- 소프트웨어의 모든 요소를 테스트 할 수 있습니다.
- 이 테스트를 수행하는 동안 수행 된 다양한 통합을 확인할 수 있습니다.
- 지속적인 테스트 및 릴리스를 통해 소프트웨어의 품질을 높일 수 있습니다.
기능 테스트와 기능 테스트의 차이점은 무엇입니까?
기능 테스트는 새로운 기능 또는 소프트웨어의 기존 기능에서 수행 된 수정을 테스트하는 반면, 기능 테스트는 클라이언트가 제공하는 요구 사항에 대해 전체 소프트웨어의 기능을 테스트합니다.
자주 묻는 질문
Q # 1) 새로운 기능을 어떻게 테스트합니까?
대답 : 새로운 기능은 현장 테스트 / 알파 / 베타 테스트, A / B 테스트와 같은 여러 방법으로 테스트 할 수 있습니다. 이 기능은 한 번에 모든 사용자에게 노출되지 않습니다. 첫째, 필요한 잠재 고객을 타겟팅하고 성공한 경우 더 많은 잠재 고객을 타겟팅 할 수 있습니다.
Q # 2) 새로운 기능은 어떻게 시작합니까?
대답 : 새 기능을 시작하려면 다음 단계를 따르십시오.
- 출시 할 기능에 적합한 대상을 타겟팅하십시오.
- 트래픽에 부분적으로 기능을 시작하십시오.
- 데이터를 수집하고 그에 따라 기능을 구체화하십시오.
- 트래픽의 다른 부분에 기능을 시작합니다.
- 사용자가 제공 한 피드백을 수집하고 모든 이해 관계자와 공유합니다.
Q # 3) 기능 수준 테스트 란 무엇입니까?
대답 : 기능 수준 테스트는 다양한 버전의 소프트웨어를 테스트하고 새 기능이 다른 기능 중 최고인지 여부를 확인하는 것입니다.
결론
기능 테스트는 테스트의 중요한 측면 중 하나이며 이미 시장에 나와있는 응용 프로그램 / 소프트웨어의 새 기능을 출시하는 데 도움이됩니다.
기존 기능을 수정하거나 유용하고 사용자가 쉽게 수용 할 수있는 새로운 기능을 도입하여 이해 관계자가 제품의 품질을 향상시킬 수 있도록 도와줍니다. 조직은 소프트웨어가 의도 한대로 작동하지 않는 경우에도 금전적 손실에 직면 할 수 있습니다. 따라서 출시 전에 기능 테스트가 매우 필요합니다. .
추천 도서
- 애자일 프로세스로의 성공적인 전환을위한 애자일 테스트 마인드 개발을위한 4 단계
- 2021 년 상위 10 가지 애자일 테스트 도구
- 테스트 관리 도구가 가져야하는 4 가지 필수 기능
- DevOps의 지속적인 통합
- 지속적인 통합 프로세스 : 소프트웨어 품질을 개선하고 위험을 줄이는 방법
- 2021 년에 가장 인기있는 단위 테스트 도구 20 가지
- 단위 테스트, 통합 테스트 및 기능 테스트의 차이점
- 급증하는 애자일 테스트 – Boon 또는 Bane?