anchor
Insights /  
QA's Notes: My Toolset, Testing Myths, and First Clojure Project

QA's Notes: My Toolset, Testing Myths, and First Clojure Project

September 23, 2022
->
7 min read
Technology
By
No items found.

Hi, I'm Vitaliy! And this is the story of my testing journey and my first experience with Clojure + some tips for beginners.

About me

icon
Fan of handy tools for testing
icon
Ghost rider
icon
Coffee lover
icon
A philomath — lover of learning new things

First do it, then do it right, then do it better. This quote by Addy Osmani could be a good motto for the testers division.

Anyway, that's how I see my mission as a QA engineer.

Full of challenges and aha moments, the tester's career is the path worth stepping on. Here, I want to share my thoughts on how to do it with joy, what tools to use, and more.

Three common myths about QA testers

Let's start with three popular myths and misconceptions about software testing and try to break them.

icon
Even without a tech background, I can finish a 1-month training course and become a QA guru

Demythification: no, you can't (unless you are a genius)
icon
Patience are the most important soft skills for a tester

Demythification: much more important, though, is sincere curiosity and a willingness to learn
icon
There's no room for creativity — QA testing is so boring!

Demythification: to be a good QA engineer, you have to find individual approaches, develop different test cases, and analyze various user scenarios — it's not dull at all and requires a lot of creativity

If you 1. are passionate about exploring software development and diving into processes 2. want to improve your critical thinking skills — software testing is exactly what you need. Take your time, stay enthusiastic, and let's start the journey!

How to become a QA tester or leave this idea forever

Warning
Testing is not about Ctrl+C/Ctrl+V of test examples from the first Google search result. You need a deep dive into how one or the other technology os working under the hood.

The time will come when you ask yourself, which side of the QA force to choose? The light one — to think holistically about architecture and entities, harnessing peace and calm? Or stay on the dark side, breaking things and delving to tricky issues missed by developers?

The truth is that even with all the skills and a holistic mindset, you still have to be a rebel to not lose sight of risks and bugs.

Here is the moment of glory: missed by devs, a corner case is caught by you. A critical error is detected. You prevent a headache. The apocalypse is canceled. Are you ready to become a superhero? 😎

In the world of QA engineering, you will be both creator and destroyer. And all for a good cause: to create a superb product and shape the best possible user experience.

Important point: don't start chaotic learning of anything and everything. Set a goal.

For example, you want to be good at API testing.

icon
Aha moment: I want to test APIs like a pro!
icon
Make a checklist of what to study
icon
Spend a week/month studying the selected topic
icon
Prepare a breakdown for each method of API testing
icon
Read step-by-step tutorials or watch videos about test cases and methods that interest you
icon
Try it in practice

P. S.: Here are three books I'd recommend for both beginners and experienced specialists to look at QA testing from a new angle and discover interesting facts you might not have known.

books for QA testers what to read
1
«How Google Tests Software»
by Jason Arbon, Jeff Carollo, James Whittaker
2
«API Testing and Development with Postman»
by Dave Westerveld
3
«Beautiful Code: Leading Programmers Explain How They Think»
by Andy Oram and Greg Wilson

QA toolkit: my top tools for testing and beyond

QA toolkit
visual code studio
Visual Studio Code
VS Сode is a code editor supporting development operations, including debugging, task running, and version control. If I need to write any script for automation, I open it and enjoy the process.
apache jmeter
Apache JMeter
JMeter is my must-have for load testing. It may be too old school for someone, but it's the basis for me. If you deeply understand how to write load tests in Apache JMeter, you can soon shift to k6 or its analogs.
mysql workbench
MySQL Workbench
Almost simultaneously with Visual Studio Code, I started using MySQL Workbench, a graphical visual database design tool. Once my laptop randomly turned off 5 times in a row because of an incompatible VS Code extension. So I decided to switch to a standard DB management tool and didn't regret it 😀
jira
Jira
Jira is simply the best management tool. With this software, it's pretty easy to:
  • describe the bug
  • set an assignee
  • add all necessary materials, allowing developers to fix problems quickly
