Probably not so much misunderstood, but in my opinion underrated are tools for pairwise (or all-pairs) testing. Over the years it has helped me a lot in coming up with a concise set of test cases, or strimming down bulky test sets, while keeping confidence in the coverage achieved.
One tool in this space which is my favourite is PICT from Microsoft. Very lightweight, and I like the fact you can use it from the command line.
Are there any tools that get a bad reputation when perhaps they shouldn’t?
Selenium, by far, has the worst reputation through no fault of its own, at least not entirely. People love to call Selenium tests flaky, bad, slow (any UI E2E really). I haven’t encountered cases as of today where a “flaky” Selenium was the actual root cause. Most often than the issue was with the test itself, i.e. synchronization issues, resilience issues, bad assertions or with the SUT, i.e. bad testability, stability issues, performance issues etc.
What features of a tool aren’t commonly used but should be?
The logs, across all tools. We as SDETs, automation engineers, test engineers often forget to put value into proper logging, which often leads to horrendous debugging experience or figuring out what the actual failure was. Think how many times did a test fail on CI and the logs were worse than useless. Either there are not enough, or there are too many to make sense of anything.
What tool are you familiar with that isn’t talked about enough in the community?
Gatling, I love Gatling. I can admit it is already pretty popular but I’m really into the idea of having my load tests behaviour described in actual code, instead of some YAML or god forbid XML format.
Bash and CLIs in general. They’re definitely not as easy to discover functionality as a GUI (so they say), but they’re fast, they’re always there and they provide functionality nearly nothing with a GUI can match.
I rarely see test people talking about things like the debuggers, built into IDEs, which for me at least are absolutely magical, you can step right into a function, see what it’s got vs. what you think it has, absolute gold.
Minicom, niche, but if you want to get a serial connection to something (and you’re on Linux) then minicom has you covered, the GUI solutions for serial connections are, for me, much harder to use. With something like minicom, I can dump its output to a file while I work, I can have multiple terminals open with it in, I can test using several devices at once, it’s a great tool for the job.
Are there any tools that get a bad reputation when perhaps they shouldn’t?
Confluence and Jira.
They’re often painful to use, for sure, and they move the cheese a lot.
But, I’ve worked now at companies that use alternatives to these, and I really missed the functionality and speed that both Jira and Confluence provided.
What features of a tool aren’t commonly used but should be?
One I see a lot is teams using ‘Environment variables’ in Postman, when ‘Collection variables’ would suffice.
The Environment variables list then becomes a massive list of unmanageable items.
It seems ‘Collection variables’ are a little bit more hidden, but I find using them is cleaner - it encourages users to create and set variables only when they are needed.
Collection variables are also baked in when you export the collection. This saves a lot of hassle when trying to use something like Newman to test with - you don’t have to consider all the environment variables.
What tool are you familiar with that isn’t talked about enough in the community?
I use James Bachs perlclip tool quite often.
It’s just a perl script that will generate strings or sets of strings for you - it’s particularly useful when I need, say, a string exactly 1000 characters long.
Are there any tools that get a bad reputation when perhaps they shouldn’t?
Visual Studio, it’s a tank of an IDE, lot of Microsoft tools get a bad rap, but I think if you’re doing any coding in C# or F# there is no better choice of an IDE.
What features of a tool aren’t commonly used but should be?
Environments in Postman, they can save you a lot of time and help avoid having lot of duplicated similar requests, I see a lot of people just doing copy paste, which is not needed if only a part of the URI is changing. Using variables can make your life a whole lot easier, not just when using Postman but in general.
What tool are you familiar with that isn’t talked about enough in the community? LightShot, it’s a tiny lightweight screenshot tool, replaces the default Print Screen button, allows you do highlight and edit screenshots, copy them to clipboard or upload and share as links. It works on Mac and Windows, unfortunately there’s no Linux port yet.
Probably a lot of UI Automation tools and “AI” tools. If I’m a fan or not of UI automation it does have its benefits.
CLI, it’s so much more useful and easier to script. People are just afraid of it and it makes it misunderstood and scary to use for many.
& Reporting!
Azure DevOps TestPlans, you can link your CI build to certain automated tests & test plans to tag off your tests. It’s insane how much you can do with it.
Thank you for this! I clipped it into Evernote and it stays in English. Agree with Bjorn, I want to explore this more especially the tie in with cypress.
Currently, I see Playwright getting bad rep on Reddit just because it is backed by Microsoft. People won’t even try it because of that and I believe it is a great tool.
Those requiring outside of the box thinking? This is a tough one to answer in a general fashion…
Mind maps are a great tool that I don’t see enough chatter about.
According to me an underrated tool is vi. It is a text editor.
This command is part of UNIX, which is used on many servers. This is also applicable for the operating systems of Apple computers. For the Windows users, vim is available.
The interface is intimidating for the beginner. On the other hand the features are good:
I can combine vi with other UNIX commands. E.g. open all the text files containing the text “discount”.
I can edit multiple files on the same moment.
I can make a script, save it, and run it from inside the editor.
there is a simple way to detect a missing delimiter like a curly bracket ({).
vi supports regular expressions, which makes search and replace extremely powerful.
it can mark lines for navigating, copying, and pasting.
Record and Playback is so misunderstood that I want to rename it to Record and Refactor. Maybe then people would understand it better and appreciate how it can be useful.
I think Cypress developed an early reputation (mostly of their own making!) of being a direct competitor to Selenium. In reality it’s more like a JavaScript-powered browser plugin that happens to offer many (but not all) of the capabilities of Selenium-based frameworks, with most of the high-level tooling decisions (test organisation, assertions, mocking) made on the user’s behalf. It works well for some projects, particularly single-page apps that have a lot of frontend logic and/or client-side API calls, but equally it’s clearly not the right tool for many common use cases that are well-covered by Selenium-based frameworks.
Continuing the Cypress theme, I think Cypress’s network proxying/mocking capabilities are its best kept secret. In particular, adding in passive listeners using cy.intercept('GET', '/api/endpoint').as('yourAlias'), then using a cy.wait('@yourAlias') command for conditional waits makes my tests a lot more reliable when they depend on API responses after the initial page load.
Pretty much every web tester has used DevTools in some capacity, but there’s so much hidden functionality packed into it that no one person can possibly hope to know about all of it! Recently I’ve been playing around with cookies in the Application tab, to test cookie expiration/misconfiguration scenarios that would be very difficult to trigger organically.
Are there any tools that get a bad reputation when perhaps they shouldn’t?
I agree with Jira & Selenium. Let the tools define your way of working and you’ll hate them. It’s easy to get lost in ways of working for both of them. Be aware to not fall into these traps and you’ll see that they can be powerful instead of annoying.
What features of a tool aren’t commonly used but should be?
Lots of people know Git, and many of them use it. Many of them use the 'Posh-git it gives you so much more information of you current branch. Now don’t stop there, because ‘Oh-my-posh’ is an extra layer on top of it to improve it even further!
What tool are you familiar with that isn’t talked about enough in the community?
I love the BugMagnet plugin. I can generate test data in webbrowsers so fast. My favorite: Iñtërnâtiônàlizætiøn:snowman_with_snow:.
Are there any tools that get a bad reputation when perhaps they shouldn’t?
I believe cypress is getting a bad reputation when it shouldn’t currently, everyone says it is dying but I get companies coming to me all the time if I would like to join to help and support their cypress framework!
What features of a tool aren’t commonly used but should be?
unLighthouse is a tool that I recommend for anyone who wants to do general performance testing as it provides great visual metrics for product owners/business analysts to understand and then if you want to expand your performance suite, then hop into K6!
What tool are you familiar with that isn’t talked about enough in the community
Physical Network throttlers in combination with Charles proxy/fiddler can help you identify your weaknesses and performance of your api’s, I truly recommend anyone to use it especially if you work for a streaming service that has ad tech!