프로젝트가 가까운 완료. 테스트를 시작할 시간입니다. 개발주기가 끝날 때까지 어떤 방법이 가능한가?

StackOverflow https://stackoverflow.com/questions/893059

문제

개발주기가 끝날 무렵 프로젝트에 합류했다고 가정 해 봅시다. 이 프로젝트는 많은 팀에 걸쳐 전달되었으며 전반적으로 전반적으로 무료로 사용되었습니다. 이 팀의 다른 멤버들은 테스트에 대한 지식이 없으며 (수치!) 각 방법을 테스트하는 것은이 시점에서 불가능 해 보입니다.

유용성 테스트 외에이 시점에서 제품 테스트를위한 권장 전략은 무엇입니까? 이것은 일반적으로 수동 포인트 및 클릭 예상 출력/실제 출력 작업에 갇힌 지점입니까?

도움이 되었습니까?

해결책

나는 일반적으로 테스트에 대한 상향식 접근 방식을 취하지만이 경우 하향식을 원한다고 생각합니다. 단위 테스트를 감싸고 실패 방법을 확인할 수있는 가장 큰 구성 요소를 테스트하십시오. 이러한 실패는 하위 경쟁자가 자신의 테스트가 필요한 것을 지적해야합니다. 이 작업이 완료되면 꽤 스폿 테스트 스위트가 있지만 시작입니다.

다른 팁

예산이 있다면 테스트 자동화 제품군을 얻으십시오. HP/Mercury Quicktest는이 공간의 리더이지만 매우 비쌉니다. 아이디어는 사용 사례를 통해 GUI를 운전하여 매크로와 같은 테스트 사례를 기록한다는 것입니다. 양식 (웹, .NET, 스윙, 거의 모든 GUI)에 입력을 채우면 엔진은 양식 요소 이름을 배웁니다. 그런 다음 GUI와 DB에서 예상 출력을 확인할 수 있습니다. 그런 다음 실패 해야하는 유효하지 않은 케이스를 포함하여 다양한 테스트 입력의 테이블 또는 스프레드 시트를 연결하여 원하는 경우 수백 가지 시나리오를 실행할 수 있습니다. 테스트가 녹음 된 후 생성 된 스크립트를 편집하여 사용자 정의 할 수도 있습니다. 결국 실패한 것을 정확하게 보여주는 깔끔한 보고서를 작성합니다.

저렴하고 무료 GUI 자동화 테스트 스위트도 거의 동일하지만 기능이 적습니다. 일반적으로 스위트가 더 비싸면 수동 사용자 정의가 필요합니다. 이 목록을 확인하십시오. http://www.testingfaqs.org/t-gui.html

나는 이것이 좋은 품질 보증 테스트가 시작되는 곳이라고 생각합니다. 구식 테스트 케이스를 작성하고 팀의 여러 사람들에게 테스트를 수행하십시오.

유용성 테스트 외에이 시점에서 제품 테스트를위한 권장 전략은 무엇입니까?

제품의 기능 사양을 알고 (또는 개발할 수있는) 누군가/사람들이 코드 검사를 권장합니다.

극단적 인 순수한 방법은 "테스트가없는 전반적으로 자유롭지 않았기 때문에"라고 말하는 것입니다. 개발자, 개발 프로세스 또는 관리도 프로젝트에 대해서는 아무것도 없습니다. 또한 테스트는 소프트웨어에 품질을 추가하지 않습니다 (품질은 개발 프로세스의 일부인 품질을 내장해야합니다). 고품질 제품을 보유하는 유일한 방법은 고품질 제품을 구축하는 것입니다. 이 제품은 빌드에 품질이 없었으므로 재건해야합니다.

  • 기존 소스 코드를 던지기 프로토 타입 또는 문서로 처리하십시오.
  • 이전 소스 코드의 적합한 조각 (있는 경우)을 선택적으로 통합하여 새로운 제품 조각별로 구축하십시오.

그러나 코드 검사를 수행하고 (코드 검사를 통해 발견되는 결함을 수정) 더 빠를 수 있습니다. 그것은 기능 테스트에 추가 될 것입니다.

테스트뿐만 아니라 자동 테스트를 개발하기위한 여분의 시간을 보내고 싶을 지 여부는 소프트웨어를 유지할 것인지 (즉, 미래에 어떤 식 으로든 변경 한 다음 재시험 할 것인지에 달려 있습니다. 그것).

당신은 또한 필요합니다 :

  • 어느 하나:
    • 기능 사양에 대한 지식 (및 비 기능 사양)
    • 단서가있는 개발자 및/또는 QA 사람들
  • 또는:
    • 작고 간단한 제품
    • 환자, 최종 사용자를 용서합니다
    • 제품이 제공 된 후 지속적인 기술 지원

현재 라이프 사이클에서 프로젝트에 입력 할 때 개발 관행에 통합하는 한 가지 기술은 결함이보고 된대로 단위 테스트를 추가하는 것입니다 (QA 또는 최종 사용자). 기존 코드 기반의 전체 코드 적용 범위를 얻지 못하지만 적어도 이러한 방식으로 향후 개발은 테스트에 의해 주도되고 문서화 될 수 있습니다. 또한 이런 식으로 구현 작업을 수행하기 전에 테스트가 실패하도록 보장해야합니다. 테스트를 작성하고 실패하지 않으면 테스트에 결함이 있습니다.

또한 시스템에 새로운 기능을 추가 할 때 테스트가있는 기능을 시작하여 최소한 하위 시스템이 테스트되도록하십시오. 새로운 시스템이 기존과 상호 작용함에 따라 기존 경계층 주위에 테스트를 추가하고 시간이 지남에 따라 작업하십시오. 이것들은 단위 테스트는 아니지만 이러한 통합 테스트는 아무것도 아닌 것보다 낫습니다.

리팩토링은 테스트의 또 다른 주요 대상입니다. 테스트가없는 리팩토링은 그물없이 꽉 밧줄을 걷는 것과 같습니다. 당신은 다른쪽에 성공적으로 도착할 수 있지만, 위험은 보상의 가치가 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top