axelson
ElixirConf 2019: UI Testing is Ruff; Hound Can Help - Vanessa Lee
by @girlsleuth
Whether you call it UI testing, End-to-End Testing, End-to-User Testing, or Acceptance Testing–it is often an intensely manual and time-consuming process. An Elixir library, Hound, can carry some of the load through browser automation. Browser automation means that I can automate my user interactions — clicks, fill inputs, file uploads, selecting options, radio buttons, etc. Hound tests saved me days of manual end-user testing on a project, and I want to share those benefits with you.
In addition, I found that using property-based testing principles with Hound amplifies the benefits. With the recent publication of Fred Herbert’s Property-Based Testing with PropEr, Erlang, and Elixir: Find Bugs Before Your Users Do, I have been more determined than ever to increase my understanding of property-based testing and incorporate it in my applications.
I recently had to rewrite in Elixir & Phoenix an internal credit card processing application I originally wrote in PHP in 2000. The original code had very few tests. This project provided the perfect opportunity to incorporate property-based testing in my acceptance tests. As Fred Herbert says, “Property-based testing is not a replacement for all testing, just a new tool that can often improve results.” Property-based testing gets us closer to knowing more of what he refers to as the “unknown unknowns”
I want to share that experience using examples from my recent experiences as well as by using an application I wrote specifically to show off the spectacular benefits of Hound. I will demonstrate an overview of Hound, Hound’s helpers, and StreamData. Hound, together with Elixir’s StreamData, allows us to achieve St. Bernard-level peace of mind. They can rescue us from the anxiety of failing QA and future code changes.
View all threads tagged with hound
View all threads tagged with property-based-testing
View all elixirconf2019 talks
Popular in Talks
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance










