DEV Community

Cover image for The Best Software Testing Tools

The Best Software Testing Tools

Klaus on October 14, 2019

Introduction Most of us neglect testing. We lower the priority until there's no more time left for it. And who can blame us? It's har...
Collapse
 
pavelloz profile image
Paweł Kowalski • Edited

I like Insomnia instead of postman and httpie instead of curl for simpler requests.

Also, automated testing is a breeze with TestCafe

I highly recommend checking them out :)

Collapse
 
razgandeanu profile image
Klaus

What do you like about TestCafe?
I looked it up and it just seems like a honeypot where we have buzzwords about Open Source and npm, only to take you to a paid tool (TestCafe Studio).
They launched since 2013 and they only have 1,146 Followers on Twitter.
It just looks like a failed project.

Collapse
 
pavelloz profile image
Paweł Kowalski • Edited

Hmm, i dont know much about the testcafe studio - i used in when it was in beta but because i know JS and WYSIWYG for js (including css selectors) was not meeting my standards, its probably for less technical who dont want to get dirty in JS.

Well, i never found any JS e2e framework that is better.

Capybara (im from Ruby on Rails community) is slow, based on ancient drivers and there are constant problems with "waiting" for things, so you need to add manual waits.

Pure puppeteer/firefox alternatives need too much boilerplate code.

  • TestCafe has docker image (i use it on CI)
  • and npm package,
  • it has watch mode, which speeds up development,
  • its quick (cypress moves slower than tectonic plates),
  • i never have issues with waiting for anything which was the biggest issue in all the solutions, including paid GhostInspector,
  • i can very easily write my own helpers,
  • it supports PageObject out of the box,
  • it has Roles which helps in my kind of work (i often test Seller + Buyer flow)
  • its extrelemy easy to configure to run tests in multiple browsers
  • supports remote browsers (ie. browserstack, saucelabs),
  • uses modern JS to write tests
  • company behind it has big components library so they will support it, because testing it is probably critical to their business
  • with very little effort ive added performance testing to my test suite
  • it produces very nice artifacts from failed tests (screenshots/video) on CI

To be honest i never cared about number of followers on twitter - i cared how good the product is, and IMO it is the best on the market ;-)

github.com/DevExpress/testcafe - this tells me much more than twitter account. Im very glad they focus on development not the social media presence - i suspect this might be the reason why this product is so good.

Thread Thread
 
razgandeanu profile image
Klaus • Edited

I see you keep mentioning a lot about TestCafe.
I searched your name on Google and it returned multiple articles and comments where you praised this solution.
How can we know that you're not biased?

Also, why does everyone say that their solution is the ONLY one that has smart/automatic waits.
That is BS. Most solutions for automated testing provide automatic waits which can be configured globally (e.g. Element Load Timeout, Page Load Timeout).

Thread Thread
 
pavelloz profile image
Paweł Kowalski

Of course im biased. Like everyone in the world about everything - this is my opinion, just like everything else i say/write.
Take it or leave it, not forcing anyone to trust me.

The question is why are you questioning my opinion.
If you see a trap instead of my arguments then maybe work on your biases ;)
Im not "BigCorp Co.", i dont look for your data to sell it, im trying to help FEDs increase their code/project quality by sharing my experience and hopefully save their time/stress when debugging random fails.

Im not saying "my" (its not mine, i just use it) is the only one that works, im saying TestCafe has the only one that "just works" for me for ~2 years now and ive wasted a lot of time on other solutions that promised, but not delivered that one thing.

Thread Thread
 
leob profile image
leob

So you imply that TestCafe is (a lot) speedier than Cypress? That's interesting, I always understood they're on par, or that Cypress is even a bit faster ...

Thread Thread
 
pavelloz profile image
Paweł Kowalski • Edited

Maybe thats just my feeling - its always better to test individually before making any decisions.

Ouh, i also take into account how fast it is installing, initializing as a general "speed".

Cypress is doing very weird things with 200mb+ downloads, which i didnt observe while using TC docker container (which btw. imo is superior way of running tests anyways, especially when using CI, like i do).

Thread Thread
 
leob profile image
leob • Edited

Right ...

I've used TestCafe and it is a hundred times better than the Selenium tools I've used before, but I understood that Cypress is in the same league as TestCafe ... both are progressive and innovative test tools that do away with the old Selenium baggage.

Much much easier to use, faster and no more "waiting" (Selenium's ability to configure "timeouts" is not a real solution in my book, that's still flaky).

I haven't used Cypress yet, a 200MB download seems a bit too much but OTOH you do that (the installation) only once don't you? What matters is how fast your tests run.

I don't know if Cypress can use Docker, I read that it's completely browser based. Eager to try it out and compare to TC.

Thread Thread
 
pavelloz profile image
Paweł Kowalski

Well, if your CI is installing npm packages on every build, because you want to make sure your environment is clear between builds, then install time matters. And cypress is a snail in that regard.

It is mitigated both by docker image (docker images are cached layer above on CI's usually). Probably its possible to cache npm packages as well, but we have had instances with critical production bugs because we had cached version of npm package, that was updated in npm registry, so we decided to never cache npm packages anymore.

Collapse
 
leob profile image
leob

I've used TestCafe and it's lightyears ahead of Selenium based tools (which I've used before) in terms of speed and usability. Studio (paid indeed) is completely optional, you don't need it. While I had a positive experience with TestCafe, I am also very curious about Cypress ... when hearing about what it can do I'm very eager to try it.

Collapse
 
avalander profile image
Avalander

+1 for Insomnia. It feels leaner and easier to use in general.

Collapse
 
douglasfugazi profile image
Douglas Fugazi

I've been using Cypress.io, it really is a good end2end tool to automation. Faster and easier to testers.

Collapse
 
razgandeanu profile image
Klaus

Sorry, but I would not rely on Cypress.
It's not relevant for real users who are using real browsers like Chrome, Safari, Firefox, etc.