- 소개
- 왼쪽 이동 테스트란 무엇입니까?
- 소프트웨어 개발에 왼쪽으로 영향을 미칩니까?
- 테스터는 Shift Left에서 무엇을 다르게 해야 합니까?
- Shift Left 테스트의 이점
- 결론
아래 의견란에 의견/제안 사항을 알려주세요.
이전 튜토리얼
소프트웨어 테스팅 의 개념은 프로덕션의 결함이 프로젝트 예산에 도달하기 시작하면서 점진적으로 도입되어 매우 적은 인원의 테스터 팀과 함께 '기능 테스트'가 시행되었습니다. 그 당시 우리는 20명의 개발자로 구성된 팀에 대해 단 두 명의 테스터였습니다.
IT 산업은 우리 모두가 알고 있듯이 소프트웨어 개발을 위한 폭포수 모델을 따르기 시작했습니다. , 소프트웨어 개발 수명 주기는 순서대로 진행됩니다.
따라서 왼쪽에서 오른쪽으로 시작하면 테스트 단계는 소프트웨어 개발 수명 주기의 맨 오른쪽에 있습니다.
소개
시간이 지나면서 사람들은 소프트웨어 테스트 의 중요성과 '테스트 단계'를 맨 오른쪽 또는 마지막에 유지하는 것이 미치는 영향을 깨달았습니다. 소프트웨어 개발 수명 주기. 이러한 깨달음은 극우로 식별된 버그의 비용이 매우 높고 막대한 노력 & 이를 수정하는 데 너무 많은 시간이 필요했습니다.
소프트웨어에 너무 많은 시간과 노력을 들인 끝에 마지막에 확인된 중대한 버그로 인해 미션 크리티컬 소프트웨어를 출시하지 못하는 경우가 있었습니다. 이로 인해 막대한 손실이 발생했습니다.
따라서 마지막 단계에서 버그를 식별하여 릴리스가 지연되거나여러 번 수정하는 데 필요한 노력을 고려하여 소프트웨어를 폐기했지만 실제로는 그만한 가치가 없었습니다.
'결함은 발견했을 때 비용이 적게 듭니다.
이러한 깨달음과 큰 교훈은 소프트웨어 산업에 대혁명을 불러일으켰고 'Shift Left'2라는 새로운 개념을 탄생시켰습니다> , 이는 '테스트 단계'를 오른쪽에서 왼쪽으로 이동하거나 모든 단계에서 테스트를 포함하고 전체적으로 테스터를 참여시키는 것을 의미합니다.
왼쪽으로 이동 테스트는 또한 결국 테스트하지 않고 지속적으로 테스트하십시오.
왼쪽 이동 테스트란 무엇입니까?
첫째, 'Shift left' 원칙은 테스트 팀이 소프트웨어 개발 단계 초기에 모든 이해 관계자와 협력할 수 있도록 지원합니다. 따라서 그들은 요구 사항을 명확하게 이해하고 테스트 케이스를 설계하여 소프트웨어 '빠른 실패'를 돕고 팀이 모든 실패를 조기에 수정할 수 있도록 할 수 있습니다. 소프트웨어 개발 수명 주기에서 요구 사항, 소프트웨어 설계, 아키텍처, 코딩 및 해당 기능을 이해하고 고객, 비즈니스 분석가 및 개발자에게 어려운 질문을 하고 설명을 구하고 가능한 한 피드백을 제공하여 지원 팀.
이러한 참여와 이해는테스터가 제품에 대한 완전한 지식을 얻고, 다양한 시나리오를 통해 생각하고, 코딩이 완료되기 전에 팀이 결함을 식별하는 데 도움이 되는 소프트웨어 동작을 기반으로 실시간 시나리오를 설계하도록 유도합니다.
소프트웨어 개발에 왼쪽으로 영향을 미칩니까?
Shift Lift Approach는 여러 방식으로 소프트웨어 개발에 영향을 미칩니다.
Shift Left에 대한 몇 가지 핵심 사항은 다음과 같습니다.
- Shift Left 방식은 프로그램의 모든 중요한 단계 에 테스터를 참여시키는 데 중점을 둡니다. . 이를 통해 테스터는 결함 감지에서 결함 방지로 초점을 전환하고 프로그램의 비즈니스 목표를 추진할 수 있습니다.
- 왼쪽으로 이동 접근 방식은 테스트에 높은 중요성 을 제공합니다. 9> 테스터의 역할과 책임이 엄청나게 증가합니다.
- 테스트 팀의 책임이 증가함에 따라 팀은 '소프트웨어를 테스트하여 소프트웨어를 식별하는 데 집중하지 않습니다. bugs' 의 장기 비전에 중점을 두어 팀에 훌륭한 테스트 리더십과 지침을 제공함으로써 강력하고 효과적인 테스트 전략을 계획하고 구축하기 위해 초기 단계부터 바로 팀과 능동적으로 협력합니다. 테스트 작업의 책임을 지는 것이 아니라 제품에 대해.
- Shift Left 접근 방식은 테스터가 먼저 테스트를 설계할 수 있는 기회 여기서 테스트는 고객 경험과 고객의 기대에 완전히 초점을 맞추고 개발자가 이러한 테스트를 기반으로 소프트웨어를 개발할 수 있게 합니다. 따라서 고객의 요구 사항을 충족합니다.
- Shift Left 접근 방식은 테스터만으로 끝나지 않습니다. let으로 이동하고 테스트 활동을 지속적으로 수행하면 개발자가 자신의 코드에 대해 더 많은 소유권을 가질 수 있고 테스트에 대한 책임도 커집니다.
- 좌파 접근 방식은 또한 테스터가 동작 기반 개발 BDD 및 테스트 기반 개발 TDD 를 채택하여 소프트웨어에 결함이 유입되는 것을 방지하는 데 도움이 됩니다.
- Agile의 Shift Left 테스트: Shift Left 접근 방식은 다른 역할과 함께 테스터
전반적인 Shift Left 테스트는 테스터에게 '조기 참여' 를 요구합니다.단계의 결과가 최종 결과물의 가치와 관련이 있는 모든 단계에서 아이디어, 요구 사항에 대해 토론하고 협력하며 프로젝트에서 위험을 식별하고 사전에 완화하도록 돕습니다.
테스터는 Shift Left에서 무엇을 다르게 해야 합니까?
Shift Left 전략:
#1) 테스트 팀에서 테스터가 다르게 수행하는 몇 가지 핵심 요소는 다음과 같습니다. 프로젝트 초기부터 시스템 초기에 참여 하여 모든 단계에서 유용한 정보 제공 소프트웨어 개발.
#2) 테스트 팀은 Business & 운영 팀과 프로그램에 대한 명확성을 얻고 수요에 대한 명확한 보기를 제공하고 프로그램에 대한 리소스 증가 요구 사항, 교육 요구 사항 및 테스트 도구 요구 사항을 효율적으로 계획하는 데 도움을 줍니다.
#3) 테스트 팀은 제품에 대한 명확한 가시성을 확보 9하기 위해 소프트웨어 개발 초기에 모든 비즈니스 이해관계자와 상호 작용해야 합니다> &9> 통합 테스트 전략 설계 최적화된 테스트 노력을 위한 계획, 테스트 환경, 타사, 스텁 등에 대한 종속성을 분석하고 강력한 자동화 전략 및 프레임워크 및 효과적인 테스트 데이터 관리 구축계획입니다.
#4) 테스트 팀은 훌륭한 테스트 리더쉽과 지침을 팀에 제공하기 위해 나머지 팀과 협력해야 합니다 따라서 테스트 활동에 대한 책임만 지는 것이 아니라 장기적인 제품 비전을 염두에 두어야 합니다.
#5) 요구 사항은 프로그램 성공의 핵심이자 기반이며 정의된 요구 사항은 프로젝트의 성공을 정의합니다. 요구 사항 계획 단계에서 테스터는 요구 사항을 검토하고 분석해야 합니다 . 누락된 요구 사항(있는 경우)을 식별하고 종속성과 구현 전략을 이해해야 합니다. 명확한 요구 사항은 소프트웨어가 '빠르게 실패'하고 모든 오류를 가장 빨리 수정하는 데 도움이 됩니다.
#6) 사용 중인 기능을 보여주는 실제 사례 .
#7) 테스터는 설계 검토 회의 에 참석해야 합니다. 9> 정기적으로 제품 설계 및 아키텍처를 이해하고 설계 결함을 식별하고 대체 설계 옵션을 제안하며 허점을 식별하고 그에 따라 테스트 시나리오를 작성하여 설계를 깨십시오.
#8) 테스터는 사전에 정적 테스트(리뷰) 를 수행하고 주요 프로젝트에 대한 피드백을 제공해야 합니다.결함이 소프트웨어에 뿌리내리고 나중에 그 영향이 확대되는 것을 방지하기 위해 문서화합니다.
#9) 테스트 팀은 설계 및 개발 팀과 협력해야 합니다 테스트 시나리오를 미리 제공하여 코드 를 개발하고 가능한 모든 실시간 시나리오와 비즈니스 흐름을 처리합니다.
#10) 테스트 팀은 을 설계해야 합니다. 강력하고 강력한 테스트 시나리오 테스트 중에 몇 가지 결함만 식별하고 테스트 단계에 들어가는 동안 주요 결함을 방지합니다.
#11) 테스터는 가능한 한 빨리 테스트 해야 합니다. 독립 실행형 또는 로컬 시스템에서 결함이 나중 단계에 들어가지 않도록 해야 합니다.
전체 핵심 테스터를 위한 'Shift Left' 개념의 핵심은 가능한 한 빨리 결함을 발견하는 것입니다.
Shift Left 테스트의 이점
The Shift Left 접근 방식은 민첩한 선언문을 기반으로 작동하며 몇 가지 장점도 있습니다.
그 장점은 다음과 같습니다.
- 개인 및 프로세스에 대한 상호 작용 및 도구.
- 작동하는 소프트웨어 포괄적인 문서화.
- 고객 협업 계약 협상.
- 대응 계획에 따라 변경하십시오.
오른쪽 항목에 값이 있지만 왼쪽 항목에 더 많은 값이 있음을 알 수 있습니다.
음, Shift Left는 약프로세스 초기에 테스트 아이디어를 도입하여 더 우수하고 효율적인 테스트를 수행하고 소프트웨어의 품질을 개선합니다.
요컨대 Shift Left 테스트 프로세스는 다음과 같습니다.
- 결점을 조기에 발견하여 프로젝트 비용을 절감합니다.
- 결국 결함을 줄이기 위해 지속적으로 테스트를 반복합니다.
- To 모든 것을 자동화하고 출시 시간을 단축합니다.
- 고객 요구 사항에 집중하고 고객 경험을 개선합니다.
결론
'Shift Left' 개념은 전체 '테스트' 역할에 큰 변화를 가져왔습니다. 그때까지 테스팅의 유일한 초점은 '결함 감지'에 있었고 이제 테스팅 관점에서 'Shift Left'의 목표는 'Early Defect Detection to Static Testing' .
따라서 Shift Left는 출시 속도를 높이고 소프트웨어 품질을 개선하며 '출시 시간'을 단축하기 위한 소프트웨어 개발 방법론에서 소프트웨어 업계의 큰 도약입니다.
작성자 정보: 이 기사는 STH 팀원 Gayathri Subrahmanyam이 작성했습니다. 그녀는 업계에 테스터 역할이 도입된 90년대부터 소프트웨어 테스팅에 종사하고 있습니다. 그녀의 테스트 경력 동안 그녀는 많은 TMMI 평가, 테스트 산업화 작업 및 TCOE 설정을 수행했습니다.