Làm thế nào để kiểm tra phần mềm ghi đĩa CD mà không lãng phí đĩa CD?


16

Tôi muốn viết một ứng dụng có thể được sử dụng để ghi đĩa CD (âm nhạc). Tôi biết dù sao tôi cũng nên kiểm tra nó bằng đĩa CD thật, nhưng tôi không muốn làm điều này mỗi khi tôi thực hiện một thay đổi nhỏ. Nhưng tôi muốn biết và kiểm tra xem dữ liệu phù hợp có bị cháy hay không, vì vậy bạn không nhận được đĩa CD bị hỏng.

Tôi đang sử dụng một thư viện chỉ hiển thị các API để ghi trực tiếp vào ổ đĩa vật lý; nó không cho phép bạn ghi vào ảnh đĩa (sẽ dễ kiểm tra hơn nhiều).

Làm cách nào tôi có thể kiểm tra điều này mà không lãng phí đĩa CD và thời gian cho mỗi thay đổi / một vài thay đổi tôi thực hiện?


5
Có thể chuyển sang thư viện không cho phép bạn ghi một hình ảnh đĩa?
Thất vọngWithFormsDesigner

Câu trả lời:


29

Câu trả lời đơn giản thường là tốt nhất: CD có thể ghi lại?

Ngoài ra để tiết kiệm thời gian, hãy viết các tệp tương đối nhỏ. Chỉ làm các tập tin lớn hơn thường xuyên.


1
Tôi đồng ý đây là một câu trả lời đơn giản và tốt, nhưng nếu WTP muốn đưa thử nghiệm lên một cấp độ khác, việc chế nhạo API (xem các câu trả lời khác cho câu hỏi này) sẽ mở khóa toàn bộ các khả năng thử nghiệm (như trong, tự động).
louisgab

@louisgab Tôi hoàn toàn đồng ý với bạn, khi tôi viết câu trả lời tôi chỉ thực sự giải quyết vấn đề lãng phí đĩa CD. Tôi hoàn toàn mong đợi một câu trả lời khác để đưa ra một cái gì đó tốt hơn (và họ có). Nếu có bất cứ điều gì, tôi sẽ đề xuất phương pháp chế giễu và chỉ đề xuất câu trả lời của tôi khi WTP thực sự muốn kiểm tra thực tế quá trình ghi đĩa.
Kevin D

19

Nếu bạn đang dùng linux, bạn sẽ có thể thiết lập một "thiết bị cd" chỉ là một ống có tên. Api của bạn ghi vào "thiết bị" và bạn kết nối đầu kia với một chương trình cho phép bạn xem những gì nó làm / chuyển đổi nó thành hình ảnh đĩa. Có rất nhiều lựa chọn ở đó. Xem bài viết này để biết thông tin về các đường ống được đặt tên.

Câu trả lời của Kevin là IMO dễ dàng hơn nhiều.


2
Tôi thực sự đang dùng Mac OS X, cũng là một hệ thống UNIX. Tôi sẽ thử cái này.
đúng

6

Viết càng nhiều bài kiểm tra càng tốt, bạn có thể sử dụng một bản mô phỏng API của thư viện. Điều này cho phép bạn kiểm tra mã của bạn theo đơn vị. Điều này cho thấy rằng mã của bạn hoạt động trong chính nó giả định rằng thư viện thực hiện theo cách nó được yêu cầu.

Tại một số điểm, bạn sẽ cần thực hiện kiểm tra tích hợp thực sự sử dụng thư viện. Nhưng vấn đề là bạn đã có một mức độ tự tin với mã của riêng bạn trước khi bạn đi đến điểm này. Kiểm tra tích hợp thường mất nhiều thời gian và tài nguyên hơn, như bạn đã thấy. Vì vậy, kiểm tra đơn vị kỹ lưỡng cho phép bạn không hoàn toàn dựa vào kiểm tra tích hợp.


3

Kiểm tra chính xác là gì bạn đang nói về?

Đọc "Tôi không muốn làm điều này mỗi khi tôi thực hiện một thay đổi nhỏ" trong câu hỏi của bạn, tôi tưởng tượng rằng bạn đang nói về thử nghiệm đơn vị .

Nhưng sau đó, bạn thêm rằng bạn đang sử dụng API chịu trách nhiệm ghi dữ liệu vào đĩa CD. Nếu API này được kiểm tra và ghi lại một cách chính xác, bạn không phải đối phó với quá trình ghi dữ liệu thực tế vào CD và bạn không phải kiểm tra nó. Trong trường hợp này, bạn đối phó với thử nghiệm tích hợp , rằng bạn không phải thực hiện "mỗi khi [bạn] thực hiện một thay đổi nhỏ" .


Nhưng tôi cần phải biết nếu tôi đang sử dụng API chính xác.
đúng

@WTP: xem chỉnh sửa của tôi. Ngoài ra, API được viết chính xác sẽ không cho phép bạn tạo các đĩa CD bị hỏng bằng cách sử dụng nó không chính xác. Nếu nó thực hiện được những thứ này, có lẽ bạn nên tìm kiếm một API khác trước. Một API ở đây để cung cấp một sự trừu tượng và đặc biệt là để tránh phải đối phó với các cách để tránh tham nhũng khi lưu dữ liệu vào đĩa CD.
Arseni Mourzenko

Bạn có một điểm ở đó. API là tài liệu rất tốt.
đúng

1

WTP,

Vì bạn muốn kiểm tra phần mềm của mình (không phải API, cũng không phải máy ghi âm), như Chris đã chỉ ra, một bản mô phỏng API sẽ là cần thiết.
Đối với thử nghiệm tích hợp, máy ghi "ISO" đáng tin cậy sẽ cho phép bạn tự động kiểm tra nội dung CD bằng cách phân tích tệp .iso.
Trên thực tế, việc ghi đĩa CD hoặc DVD sẽ không mang lại kết quả cuối cùng, vì bạn sẽ không thể xác định nguyên nhân lỗi là do đĩa CD bị lỗi, máy ghi bị lỗi hay lỗi phần mềm, trừ khi bạn muốn thực hiện thống kê chất lượng bằng cách ghi lại nhiều bản sao của cùng một đĩa (bạn dường như không).
Chúc may mắn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.