4 ms·
> Does this MP3 sound right after compression? A quick check for this would be to have a bunch of wav files that demonstrate different properties that the enco
by DannoHung 17y ago
> Does this MP3 sound right after compression?
A quick check for this would be to have a bunch of wav files that demonstrate different properties that the encoder is supposed to compress on, run them through the encoder, and then read them back out through a standard decompressor, and then verify that the waveforms match within a tolerance. With any release, you'll want to do some manual testing, but you can gain higher confidence on small changes between milestones.
> Does the typography for this combination of letters look right?
Same sort of thing, generate a bitmap from the output, compare against a pre-approved sample using a heatmap to determine differences.
> Is the user interface responsive enough?
Define what responsive means in quantitative terms. For most interactions, you're going to want sub 200 ms. For stuff where you want the user to wait, you'll have to define wait times ahead of time. Maybe you make changes that cause the latter to break because of a significant change in what you're doing, but it's good for people to know about that ahead of time, right?
> What about the crash that only occurs in just the right hard-to-duplicate circumstances?
Hey, nothing's perfect. But this objection is tautological. It's only hard to duplicate because you don't understand it yet.
- derobert 17y ago"verify that the waveforms match within a tolerance" The problem is, that is not easy. Determining how close two pieces of audio sound is the majority of the lossy audio compression problem. You can of course check if you're output is bitwise identical, but when it isn't, you need ABX testing. With people.
- vlisivka 17y agoYes, it looks like manual test. BUT, when QA team found problem, you can create automated test case, which will look for that particular problem only. Right? For example, QA noticed "clicks" every few seconds in resulting sound. Is it hard to create automated test case for that?
- derobert 17y agoI'm not sure how hard it would be to create a reliable test for clicks. Depends on the type of click, I suppose. Some would be fairly easy to detect (e.g., "for .1s, all samples output are 0, with loud samples on both sides"). Though I'm guessing that would actually result in plenty of false-positives, and would be a fairly carefully tuned (and thus fragile) test case. A better approach might be to detect it in the frequency domain, after performing an FFT (that instant drop to 0 will generate a lot of energy on both sides). I suspect you'll still need the careful tuning; after all, a sudden burst of energy on your FFT could be a click, or it could be a cymbal. Not sure how well this would work, I've never tried it, though it sounds like some fun code to write.