"How does one pick the test cases for something like the GildedRose? Emily Bache, who provided the test cases for this essay and who ran the Python user group kata that I participated in, developed the test cases manually."
I created my tests based on empty example from Emily
https://github.com/emilybache/GildedRose-Refactoring-Kata/bl...
and right now I assume I have my own tests covering all edge cases because I discovered edge cases with golden master technique and I added missing tests to gilded_rose_spec.rb file.
"The solution shown here "recorded bunch of input examples and output results from the program we wanted to refactor." However, are those seeded versions themselves sufficient?" Golded Master tests are sufficient because I recorded all possible cases of inputs/outputs for reasonable amount of sell in days. See https://github.com/ArturT/GildedRose-Refactoring-Kata/blob/s... https://github.com/ArturT/GildedRose-Refactoring-Kata/blob/s...
"Even coverage analysis may not be sufficient." Agree.
"Coverage assisted test development is, in my opinion, an underused technique." I guess you're right. I wouldn't relay only on test coverage.