소프트웨어 테스트는 실제로 전문 프로젝트에서 수행됩니까?


25

나는 오랫동안 개발자 였고 계약자이기 때문에 여러 회사에서 많은 프로젝트에 참여했습니다.

프로젝트의 20 % 미만 이 체계적으로 테스트 된 것으로 추정 됩니다. 체계적으로 테스트하면 계획없는 테스트 이외의 테스트를 의미합니다.

또한 프로젝트의 10 % 미만이 팀의 일환으로 전담 테스터, 테스트 계획 문서, 개발자가 자동화 된 테스트를 작성하고 테스트 범위를 추적하고 결과를 측정하는 경우 철저하게 체계적으로 테스트 된 것으로 추정 됩니다.

두 가지 질문

  1. 이 문제에 대한 귀하의 견적은 얼마입니까?
  2. 소프트웨어 테스트와 관련하여 귀하의 전문 경험은 무엇입니까?

추가 참고 사항

체계적인 테스트 질문은 상당히 편향된 답변을 얻을 수 있기 때문에 (다른 사람들보다 우월하다고 자랑하는 사람들) 다른 개발자 (방법론 테스트에 노출되지 않은 사람들)도 답변을 제공 할 것을 권장합니다. 회사를 제외한 모든 곳에서 수행됩니다.


좋은 질문입니다. 시간을 내서 개혁 해 주셔서 감사합니다!

@ Mark Trapp : 감사합니다. 나는 그것이 매우 기본적이라고 생각하지만 몇 가지 더 질문 할 수도있다 (이전 질문들에 기초)
Robert Koritnik

답변:


8

경력 테스트를 통해 본 패턴은 프로젝트의 실패 위험과 강한 일치를 보여줍니다. 대규모 프로젝트는 소규모 프로젝트보다 테스트 될 가능성이 높으며, 미션 크리티컬 애플리케이션은 외부 마케팅 웹 사이트보다 테스트 할 가능성이 높으며, 사내 시스템은 공개 프로젝트보다 테스트 할 가능성이 적습니다.

그것은 여전히 ​​과도하게 테스트 된 프로젝트와 충분히 테스트되지 않은 프로젝트가 있지만 소수입니다.


내 질문을 약간 편집했습니다. 견적도 제공해 주시겠습니까?
Robert Koritnik

제가 참여한 거의 모든 프로젝트 (80 % 이상)는 체계적으로 테스트를 거쳤지만 회사 미션 크리티컬 애플리케이션을 거의 독점적으로 수행했습니다.
Martin Brown

나는 제약 회사에서 일합니다. 전문 테스터 및 개발자가 응용 프로그램의 80 %를 테스트했다고합니다. 이 20 %는 iPad의 홍보 프레젠테이션과 같은 위험이 낮은 응용 프로그램입니다. 그러나 이것조차도 누군가에 의해 임시 점검됩니다.
yoosiba

5

우리가 생산하는 모든 것이 완전히 테스트되었습니다. 내부 QA 팀에 과부하가 걸리면 프로젝트를 테스트하는 해외 팀이 있습니다. 내부 팀만큼 좋지는 않지만 다른 주제입니다.


내 질문을 약간 편집했습니다. 개발 전문 시장에 대한 견적을 제공해 주시겠습니까? 프로젝트가 면밀히 조사되기 때문입니다. 테스트가 자동화되어 있습니까?
Robert Koritnik

이 해외 팀은 누구입니까? 그들에게 추천을 하시겠습니까?
Martin Brown

일반적으로 대기업의 경우 다른 국가 (대부분 아시아 지역)에 R & D 센터가 있습니다. 해외 개발이 이루어지는 곳. 해외 개발의 목표는 개발 비용 (일부)을 줄이는 것입니다.
Nipuna

2

지난 15 년 동안 제가 일한 세 회사는 모두 자동으로 실행되는 단위 테스트를 받았습니다.

그 회사 중 두 곳에서 회사 소개를 추진했습니다.


내 질문을 약간 편집했습니다. 전문 시장에서의 소프트웨어 테스트에 대한 견적도 제공 할 수 있습니까?
Robert Koritnik

@ 로버트 : 나는 일반적인 추정을하기에 충분히 일자리를 얻지 못했습니다. 내가 아는 것보다 상황이 좋아지고 있습니다. 그러나 제가 말씀 드린 세 가지 사례 중 두 가지 중 두 가지에서 자동 단위 테스트를 추진 한 사람은 저였습니다.
sbi

