Gremlin.js: Throw a thousand monkeys at your page
11–20 of 32 posts
Re: Gremlin.js: Throw a thousand monkeys at your page
#12Netflix also has a famous division of monkeys that they unleash to take down servers in the hive, and generally muck about. They want to break as many things as possible while keeping uptime and that sounds freaking awesome! :D
Re: Gremlin.js: Throw a thousand monkeys at your page
#13I think this is essentially "Fuzz testing"[1]. Something I read about in a book years ago but never saw done in real-life. The term may be antiquated at this point. [1] http://en.wikipedia.org/wiki/Fuzz_testing
Re: Gremlin.js: Throw a thousand monkeys at your page
#14I think this is essentially "Fuzz testing"[1]. Something I read about in a book years ago but never saw done in real-life. The term may be antiquated at this point. [1] http://en.wikipedia.org/wiki/Fuzz_testing
Fuzz testing, on the other hand, is about modifying the data, to interacting with the UI. To use an analogy, fuzz testing Microsoft word might involve corrupting various structures in the DOC or DOCX file or in an OLE embed with malformed data and seeing how the parser/program reacts. The Gremlin.js equivlent would be just clicking on a bunch of buttons in the Word UI really really fast.
Both are helpful, but they are testing different things
Re: Gremlin.js: Throw a thousand monkeys at your page
#15I guess 40-something.
Re: Gremlin.js: Throw a thousand monkeys at your page
#16So the person who named this is old enough to have seen (and liked) http://en.wikipedia.org/wiki/Gremlins I guess 40-something.
Re: Gremlin.js: Throw a thousand monkeys at your page
#17So the person who named this is old enough to have seen (and liked) http://en.wikipedia.org/wiki/Gremlins I guess 40-something.
Re: Gremlin.js: Throw a thousand monkeys at your page
#18For those who don't know: this is PROBABLY named after Palm OS Gremlins. Palm OS had a debugging tool called "gremlins" that would randomly tap and type and gesture all over your Palm OS app. This debugging tool would often find edge cases that would end up crashing your app. As someone who used to program for Palm OS a lot, I was pretty happy to see this name. :)
Re: Gremlin.js: Throw a thousand monkeys at your page
#19I think this is essentially "Fuzz testing"[1]. Something I read about in a book years ago but never saw done in real-life. The term may be antiquated at this point. [1] http://en.wikipedia.org/wiki/Fuzz_testing
I wouldn't call this fuzz test because it focuses on simulating legitimate actions. Do random clicking. Do random scrolling. Do random mouseovers. Do random [any DOM event]. Yes, they are doing this at a massive scale, but the key here is that germlin.js can only do things a user can do. In short, Gremlin is just automating actions; basic legal, legitimate actions. Still cool, and great for stress testing or looking…
Fuzzing is not about modifying data. I don't think that's the right way to describe fuzzing.
It's about testing the durability of a program by trying all kinds of data, as greedy as possible. This includes known problematic inputs and random inputs to match some expectations. By random it can either be totally random (any length, any pattern) or protocol-aware.
Random clicking is a form of random data testing because you are trying random input stream to a program. Your argument is not entirely wrong either. By fuzzing his UI he may trigger the browser to crash. He may trigger his monkey to crash. Fuzzing is a very general technique. I can write a fuzzer that fuzz Firefox's UI Australis. What will I look for? Maybe after opening 100 tabs and closing the 45th tab the titlebar disappeared. Or resize the browser from range s to range w I will find some range will cause the UI to look ugly (style overflow, etc). Or after clicking on the scrollbar several times consecutively the browser crashed.
Barton Miller, the "Father of Fuzzing" did UI fuzzing by simulating actual keystrokes and mouse clicks. See ftp://ftp.cs.wisc.edu/paradyn/technical_papers/fuzz-nt.pdf
In his Forwards page, he even mentioned "Monkey" http://pages.cs.wisc.edu/~bart/fuzz/Foreword1.html
Re: Gremlin.js: Throw a thousand monkeys at your page
#20For those who don't know: this is PROBABLY named after Palm OS Gremlins. Palm OS had a debugging tool called "gremlins" that would randomly tap and type and gesture all over your Palm OS app. This debugging tool would often find edge cases that would end up crashing your app. As someone who used to program for Palm OS a lot, I was pretty happy to see this name. :)