how perform software product testing detailed process
소프트웨어 제품은 적절하고 정확하게 테스트하기 위해 고유 한 접근 방식이 필요합니다. 종종 팀은이를 다른 소프트웨어 (예 : 특정 클라이언트 또는 팀을 위해 구축 된 내부 응용 프로그램, 일반 대중이 액세스 할 수 없음, 수익 창출 불가)로 취급하며 이것이 문제의 시작점입니다.
소프트웨어 제품 테스트에는 가치를 추가하기위한 맞춤형 테스트 스타일과 전략이 필요합니다. 소프트웨어 제품 개발 및 생계는 그 자체로 복잡한 생태계이며 테스터가 성장하려면 적응해야합니다.
잠시 시간을내어 이것이 왜 중요한지, 그리고 제품 개발이 최고의시기에도 복잡하고 복잡하며 복합적이라고 생각하는 이유를 설명하겠습니다.
학습 내용 :
- 소프트웨어 제품 개발 과제 :
- 1 단계) 제품 소개
- 2 단계) 제품 성장
- 3 단계) 제품 성숙도
- 단계 # 4) 제품 감소 / 제품 성장으로의 순환
- 성공적인 제품 테스터가되는 이유는 무엇입니까?
- 추천 도서
소프트웨어 제품 개발 과제 :
다음은 소프트웨어 제품 개발 팀이 직면 한 몇 가지 과제입니다.
#1)사용자 인구 통계, 장치, 환경, 플랫폼 등에 대한 통제력 부족 : 특정 이해 관계자를 위해 구축 된 소프트웨어와 달리 소프트웨어 제품은 통제되고 예측 가능한 상황에서 사용되지 않습니다. 고려해야 할 요소가 너무 많습니다.
#두)안개 제품 비전 : 제품 동작과 기능이 영원히 변하고 있으며 성숙 단계가 명확하게 보이지 않습니다. 또는 제품이 너무 빠르게 성장하여 팀이 무슨 일이 일어나고 있는지 알지 못해 통제 불능 상태가됩니다.
#삼)공격적인 타임 라인 : 소프트웨어 제품 시장의 치열한 경쟁으로 인해 모든 것이 빠른 속도로 진행되어야하며 팀은 동료보다 한 발 앞서 있어야합니다. 그렇지 않으면 그들은 경쟁에서 질 것입니다.
# 4)실패의 두려움 : 소프트웨어 제품은 일반적으로 혁신적입니다. 따라서 그들의 성공이 항상 주어진 것은 아닙니다. 이것이 기업이 예산, 기술, 인프라 등의 측면에서 모든 것을 할 수없는 이유입니다. 실패 또는 손익분기 점으로부터 일정 수준의 면역을 확보하기 위해 종종 주저해야합니다.
# 5)실행 가능한 피드백 부족 : 이해 관계자 나 비즈니스 사용자 또는 클라이언트가 없기 때문에 최종 사용자가 무엇을 좋아할지 여부를 이해하기가 어렵습니다. 회사는 지속적으로 추측 게임을하고 있으며 소프트웨어에 대해 원하는 것과 고객이 원하는 것 사이의 격차를 해소하는 데 어려움을 겪습니다.
이러한 문제는 제품 개발, 마케팅 및 생계의 모든 영역에 영향을 미치며 본질적으로 제품 테스트에도 영향을 미칩니다.
게임에서 앞서 나가기 위해 이러한 유형의 테스트는 5 가지 핵심 사항을 고려해야합니다.
- 개발 및 출시 속도
- 제품의 단기 및 장기 제품 목표
- 경쟁의 범위와 성격
- 대상 고객 및 환경
- 요구 사항 – 기능, 성능, 보안, 유용성, 구성 등
자세한 내용을 살펴보기 전에 제품 수명주기 (일반적인 제품 수명주기이며 소프트웨어 제품에 국한되지 않지만 소프트웨어는 유사한 패턴을 따릅니다)를 이해합니다.
좋은 제품 테스트 전략 / 접근법은 제품 수명주기에서 제품의 현재 단계를 고려해야합니다.
또한 읽기 => 좋은 테스트 전략 문서를 작성하는 방법
예: XYZ 사의 제품은 'TrackFast'라는 결함 추적 소프트웨어입니다. 새로운 제품이며 첫 번째 버전은 클라우드 및 온 프레미스 솔루션으로 출시 될 예정입니다. TrackFast는 다른 결함 관리 시스템과 같이 작동하며 모바일 및 웹 액세스 용으로 제작되었습니다. 현재 제품이 부품으로 생성되는 2 ~ 4 주 스프린트가 있습니다. 고객을 만나기 전에‘TrackFast’를 테스트하는 테스트 팀에 속해 있습니다. 테스트에는 기능, 성능 및 보안 검사가 포함됩니다.
프로그래밍이 수행되는 소프트웨어 개발주기의 단계는 다음과 같습니다.
요약하면 이러한 매개 변수는 작업중인 매개 변수입니다. 또는 원하는 경우 이것이 귀하의 컨텍스트입니다.
각 단계에서 테스트하는 방법을 살펴 보겠습니다. 이것은 제품 테스트 각 단계의 프로세스, 방법 또는 수명주기.
1 단계) 제품 소개
TrackFast가 시장에 처음 출시되는 것이기 때문에 좋은 첫인상을 남기는 것이 아이디어입니다. 따라서 돌을 돌리지 마십시오. 모든 각도에서 모든 것을 테스트하십시오. 그 외에도 향후 테스트를위한 기반을 마련하십시오.
이 시점에서 좋은 테스트 전략에는 다음이 포함되어야합니다.
Windows 10 용 PC 클리너 무료 다운로드
- TrackFast의 단기 목표를 검증하는 테스트. '올바른 배송을 위해 무엇이 필요합니까?'가 테스트 노력의 최전선에 있어야합니다. 창조하다 종단 간 테스트 (프런트 엔드, 미들웨어 및 백엔드) 모든 기능에 대한 철저한 테스트
- TrackFast를 경쟁 제품과 비교하는 테스트 (이상적으로 이것은 제품 소유자의 일이지만 테스터로서 우리는 2 센트를 더할 수 있습니다. 또한 소프트웨어에 이미 일부 동료가있는 경우이 단계가 더 쉽습니다. 예를 들면 : TrackFast를 Bugzilla 또는 JIRA와 비교하는 것은 쉽습니다. 다른 레거시 시스템 . 하지만 제가 아기가 배고프거나 불안 할 때를 예측할 수있는 것과 같은 특이한 일을하는 앱을 만들고 있다고 가정 해 보겠습니다. :) 기준으로 사용할 수있는 애플리케이션을 찾기가 어려울 수 있습니다.)
- 플랫폼, 브라우저 및 장치 호환성 테스트
- 설치 용이성 테스트 , 설정 및 최신 정보 얻기
- 성능, 보안 및 사용성 테스트
- 통합 테스트 다른 시스템과 인터페이스하는 경우. 간단한 통합 예는 결함 추적 시스템이 종종 알림을 보내기 위해 이메일 클라이언트와 상호 작용한다는 것입니다.
- 회귀 계획 – 향후 회귀주기의 일부가 될 것으로 생각되는 중요 테스트에 플래그를 지정하거나 표시하고 향후 릴리스를 위해 자동화하는 것에 대해 생각하는 것이 좋습니다.
- 알려진 문제에 대한 계획 (백 로그에 추가하거나 CR 등으로 처리 할 예정입니까?)
- 제품이 다음 라이프 사이클 단계로 진행될 때 변경할 수있는 유연성.
제품이 나오기까지 시간이 오래 걸리는 경우도 있으므로 가능한 한 철저한 작업을 수행하는 데 항상 사용하십시오.
이 단계에서는 2-4 주 스프린트가 끝날 때 준비된 제품이 있지만 대부분의 경우 모든 스프린트에서 코드가 제공되지 않습니다. 따라서 마지막 스프린트 테스트는 '완료 및 전달'을 고려하지 마십시오. 출시 될 때까지 모든 스프린트에서 중요한 테스트를 반복합니다. 각 스프린트로 그 시점까지 보유한 전체 제품을 테스트하십시오.
2 단계) 제품 성장
초기 프로젝트 도입 후 모든 것이 순조롭게 진행되면 제품 성장이 빠르게 진행되는 차선이기 때문에 활동의 유입이 예상됩니다. 당신은 이제 큰 상어들과 함께 수영하고 있으며 계속 유지하지 않으면 움츠러 들게됩니다.
여기서 릴리스가 짧아지고 소프트웨어에 대한 개선 사항이 더 많아지고 회귀 범위가 거의 관리 할 수 없게됩니다.
제품 테스트 전략은 소프트웨어 개발이 진행되는 속도에 따라 작동해야하며 병목 현상이되지 않아야합니다.
도움이 될 수 있습니다.
- 프로젝트의 장기적인 목표를 염두에 두십시오. 지금 극복하는 것이 아닙니다. 그것은 기능과 함께 생활하고 그와 함께 번영하는 것입니다.
- 조기 테스트 TDD 또는 BDD 새로운 요구 사항으로 끝까지 테스트를 연기하는 대신
- 회귀 자동화 및 강화 - 시스템에 테스트되지 않은 지뢰가 남지 않도록 자동화 된 회귀 도구 모음을 제자리에 만듭니다.
- 비즈니스 / 제품 소유자가 테스트에 참여하고 싶다면 Cucumber와 같은 비즈니스 언어 기반 자동화 도구를 고려하십시오.
- 유용성 유지 테스트의 중심이되는 사이트 디자인. 더 많은 기능을 추가할수록 사이트가 더 깔끔해집니다.
- 주요 릴리스가 발생했거나 아키텍처가 크게 변경된 경우 성능 및 보안 테스트를 수행합니다. (새 서버 도입 등) 대부분의 소프트웨어 시스템은 모든 릴리스에서이 기능이 필요하지 않습니다.
- 경쟁사와 연락을 유지하고 제품 비전을 파악하십시오.
- 쌍 테스트 적응 , 즉각적인 피드백 및 수정을 위해. 가능하면 제품 소유자 포함
- 변경 및 알려진 문제에 대한 계획
- 고객 피드백에 손을 대고 지속적으로 성장을 유지하기 위해 개선 제안으로 추적 할 수 있는지 확인하십시오. (다시 한 번, 이것은 QA 팀의 주요 책임은 아니지만 모두가 중요합니다)
3 단계) 제품 성숙도
귀하의 제품이 여기까지 온 것을 축하합니다. 이 시점에서 기능은 자주 변경되지 않습니다. 제품 팀은 더 많은 비즈니스 또는 마케팅 활동을 가져 오는 데 더 집중할 것입니다. 그러나 제품 개발 및 테스트는 중단 할 필요가 없으며 종종 중단되지 않습니다.
따라서 테스트 팀은 다음을 수행 할 수 있습니다.
- 테스트 전략을 성숙 시키십시오. 이 시점에서 회귀 도구 모음, 테스트 설계 방법 및 테스트 관리 관행은 기름칠이 잘 된 기계처럼 작동해야합니다.
- 더 세밀한 부분에 집중하세요. 전반적으로 제품이 잘 작동하고 잘되고 있기 때문입니다. 신은 세부 사항에 있습니다. ' – 시스템의 품질을 향상시킬 수있는 가장 작은 문제도 찾아냅니다.
- 고객 피드백 고려
- 주기적으로 성능 및 보안 테스트
- 마지막으로 테스트했을 때 시장에 출시되었을 수있는 새로운 장치, 플랫폼 및 브라우저를 고려하십시오.
- 이제 시간이 있고 여유가 있기 때문에 사용 설명서 및 FAQ 페이지를 테스트하십시오.
- 이제 가능하므로 새로운 제품 테스트 도구, 서비스 또는 프로세스로 실험 해보십시오.
- 모든 릴리스에서 설치 프로세스를 테스트하고 최종 사용자에게 얼마나 쉬운 지 또는 어려운지에 대한 통계를 얻으십시오.
당신이 무엇을 하든지 만족하지 마십시오.
단계 # 4) 제품 감소 / 제품 성장으로의 순환
제품 소유자와 기업은 요즘 똑똑하고 제품을 동일하게 유지할 수 없으며 사용자의 충성도를 유지하기를 기대합니다. 물건이 너무 빨리 움직이고 제품도 마찬가지입니다.
따라서 TrackFast는 편안히 앉아 휴식을 취할 수 없습니다. 지속적인 시장 입지를 유지하고 리더를 유지해야한다면 진화해야합니다. 좋아하든 싫어하든 Facebook은 사람들을 연결하는 단순한 소셜 네트워크로 시작했으며 그 자체로 수백만 개의 다른 것들과 통합되고 최신 상태를 유지하는 대규모 소프트웨어 플랫폼입니다.
TrackFast도 진화해야합니다. 신뢰할 수 있고 효과적인 결함 추적 시스템임을 입증 한 후에는 진화해야합니다. 그렇지 않으면 쇠퇴 할 것입니다. 따라서 XYZ 회사는 소프트웨어 개발 프로세스의 결함뿐만 아니라 IT / 테스트 팀 (JIRA와 같은 것) 이외의 비즈니스에서 발생한 사고 나 사례를 추적하는 데 사용할 수있는 일반 티켓팅 시스템으로 TrackFast를 개선하기로 결정했습니다. .
바퀴가 완전히 돌았고 시스템을 새로운 것으로 취급하고 제품 소개 섹션에서 논의한 전략을 따르십시오. 이제 당신은 훈련에 더 많은 경험과 익숙해졌습니다. 그러나 새로운 턴마다 새로운 도전이 온다는 것을 기억하십시오. 그러니 날카롭게 유지하세요 :)
성공적인 제품 테스터가되는 이유는 무엇입니까?
- 제품 테스터 예리한 비즈니스 감각, 빠른 제공 개발 모델에 대한 이해가 있어야하며 에이스 테스터 여야합니다. 도구를 실험하는 것을 두려워하지 않고 필요한 경우 약간의 코더가됩니다. 이러한 것들은 모든 유형의 테스트에 긍정적 인 영향을 미칠 수 있지만 이러한 유형의 테스트에서는 절대적으로 필요합니다.
- 또 다른 중요한 특성은 제품 테스터는 제품을 믿어야합니다. 진정으로 성공하기를 원합니다. 테스터로서 소프트웨어가 완전 쓰레기라고 생각할 때 더 나은 소프트웨어를 만들기 위해 어떤 조치를 취할 것이라는 희망은 거의 없습니다.
- 제품 / 사업주의 비전 공유 . 제품이 어디로 가고 어떻게 발전할지 알지 못한다면 테스트는 매우 제한 될 것입니다.
- 교차 기능 기술은 유익합니다 – DB 테스트 방법, 성능 벤치 마크 수행 방법, 보안 인증서 활성화 방법, 배포 방법 등을 파악합니다. 호기심을 갖고 탐험하세요 .
- 경계를 설정하지 마십시오 – 사용자 설명서를 평가하거나 FAQ를 확인하는 것이 귀하의 일이 아니며 기술 작성자가 처리해야한다고 생각하지 마십시오. 글쎄요. 그러나 제품 내부를 아는 사람으로서 내부자로서 볼 때 귀하의 피드백은 매우 유용합니다.
- 최종 사용자 피드백을 구하십시오. 당신을 뒤 따르는 다음 큰 사람들은 실시간 사용자입니다. 그들이 어떤 종류의 문제에 직면하고 있는지 알고 이해하십시오. 이렇게하면 테스트 디자인을 개선 할 수 있으므로 다음에 이러한 문제를 방지하기 위해해야 할 일을 알 수 있습니다.
- 빠르게 일하고 의사 결정자가 되십시오
- 기술적 부채 방지 . 빠른 개발 및 테스트 상황에서 탐색 적으로 독점적으로 테스트하기 쉽고 향후 릴리스에 대한 참조 프레임이 느슨해집니다. 이런 일이 일어나지 않도록하십시오. 추적, 추적 및 측정 할 수 있도록 골격 문서 유지
서비스로 구축 된 테스트 소프트웨어와 제품으로 구축 된 소프트웨어의 가장 큰 차이점은 이전에는 테스트 전략이 도착하면 모든 후속 테스트에 적용된다는 것입니다.
그러나 제품의 경우 테스트 전략은 제품이있는 현재 라이프 사이클 단계와 시장 역학 (새 장치, 새 브라우저 등)의 변화에 따라 변경되어야합니다. 제품 테스트 전략은 변경에 훨씬 더 유연해야합니다.
저자 정보 : 이 기사는 STH 팀원 Swati S.
이 기사가 도움이 되었기를 바랍니다. 아래에 의견, 질문 및 피드백을 자유롭게 게시하십시오.
추천 도서
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 소프트웨어 테스팅 과정 : 어떤 소프트웨어 테스팅 기관에 가입해야합니까?
- 소프트웨어 테스팅 QA 어시스턴트 작업
- 경력으로 소프트웨어 테스트 선택
- 소프트웨어 테스팅 기술 콘텐츠 작성자 프리랜서 작업
- 소프트웨어 테스트에서 내구성 테스트 란 무엇입니까 (예)
- 몇 가지 흥미로운 소프트웨어 테스트 인터뷰 질문
- 소프트웨어 테스팅 과정 피드백 및 리뷰