top | item 7066142

Show HN: Houdini – A new way to test web apps

63 points| levlandau | 12 years ago |tryhoudini.com | reply

23 comments

order
[+] Blahah|12 years ago|reply
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.

[+] levlandau|12 years ago|reply
@blahah Thanks for going through the flow! Working really hard to get this to you soon. Would love any feedback you have as well!
[+] aantix|12 years ago|reply
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?

[+] gre|12 years ago|reply
The video demonstrates how we would like the user-assisted side of it to work. For reasons like you mention, it might require more than DOM inspection in the end. What if tweets are supposed to show in the feed four times instead of once? To achieve the right level of control I think it needs API access to the database. We are close but not completely there yet. Thanks for the feedback!
[+] rogerdickey|12 years ago|reply
one approach is to look at the progressive diff between the insert tests & verify that the DOM is changing in the same incremental way
[+] sync|12 years ago|reply
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|12 years ago|reply
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|12 years ago|reply
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|12 years ago|reply
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|12 years ago|reply
Major "thank you" for doing github login without requiring me to hand over my private repositories.
[+] levlandau|12 years ago|reply
Thanks for the feedback! Definitely trying to be reasonable :) Definitely welcome any other suggestions!
[+] BjoernKW|12 years ago|reply
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|12 years ago|reply
Thanks! Yes we plan to make this possible. We've got a decent number of requests for similar functionality.
[+] katowulf|12 years ago|reply
A great looking tool! Can't wait to try it out on a few hundred projects :)
[+] hack_info_get|12 years ago|reply
Would be recommending this to the QA folks at work. Thanks for sharing!
[+] firebunnytime|12 years ago|reply
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|12 years ago|reply
Awesome!! I hate testing..
[+] hack_info_get|12 years ago|reply
this is great! Takes web development to a whole new level