그러나 당신은 다른 회사의 다른 개발자들과 대화하지 않습니까?
Robert Koritnik

2

지난 9 년 동안 저는 기본적으로 수락 / 회귀 테스트 만 충족했습니다. 몇 가지 단위 테스트 만있었습니다.


내 질문을 약간 편집했습니다. 프로페셔널 시장에서도 소프트웨어 테스트에 대한 견적을 제공 할 수 있습니까?
Robert Koritnik

2

예.

테스트 양은 앱에 필요한 신뢰성과 프로그래머 문화의 성숙도에 비례합니다.

웹 사이트는 종종 버그를 겪고 있습니다 (깨진 링크 결함입니다).

비디오 게임은 종종 버그가 있습니다.

Windows (마지막)는 상당히 안정적입니다.

라우터는 매우 신뢰할 수 있습니다

병원 모니터 "휴식하지 마십시오"

회계 실패 비용은 신뢰성과도 관련이 있습니다.


2
나는 당신에 크게 동의하지 않습니다-당신은 라우터 실패를 본 적이 있습니까? Xbox, Playstation 및 Wii 게임이 잠기나요? Windows에서 블루 스크린 또는 '응용 프로그램이 응답하지 않습니다'가 있습니까?
JBR 윌킨슨

@JBRWilkinson 폴이 말한 것처럼 대부분의 PC 게임을 불러 일으킬뿐만 아니라 그의 심각도 수정자를 놓친 것으로 생각합니다. 어쨌든이 목록은 약간의 개선이 필요할 수 있지만 정서가 정확합니다. 신뢰성은 종종 실패와 관련된 재정 손실과 관련이 있습니다.
Jay Carr

1

10 년 동안 공식적인 코드 테스트로 프로젝트를 수행 한 적이 없습니다.

현재 업무에는 기능 테스트 만 있습니다.

문제는 경영진이 코드 테스트에 대해 아는 사람이 없다는 것입니다. 테스트 부서는 코드 테스트에 대해조차 모를뿐 아니라 높은 수준의 사양을 따르고 행동 / 기능 관점에서 준수하는지 확인합니다.

우리는 우리가 코드를 잘 작성하도록하는 자격을 갖춘 소프트웨어 리더가 없습니다. 결과는 스파게티 코드, 많은 회귀, 누락 된 일정 등입니다.


정직한 답변을 부탁드립니다. 견적은 무엇입니까 (편집 된 질문 확인)?
Robert Koritnik

이탈리아에 대한 나의 추정치는 공식 코드 테스트의 10 % 미만입니다. 아마도 거의 미션 크리티컬 코드 일 것입니다.
Wizard79

아일랜드, 영국, 스코틀랜드, 슬로베니아에서 일한 적이 있는데 이탈리아도 다르지 않은 것 같습니다.
Robert Koritnik

1

우리는 남아시아의 중견 외국 기업입니다. 그러나 우리는 항상 미국 기반 프로젝트를 수행하고 미국 회사에서 보낸 요구 사항을 직접 처리합니다.

우리는 구축하는 모든 응용 프로그램에 체계적인 테스트를 적용합니다. 아마도 테스트 품질은 표준이 아니지만 우리는 그것을 사용합니다.


이러한 테스트는 자동화됩니까 아니면 주로 수동입니까? 내 질문을 약간 편집했습니다. 프로페셔널 시장에서도 소프트웨어 테스트에 대한 견적을 제공 할 수 있습니까?
Robert Koritnik

대부분의 테스트는 수동으로 수행됩니다.
Shamim Hafiz

1

내 순수 주의자는 얼마나 엄격하게 테스트하거나 공식 테스트를 수행할지 여부에 대한 결정에 내재 된 위험 관리가 필요하다는 것을 받아들이고 싶지 않습니다. 필자가 프로그래밍 프로젝트의 큰 비율이라고 생각하는 내부 앱의 경우 버그를 풀고 버그를 발견 한 후 신속하게 패치 하는 데 소요되는 비용은 전체 테스트 팀의 비용보다 큰 경우가 있습니다. 물론 앱과 잠재적 인 실패 비용에 따라 다릅니다.

즉, 위험 관리 계획이 공식화 된 테스트가 부족한 이유라고 생각하지 않습니다. 비 기술적 인 관리자는 그것이 제공하는 가치를 이해하지 못하고 비용 만 보는 결과라고 생각합니다.


2
당신이하는 말을 들었지만 정당화하기는 어렵습니다. 연구에 따르면 버그가 길어질수록 비용이 많이 들수록 기하 급수적으로 증가 합니다. 고객에게 버그를 발생시키는 비용은 엄청 나며, 단위 테스트 프레임 워크가없는 경우 버그를 패치하면 종종 새로운 버그가 발생합니다 (이러한 "패치 및 수정"사고 방식이 존재하는 시나리오). 결과적으로 테스트 도구와 방법론을 신중하게 사용하는 것이 패치 및 수정보다 훨씬 저렴하다는 것을 알 수 있습니다.
Robert Harvey

3
나는 그 교리, 특히 그것이 보편적으로 적용되는 방식에 대해 점점 더 회의적으로 성장하고 있습니다. 언젠가는 사실이라고 확신하지만 모든 버그가 똑같이 생성되는 것은 아니며 모든 앱이 아닙니다. 10 명이 사용하는 내부 앱의 버그가 패치 테스트와 비교할 때 단위 테스트 중에 발견되는 경우 수정하는 데 훨씬 많은 비용이 든다는 사실을 삼키기가 매우 어렵습니다. 테스터가 버그를 찾는 데 소요되는 시간의 실제 비용을 무시하지 않는 한 기하 급수적으로는 더 난처하지만 비용이 많이 들지는 않습니다.
JohnFx

2
또한 이러한 통계가 대규모 프로젝트 (예 : 운영 체제)에서 적용되지 않았으며 대부분의 사람들이 생계를 위해 구축 한 CRUD 유형 앱으로 변환되지 않는지 궁금합니다.
JohnFx

나는 너희 둘 다에 동의하고 두 경우를 보았다. 그러나 Robert가 설명하는 기하 급수적 인 비용 중 특히 버그가 너무 길어 소프트웨어에 버그가 너무 오래 있었을 때 다른 기능이 실제로 수정되면 깨지기 시작할 것 같습니다. 오랫동안 문제를 겪고있는 사람들과 충분히 긴 시간 안에 머무르는 버그들과 함께 냉혹 한 열악한 코딩으로 1 + 1은 2가 아닙니다. 7이 아니라면 7이 아니면 모든 것이 무너집니다.

1

내 샘플은 백분율을 추론하기에는 매우 작지만 여하튼 계속됩니다.

하나는 팹리스 칩 + 펌웨어 회사로, 환상적인 테스트를 수행했습니다. 수십 개의 설비에 대한 연중 무휴 자동 테스트, 각각 수십 개의 유닛을 동시에 테스트합니다. 테스트 소프트웨어 개발에 전념하는 소프트웨어 팀. 테스트 장비 제작 전용 하드웨어 팀. 수십 명의 경쟁사에 대한 호환성 테스트 그들은 심지어 칩이 파운드리를 떠날 때 팹이 실행하는 일부 테스트를 개발하고 디버깅하기 위해 수백만 달러의 칩 테스터 설치를 구입했습니다.

다른 하나는 은행이었습니다. 이것은 완전히 다른 환경입니다. 제품 릴리스는 없지만 지속적으로 계속 실행되는 수많은 사내 소프트웨어가 있습니다. 이 사람들은 그들이 한 모든 변화에서 cr * p를 테스트했습니다. 그들은 DEV / QA / PROD 환경을 매우 엄격하게 분리하고, 자동 회귀 테스트, 생산으로 출시하기 전에 최종 사용자가 서명 한 필수 QA 테스트 등을 수행했습니다.

예, 사람들은 체계적인 테스트를 수행합니다. 그러나 당신이 말할 수 있듯이 나는 전형적인 컴퓨터 사용자를 위해 전형적인 GUI 소프트웨어를 제공하는 곳에서 일한 적이 없다.


1

저는 현재 무선 의료 기기를 만드는 소규모 신생 기업을위한 내장 펌웨어를 작성하고 있습니다. 우리는 엄격한 테스트를 수행해야하며 CEO에게 직접보고하는 사람이 이끄는 완전히 별도의 품질 부서가 있어야합니다. 나는 별도의 테스터에 의해 이전에 코드를 철저히 테스트 한 적이 없었습니다 (비교하는 유일한 시간은 약 15 년 전에 위성 TV 시스템에서 작업했을 때입니다).

우리의 테스트 결과는 FDA에 제출되었습니다 (지금까지 우리는 두 개의 FDA 허가를 받았습니다. 우리의 개발 및 테스트 방법은 모두 정기적 인 감사를받습니다.

따라서 공식적인 테스트를 많이하는 것은 대기업 만이 아닙니다.

참고 – 25 년 이상의 계약 프로그래밍 / 컨설팅에서 저는 공식적인 테스트를 거의하지 않은 많은 회사에서 근무했습니다. 그들 대부분은 더 이상 주변에 없습니다.


나는 또한 의료 기기 회사에 있으며 GMP (Good Manufacturing Practices, FDA는 통제 된 설계 / 테스트 프로세스에 대해 이야기)에 대한 소개가 저에게 눈에 띄었습니다. 저를 더 나은 엔지니어로 만들었습니다 (그리고 불행히도 Docbook 전문가)
Bill Gribble

0

거의 모든 회사에서 체계적인 테스트를 수행했습니다. 현재 회사는 몇 가지 기본 단위 스타일 테스트를 가지고 있지만 충분하지 않습니다. 이로 인해 일부 품질 문제가 발생했습니다. 본인 이외의 다른 사람이 사용할 모든 프로젝트에 대해 독립적 인 철저한 테스트를 수행하는 것이 좋습니다. 보낸 돈은 그만한 가치가 있습니다. 작동하지 않는 응용 프로그램은 사용되지 않습니다. 그것은 내면뿐만 아니라 외면에도 적용됩니다.


내 질문을 약간 편집했습니다. 프로페셔널 시장에서도 소프트웨어 테스트에 대한 견적을 제공 할 수 있습니까?
Robert Koritnik

@Robert : 귀하의 질문 인 "소프트웨어 예상 견적"을 이해하지 못합니다. 얼마나 많은 회사가 테스트하는지에 대한 의견을 묻고 있습니까? 내 눈으로 본 것에 따라 내 추정치가 90 % 이상일 것입니다. 테스트는 전문 개발의 일반적인 부분입니다.
Bryan Oakley

0

지난 20 년 동안 8 개 정도의 회사를 통해 경력을 쌓았 지만 테스트 를 하지 않은 프로젝트를 수행 한 적이 없습니다 . 테스트 규모는 각 회사마다 다르지만 필자가 작업 한 모든 전문 개발 프로젝트는 공식 테스트를 수행했습니다. 이는 중소 기업에 동일하게 적용됩니다 ( "소규모"는 10 명 미만, "중소"는 2 천명 이하를 의미).

일부 회사는 자동화 된 테스트를 많이하지 않았고 일부는 수동 테스트를하지 않았지만 적어도 하나는 다른 테스트를 받았습니다.


0

그것은 고객의 요구에 달려 있습니다. 계약 상황에서는 합격 테스트가있을 수 있습니다. 사내 테스트는 일반적으로 테스트가 거의없는 슬랩 작업입니다. 소비자 물건은 일반적으로 기능이 많지만 가장자리가 거칠습니다.


0

짧은 답변 : 예

긴 대답 :

  1. 나는 첫 번째 범주에 대한 적절한 추정치를 가지고 있지 않지만 (아마도 0에서 약간 떨어져 있지만 얼마입니까?) 실제로 내 경험은 두 번째 추정치와 일치합니다. 테스트의 양과 유형은 개발중인 응용 프로그램의 종류, 사용 가능한 시간 범위, 개발자의 기술과 프로젝트 실행 방법에 따라 다르기 때문에 의미있는 백분율을 제공하기가 어렵습니다. 실제로 개발자에게 가장 중요한 장애물은 수락 테스트가 청구 목적을위한 중요한 이정표이므로 승인 테스트입니다. 그러나 예상치 못한 상황이 발생하고 (더 많은 요구 사항) 개발자가 문제 해결 및 극복에 필요한 시간 외에 가능하고시기 적절한 (이 단계에서) 가능한 모든 임시 테스트를 제공해야하는 경우도 있습니다. 예기치 않은.

  2. 위에서 언급 한 여러 가지 요소의 조합으로 다양한 프로젝트를 수행했습니다.

    • 공식적인 단위 테스트, 통합 테스트 및 대부분의 임시 테스트

    • 단위 테스트부터 전용 QA 리소스, 자동화 된 테스트 (테스터가 자체 도구 세트로 수행)와 관련된 세부 테스트 계획 및 코드 커버리지 보고서에 이르기까지 매우 공식적인 범위입니다. 그러나 이것이 관리자들만큼이나 개발자에게 항상 의미있는 것은 아닙니다.

개인 수준에서는 본인이 다루고있는 기술에 적합한 적절한 테스트를 작성할 때 내 선택에 대한 이해를 유지하고 스스로 판단 할 수 있습니다. 기본적으로 실제로 내 작품에 의미가 있고 유익한 것들이 많지만 숫자는 크지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.