CD를 낭비하지 않고 CD를 굽는 소프트웨어를 테스트하는 방법은 무엇입니까?


16

CD (음악)를 굽는 데 사용할 수있는 응용 프로그램을 작성하고 싶습니다. 어쨌든 실제 CD로 테스트해야한다는 것을 알고 있지만 작은 변경을 할 때 마다이 작업을 수행하고 싶지 않습니다. 그러나 올바른 데이터가 레코딩되는지 알고 테스트하여 CD가 손상되지 않습니다.

API를 노출 시켜서 실제 드라이브에 직접 레코딩하는 라이브러리를 사용하고 있습니다. 디스크 이미지에 쓸 수 없습니다 (테스트하기가 훨씬 쉽습니다).

모든 변경 / 몇 가지 변경에 대해 CD와 시간을 낭비하지 않고이를 어떻게 테스트 할 수 있습니까?


5
이 라이브러리로 전환 할 수있을 것입니다 않습니다 당신은 디스크 이미지를 작성할 수?
FrustratedWithFormsDesigner

답변:


29

간단한 답변이 종종 가장 좋습니다 : 재기록 가능한 CD?

또한 시간을 절약하기 위해 비교적 작은 파일을 작성하십시오. 큰 파일 만 자주 수행하십시오.


1
나는 이것이 간단하고 좋은 대답이라고 동의하지만 WTP가 다른 수준으로 테스트를 원한다면 API를 조롱 (이 질문에 대한 다른 답변 참조)하면 전체 차원의 테스트 가능성이 자동화됩니다.
louisgab

@louisgab 나는 당신에게 전적으로 동의합니다. 대답을 쓸 때 나는 CD 낭비에 관한 요점을 실제로 다루고있었습니다. 나는 또 다른 대답이 더 나은 것을 얻을 것으로 기대했다. 어쨌든 조롱 접근법을 추천하고 WTP가 실제로 레코딩 과정을 실제로 테스트하고 싶을 때만 대답을 제안합니다.
Kevin D

19

리눅스를 사용하는 경우, 이름이 지정된 파이프 인 "cd 장치"를 설정할 수 있어야합니다. 당신의 api는 "장치"에 쓰고 다른 쪽 끝은 그것이 무엇을하는지 디스크 이미지로 변환 할 수있는 프로그램에 연결합니다. 많은 옵션이 있습니다. 명명 된 파이프에 대한 정보는 이 기사 를 참조하십시오 .

Kevin의 대답은 훨씬 쉬운 IMO입니다.


2
저는 실제로 UNIX 시스템 인 Mac OS X에도 있습니다. 나는 이것을 시도 할 것이다.
rightfold

6

라이브러리의 API를 사용하여 가능한 한 많은 테스트를 작성하십시오. 이를 통해 코드를 단위로 테스트 할 수 있습니다. 이것은 라이브러리가 예상대로 작동한다고 가정하면 코드 자체에서 작동한다는 것을 보여줍니다.

어떤 시점에서는 실제로 라이브러리를 사용하는 통합 테스트를 수행해야합니다. 그러나 요점은이 시점에 도달하기 전에 이미 자신의 코드에 대한 자신감이 있다는 것입니다. 보시다시피 통합 테스트에는 더 많은 시간과 리소스가 필요합니다. 따라서 철저한 단위 테스트를 통해 통합 테스트에 전적으로 의존하지 않아도됩니다.


3

어떤 테스트에 대해 정확히 이야기하고 있습니까?

귀하의 질문에 "작은 변경을 할 때마다 이것을하고 싶지 않습니다."를 읽고 단위 테스트 에 대해 이야기하고 있다고 상상해보십시오 .

그러나 나중에 CD에 데이터를 굽는 API를 사용하고 있다고 덧붙입니다. 이 API가 올바르게 테스트되고 문서화되면 데이터를 CD에 굽는 실제 프로세스를 처리 할 필요가 없으며 테스트 할 필요가 없습니다. 이 경우 통합 테스트 를 다루 므로 "매번 작은 변경" 을 수행 할 필요는 없습니다 .


그러나 API를 올바르게 사용하고 있는지 알아야합니다.
rightfold

@ WTP : 내 편집을 참조하십시오. 또한 올바르게 작성된 API를 사용하면 손상된 CD를 잘못 사용하여 CD를 만들 수 없습니다. 이런 종류의 일을하는 경우 먼저 다른 API를 검색해야합니다. API는 추상화를 제공하고 특히 CD에 데이터를 저장할 때 손상을 피하는 방법을 다루지 않기 위해 제공됩니다.
Arseni Mourzenko

거기에 요점이 있습니다. API는 매우 잘 문서화되어 있습니다.
rightfold

1

WTP,

Chris가 지적한 것처럼 소프트웨어 (API 또는 레코더가 아님)를 테스트하려는 경우 API의 모의가 필요합니다.
통합 테스트의 경우 신뢰할 수있는 "ISO"레코더를 사용하면 .iso 파일을 분석하여 CD 내용 테스트를 자동화 할 수 있습니다.
실제로 CD 또는 DVD를 굽는 경우 여러 복사본을 기록하여 품질 통계를 수행하지 않는 한 오류 원인이 CD 결함, 레코더 결함 또는 소프트웨어 버그인지 확인할 수 없으므로 결정적인 결과를 얻을 수 없습니다. 동일한 디스크 (각각은 그렇지 않습니다).
행운을 빕니다!

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