postman
Postman
Postman will come in handy when you need to send requests to a couple of endpoints with no further automation . I always use it for quick API testing, enjoying its simple and elegant UI, useful guides, and clear documentation.
testrail
TestRail
TestRail is the top test case management tool including everything you need to streamline your testing processes. It offers a number of test planning tools and various options for performing manual testing. One more nice bonus — you can integrate it with Jira.
node.js
Node.js|NPM
Well-known Node.js doesn't require a presentation. Fast, high-quality, trustworthy, and easy to maintain. I use npm as the package manager for Node which aids in package installation, version management, and dependency management.
ReportPortal
ReportPortal
ReportPortal is a tool for autotest results visualization. It acquires, aggregates, and analyzes test reports with AI-powered technology and helps testers save a lot of time. ReportPortal is free, open source, and easy to integrate.

Testing Clojure product: challenges and solutions

I'll say right away that my first experience with Clojure was not very smooth.

Unusual syntax, macros, and rollbacks seemed too complicated at first glance.

Since it was my first Clojure project, my initial steps involved:

1. learning documentation

2. analyzing requirements

3. writing user stories

Our QA team faced a task: together with the developers, we had to choose the testing strategy that could reduce the regression test suite (by covering all critical functionality with autotests).

By the way, here's a little bit about the project.

It's a biomedical data science platform (NDA) that provides software for pharmaceutical companies and laboratories analyzing biomarkers needed for synthesizing and disease research.

I worked on test parameterization and improving the reusability of test scripts, enabling developers to quickly check test results and collaborate more closely.

In fact, there isn't much difference between the QA testing methods used for Clojure products and software written in other programming languages.

Unit tests, integration tests, e2e tests — everything is at your disposal. You can test with or without mocks or stubs. There are specific code coverage tools, linters, and other lovely things from the gentleman's QA bag.

Some interesting points I've mentioned:

okey
Testing on the JVM
For example, Health Samurai uses JVM for unit testing to minimize execution time and test frontend code quickly and cheaply.
okey
REPL. REPL Driven Development
REPL. REPL Driven Development or, to be exact, REPL-Like Driven Development becomes a common 'practice' for different languages. But Clojure as a Lisp-family language is about a fully-featured REPL, all-wheel drive REPL, REPL as a core idea. Clojure is true a REPL & I enjoy this experience a lot.
okey
Hot Reload
Automatic reloading of code during development is one more great thing. Debugging by using Hot Reload is something worth trying.

It was one of the projects where we succeeded in implementing the testing pyramid concept promoted by Mike Cohn.

testing pyramid Mike Cohn

This pyramid includes the following stages: Unit Tests, Service Tests, and User Interface Tests at the top. It visualizes the principle of categorizing software tests into buckets of different granularity. More high-level = fewer tests.

Do you want to break down myths about Clojure?
Enjoy the book

Little backstage story

My typical workday is pretty simple. It starts with fresh lemon-mint water and an outdoor workout (jogging or jumping rope) in the early morning.

Then, after checking work email, Jira, Confluence, and work chats, the story begins. Jira tasks, Trello tickets, tests, bugs, video meetings, and evening reports — you won't get bored 😉

And, finally, a walk along the evening park or brightly illuminated central streets to gather thoughts and find inspiration for the next workday.

Besides professional self-development, I have three dreams:

1
Set a new Guinness World Record
but haven't decided which on
2
Achieve 350km/h on a motorcycle
because 250km/h mission is already done
3
Share my knowledge with people systematically
maybe I'll start my own blog, who knows

I enjoy learning new technologies and sharing this knowledge with the team. Hopefully, I'll have more time for this. I am always open to a discussion or answering your questions. Contact me on Linkedin or welcome to my Instagram page to find new posts about testing and share content you like.

Build Your Team
with Freshcode
Author
No items found.

Share your idea

Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
What happens after
you fill this form?
We review your inquiry and respond within 24 hours
A 30-minute discovery call is scheduled with you
We address your requirements and manage the paperwork
You receive a tailored budget and timeline estimation

Talk to our expert

Nick Fursenko

Nick Fursenko

Account Executive
With our proven expertise in web technology and project management, we deliver the solution you need.
We review your inquiry and respond within 24 hours
A 30-minute discovery call is scheduled with you
We address your requirements and manage the paperwork
You receive a tailored budget and timeline estimation
Shall we discuss
your idea?
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
What happens after you fill this form?
We review your inquiry and respond within 24 hours
We hold a discovery call to discuss your needs
We map the delivery flow and manage the paperwork
You receive a tailored budget and timeline estimation
Looking for a Trusted Outsourcing Partner?