what is technical debt
기술 부채 금융에서 부채 문제에 부딪 힐 수있는 것처럼 소프트웨어 조직은 과거 프로젝트 및 버전 릴리스 / 스프린트 동안 미완성 작업이 축적되는 과정에서 비슷한 일에 직면하게된다고 주장하는 은유 적 아이디어입니다.
기술 부채는 무엇입니까?
애플리케이션이 출시 될 때 코드에 남아있는 문제 / 결함을 수정하는 데 필요한 노력을 나타냅니다. 간단히 말해서, 예상되는 것과 제공되는 것의 차이 (버그 측면에서)입니다.
개발 팀이 프로젝트 작업을하고 버그를 수정 하느라 바쁠 때 불행히도 많은 새로운 버그가 나타납니다. 아웃 일부는 수정되었으며 일부는 이후 릴리스에서 다릅니다. 이처럼 다양한 이슈가 계속 증가하면 문제없이 제때에 제품을 출시하기가 정말 어려워집니다. 이것은 최악의 결과입니다 기술 부채 제 시간에 해결되지 않으면
이 기사에서는 기술 부채가 무엇인지, QA 팀이이 문제에 대해 관심을 가져야하는 이유, 가장 중요한 것은이를 관리하는 방법에 대해 알아 봅니다.
영상 출처
워드 커닝햄 , 위키 소프트웨어의 창시자, 이 아이디어를 구상 1990 년대로 거슬러 올라가면 대출 불이행 후 과도한이자를 지불해야하는 불미스러운 경험을 말 그대로 암시하면서 불량 부채가 금융 산업에 미치는 영향과 유사합니다.
예를 들어 화이트 박스 및 블랙 박스 테스트
스프린트 당 기술 부채 증가 문제는 그림 1에서 시각화 할 수 있습니다.
기술 부채 (코드 부채 또는 설계 부채라고도 함)의 의미가 금융 세계에서 이에 상응하는 비유와 약간 차이가 있음을 여기서 언급해야합니다. 전자는 추상적 인 아이디어 , 관심이 실제로 축적되는 방식을 시각화하는 수학 방정식이 없습니다.
그림 1: 스프린트에서 확장 가능한 기술 부채 증가 시각화
학습 내용 :
QA 팀이 기술 부채로 인해 가장 큰 고통을받는 이유
일반적인 소프트웨어 설계 및 개발주기 동안 ' 기술 부채 ”같은 상황- 부적절한 문서 , 부적절한 테스트 버그 수정, 조정 부족 팀 간, 유산 코드 및 지연된 리팩토링 , 부재 지속적인 통합 및 기타 통제 불능 요인.
예를 들면, 코드 복제 노력이 25 ...에 35 % 추가 작업.
리눅스는 윈도우보다 빠르게 실행됩니다
그러나 어디에도 없습니다 QA 테스트에서보다 명백한 기술적 부채로 인한 문제 테스트 팀이 예상치 못한 기한을 충족해야하고 모든 것이 작동하지 않을 수 있습니다.
예상치 않게 배달 관리자가 찾아 와서“팀! 1 주일 내에 제품을 출시해야합니다.이 문제를 제때에 전달하지 못해 죄송합니다. 데모를 준비 할 수 있도록 모든 테스트 작업을 긴급히 완료하십시오. '
기본적으로 누락 된 테스트 또는 '나중에 해결'접근 방식은 문제와 같은 기술 부채로 이어질 수 있습니다. 테스트 커버리지 부족 , 특 대형 사용자 스토리, 짧은 스프린트 및 배달 압력으로 인한 '커팅 코너'의 기타 예는 QA 업무에서 기술 부채가 축적되는 데 큰 역할을합니다.
실제 사례
여러 웹 사이트와 모바일 앱에서 상당한 입지를 차지하고있는 미국에 기반을 둔 온라인 소매 업체는 테스트 메시의 복잡성이 각각의 신규 제품과 함께 복합화되기 시작했을 때 실제 '기술적 부채'문제에 직면했습니다. 스프린트 .
이는 테스트 할 모바일 장치 수가 갑자기 급증하고 여러 언어를 지원하며 6 개 이상의 소셜 네트워킹 사이트를 활용할 수 있기 때문에 발생했습니다.
자동화 범위가 40 % 미만인 경우 기술 부채 문제는 다음과 같은 방식으로 나타납니다.
- 릴리스 테스트에서 과도한 시간 소비 – 각 테스트 스프린트마다 브라우저, 장치 및 스크립트의 수가 증가함에 따라 출시주기가 계속 지연되어 출시 시간이 단축됩니다.
- 고용 비용 증가 – 프로젝트를 지원하는 데 필요한 테스터 수는 거의 두 배로 증가하여 $ 500,000의 추가 비용이 발생했습니다.
- 프로젝트의 복잡성 – 프로젝트의 복잡성이 증가함에 따라 테스트 케이스와 버그를 추적하는 것이 도전이되었습니다.
- 오 탐지 추적에 너무 많은 시간 낭비 – 다시 말하지만, 증가하는 프로젝트 복잡성의 결과.
- 테스트 개발 노력이 최대 60 % 증가 – 영토와 함께 간다
QA 관행의 기술 부채 관리
대부분의 QA 관리자는 기술 부채를 현재 스프린트에만 모든 에너지를 집중하는 합리적인 결과로 충동 적으로 간주하여 수동 수단을 통해 테스트 범위를 달성하고 자동화를 완전히 무시합니다.
이것은 빠르고 더러운 접근 이 글의 저자 인 Martin Fowler의 블로그에서 다루었습니다. 기술 부채 사분면 .
애자일 원칙은 기술 부채 문제를 유지하고 충족 할 수없는 것으로 시각화하도록 지시합니다. QA 벤치 마크 .
사실로, 설문 조사를 기반으로 NIST (National Institute of Standards and Technology)에 의해 불충분 한 테스트 도구 및 방법은 매년 미국 경제에 22.2 달러 과 $ 595 억 ,이 돈의 약 절반은 소프트웨어 개발자가 추가 테스트에 사용하고 약 절반은 소프트웨어 사용자가 오류를 방지하는 데 사용합니다.
사고가 발생할 때 장애에 대응하는 대신, 측정 가능한 모든 활동 또는 작업 후에 결함을 식별하는 것이 사전 예방 적 접근 방식입니다. 모든 작업을 수동으로 수행 할 수 있지만 평균 프로젝트에 대한 수천 개의 테스트 케이스 시나리오를 고려할 때 자동화 된 테스트 제어가 필요합니다.
분명히, 효과적인 테스트 기술 부채와의 전쟁에서 심각한 근거를 확보하는 데 도움이 될 수 있습니다. 그렇다면 기본적으로 무엇을 의미합니까? 이는 전체 애플리케이션에서 결함을 식별하는 데 시스템이 얼마나 잘 갖춰져 있는지를 의미합니다.
위의 방정식에서 알 수 있듯이 고객이 발견 한 결함 (즉, 생산 후 결함)의 수가 테스트 적용 범위의 각 단계에서 발견 된 결함의 수에 정확하게 매핑 된 경우 테스트 케이스 효율성은 이론적으로 100 %에 근접 할 수 있습니다.
결함이 발생하는 즉시 정확하게 측정 할 수있는 잘 설계된 테스트 베드를 갖기 위해서는 자동화가 전제 조건입니다.
테스트 자동화 결과를보고하고 이전 테스트 실행과 비교하여 실행중인 스크립트 수를 최소화하는 데 도움이됩니다. 자동화를 실행하는 데 사용되는 방법 또는 프로세스를 테스트라고합니다. 오토메이션 뼈대 .
일반적인 예로는 Selenium, MonkeyTalk, 로봇 , Borland SilkCentral, HP Quality Center 및 IBM Rational Rose .
과거에 QA / 테스트는 조직과 소프트웨어 팀에서 더 중요한 비즈니스 결과물에 대한 지원 활동으로 종종 보였으며 핵심적이고 전담적인 초점을 필요로하는 그 자체로 훈련 된 관행이 아닙니다. 사실, QA / 테스트에 대한 비 핵심적 접근 방식은 처음에 기술 부채에 대한 지속적인 도전으로 이어졌습니다.
Windows 8.1 용 무료 백업 소프트웨어
지난 10 년 동안 발생한 QA / 테스트 기술의 급속한 발전 속도를 고려할 때 조직은 기술과 역량을 현재 업계 벤치 마크에 따라 원하는 최소 수준으로 업그레이드하는 데 실제로 어려움을 겪고 있습니다.
사실, 테스트 자동화 분야에서 가장 노련한 전문가들과 협력하려는 업계 추세가 증가하고 있습니다. 일종의 테스트 / QA의 엘리트 특공대와 같습니다. 그들은 테스트에서 소프트웨어 엔지니어로 알려져 있습니다 ( 이후 ) 및 테스트중인 소프트웨어 개발자 ( SDiT ). 이러한 전문가는 선택한 업종 (예 : 전자 상거래) 또는 특정 전문 카테고리에서 방대한 경험을 쌓았 기 때문에 수요가 높습니다.
현재 우리가 말하는 대부분의 소프트웨어 및 제품 개발 회사는 배송 시간이 단축되는 상황에서 원하는 자격을 갖춘 기술 리소스를 찾기 위해 고군분투하고 있습니다. 이 과제에 대한 해결책은 적절한 SDiT / SEiT 리소스 풀로 기술 부족을 해결할 수있는 해외 QA 자동화 플레이어와 협력하는 것입니다.
도움이되는 것으로 입증 된 QA / 테스트에서 아웃소싱 플레이어가 원하는 다른 속성으로는 프로젝트 실행에 대한 민첩하고 체계적인 접근 방식, 재사용 가능한 자동화 프레임 워크 및 테스트 사례에 대한 실무 액세스를 포함한 충분한 업계 경험, 마지막으로 명확한 의도 등이 있습니다. 그리고 고객이 계약자를 관리하는 추가 작업에 부담을주지 않도록 원격 팀 문제와 문화적 충돌을 해결할 수있는 능력.
결론
다른 부채와 마찬가지로 기술 부채는 그 자체가 기업의 골칫거리임을 입증 할 수 있으며 축적의 근본 원인은 자동화에서 모든 백 로그를 제거하는 사전 QA 관행을 구현하지 못한 것입니다.
저자 정보 : 이것은 eInfochips 팀의 게스트 포스트입니다. 그들은 독특한 접근 방식을 생각해 냈습니다. 기술 부채 제로 이는 QA / 자동화 활동에서 기술적 부채를 점진적으로 제거하는 가장 체계적이고 효율적인 방법 중 하나입니다. 기술 부채에 대해 자세히 알아 보려면 이 비디오보기 기술 부서를 줄이기위한 접근 방식.
기술 부채가 무엇인지에 대한 명확한 아이디어를 얻으시기 바랍니다. 관련 질문이 있거나 실제로 관리하는 방법을 알려주십시오.
추천 도서
- 소프트웨어 테스팅 기술 콘텐츠 작성자 프리랜서 작업
- 글로벌 소프트웨어 테스팅 사업, 곧 288 억 달러에 도달
- 초보자 테스터를위한 소프트웨어 테스트 조언
- 소프트웨어 테스터에서 동기 부여를 유지하는 방법은 무엇입니까?
- Zen과 소프트웨어 테스팅의 기술
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 2008 년 최고의 소프트웨어 테스트 기사
- 소프트웨어 테스팅 QA 어시스턴트 작업