I have been a part of STRV’s QA team for over two years. During that time, I’ve had several amazing opportunities to work with new tools and techniques, all through experience on real projects.
Our department is often a part of a project for a limited time; QA involvement ranges from a few weeks to a few months. In this amount of time, it's not very practical to use complex automation tools that are hard to set up; but, at the same time, we do want to automate parts of our tests — which means we do have to learn some new skills.
With the goal of automation in mind, I chose to learn about Postman and Cypress. And this naturally led me to embrace JavaScript.
POSTMAN
This was a great place to start. Postman is a tool for REST API development. While working on a project where we were developing an API, I learned how to write tests in JavaScript — and I learned how to partially automate tests and set up periodic monitors to check an API’s state, making a QA analyst's life easier.
Postman has amazing documentation, with lots of code examples of tests for various scenarios. It's a great, easy-to-use, intuitive tool that I have come to love.
CYPRESS
The second tool that I’m a big fan of is Cypress, which allows you to automate tests for the web. It's straightforward and great for debugging. Similar to Postman, Cypress has thorough documentation that teaches you everything you need to get started. Because it's so easy to set up, it's possible to quickly get it running on any project you’re involved in (some people may need a tiny bit of help from developers), and you can immediately start writing tests, saving you lots of time.
It's also possible to execute Cypress tests as a part of the CI pipeline. One of the options in Cypress is to write your tests in JavaScript and, since I was familiar with that from Postman, I chose to use it with Cypress as well. When you install Cypress into your repository, you get a set of test examples you can use and alter to suit your needs and your application.
DIVING INTO JAVASCRIPT
Thanks to amazing documentation that includes lots of code examples and best practices, both Postman and Cypress can be used with even very basic JavaScript knowledge. But, after a while, one starts asking: What else can I do with these awesome tools? Surely there must be even cooler things to do!
I decided to deepen my knowledge in JavaScript because of multiple reasons. The first was that both of the tools mentioned above use it, and I really enjoyed working with them. The other reason was really to keep learning. I wanted to be able to write my own functions, to adjust even the most complex code examples I found online, to rely on developers a bit less and to be more knowledgeable about the code I write.
I began searching for good courses online, asking my developer colleagues where they think I should start... and that's when I was recommended the site freeCodeCamp.com. Other courses I tried out were a bit too complex to me; the tutors usually dove right into it without explaining the basics and, since I am not a programmer, I lacked some basic knowledge and was often very confused why the functions look the way they do, and what was that boolean thing the tutor was talking about? The pace was also usually too fast, with lots of examples but often no real exercises for you to try and get instant feedback.
freeCodeCamp hit the spot. When I started with courses in the JavaScript Algorithms and Data Structures certification, I couldn't believe it was free.
The course had everything I was looking for.
- Self-paced courses
- Simple descriptions of code examples
- Fully explained basics
- Online terminal in which to write code
- Instant feedback in the terminal output
- Hints that don’t show the solution but nudge you in the right direction, so that you can still experience that thrill when your code works
- List of possible solutions to an exercise, with explanations about the benefits of each method for that particular solution, plus useful links to related documentation
- And the most amazing of all: A great community of people supporting each other and discussing the same problems that you’re going through
I haven't finished my certification in JavaScript Algorithms and Data Structures yet, but I definitely will soon. I am so close to the end and it's so exciting to go through the exercises, so satisfying seeing those checks in each exercise being ticked off as your code runs.
At this point, I am super excited to start using my deeper knowledge in JavaScript on my next project at STRV, and to share all I’ve learned not just with our team, but the wider community.
Want to be a part of the QA team? Or have some other cool skills?