http://devchat.tv/ruby-rogues/196-rr-testing-clojure-in-ruby-with-ashton-kemerling
in generative testing you have to determine what the invariant is. What must be true at the end of the test
at 40:58 the question is asked why it has a bad reputation
podcast-rr-196-testing-clojure-in-ruby#avdi-state-space1 at 52:30, Avdi asks a question:
"by testing the application from the frontend, your inputs are actions. Your inputs are high level human actions. And it's almost like the algorithm that you're testing is the application moving over the state space, which is cool."
[snip]
"does this change your perception of your application architecture at all? Or do you think differently about architecting your application because you're thinking about actions, human actions, as these composable parts of input?" podcast-rr-196-testing-clojure-in-ruby#avdi-state-space1
Sounds a bit like cqrs
podcast-rr-196-testing-clojure-in-ruby#sequence-of-events-drive-state "A sequence of events that drive state" podcast-rr-196-testing-clojure-in-ruby#sequence-of-events-drive-state
podcast-rr-196-testing-clojure-in-ruby#pivotal-tracker-uses-commands he said that under the hood pivotal tracker uses "commands", which leads me to believe that you can test the application state by testing commands? podcast-rr-196-testing-clojure-in-ruby#pivotal-tracker-uses-commands
A bit later Avdi says this:
"Yeah. I will say that I feel like if I were doing this from the frontend, I would immediately start thinking along the lines of, podcast-rr-196-testing-clojure-in-ruby#testing-app-as-algorithm1I'm testing my application as an algorithm over a series of inputs podcast-rr-196-testing-clojure-in-ruby#testing-app-as-algorithm1 here. Can I move that back from the frontend? Can I start looking at these human actions on the backend side as discreet actions that I can also string together and test as, when you run the application over this series of events, what is the outcome?"