

Show HN: Houdini – A new way to test web apps - levlandau
http://www.tryhoudini.com

======
Blahah
First of all, I'm very interested in this.

Secondly, that was a very well-designed capture. You got me to give up my
email, log in with GitHub, tell you how much I would pay, and then you gave me
nothing. Houdini indeed!

Kudos. Now I'm waiting for my beta access email.

~~~
sync
Seems like you can actually create a project on the left:
[https://www.monosnap.com/image/NEWTlovotIcjL5wqSYceVSFX2P7Bm...](https://www.monosnap.com/image/NEWTlovotIcjL5wqSYceVSFX2P7BmY)

~~~
Blahah
D'oh! Thanks :)

------
aantix
In the dynamic content example; with the previous showing one item and the
second screen shot showing two items, what is it about the DOM structure that
makes this a passing test? How do you know that the functionality wasn't
suppose to update an item?

Wouldn't you at least need three tests; an initial test to show that an item
is inserted into the DOM, a second test to demonstrate that the system is
inserting, not updating an item, and then finally your third test that
demonstrates the functionality continues to insert into the DOM?

~~~
rogerdickey
one approach is to look at the progressive diff between the insert tests &
verify that the DOM is changing in the same incremental way

~~~
aantix
That was my point; a "progressive diff" isn't just two samples. At test sample
#2, whether an item inserts or updates, either could be correct at that point.

------
_random_
[http://en.wikipedia.org/wiki/Houdini_(software)](http://en.wikipedia.org/wiki/Houdini_\(software\))

~~~
pyramation
yep, Houdini is a special effects software build by Side Effects, Inc., I used
to work for them actually. Great company.

------
sync
Looks really promising if it can work on complex dynamic sites!

The sample script provided is totally incorrect though:

    
    
      <script src="//cdn.tryhoudini.com/houdini.js"></script>
      Houdini.init("xxxx")
      Houdini.startListening();
    

Missing a script tag around `Houduni.init ... Houdini.startListening()`

------
randy_burden
This concept of testing seems strange and very limiting when it comes to the
assertions you wish to make. If you post "Hello World!" I would want to test
that in my post feed there is a post from myself ( Assertion 1 ) and the
contents is "Hello World!" ( Assertion 2 ). I don't see how this form of
snapshot testing would accomplish this. Am I missing something?

------
pud
This looks awesome. Scared to put the Javascript on my site though, because
it's unclear to me how the embedded Javascript will be able to differentiate
me (the site owner) from regular users.

I don't want regular users seeing the "1 test generated" thing on each page.
Maybe clarify this a little on the page where you give me the Javascript
snippet.

~~~
levlandau
Will definitely clarify this on the dashboard. Users of the site won't see
those notifications for sure. Those are configurable and you'd only use those
on your dev environments.

------
freerobby
Major "thank you" for doing github login without requiring me to hand over my
private repositories.

~~~
levlandau
Thanks for the feedback! Definitely trying to be reasonable :) Definitely
welcome any other suggestions!

------
BjoernKW
Very cool. I recently had an idea along those lines. Good to see someone's
building something in this area. Will it be possible to generate CasperJS- or
Selenium-compatible test scripts from Houdini so tests can be run in a CI
environment, too?

~~~
levlandau
Thanks! Yes we plan to make this possible. We've got a decent number of
requests for similar functionality.

------
katowulf
A great looking tool! Can't wait to try it out on a few hundred projects :)

------
hack_info_get
Would be recommending this to the QA folks at work. Thanks for sharing!

------
firebunnytime
This is intriguing. If those guys get it to work on complex, real-world web
sites I think they can build a serious business around this. I'm gonna give
this a try. Best of luck!

------
digiru
Awesome!! I hate testing..

------
hack_info_get
this is great! Takes web development to a whole new level

