Reflecting on what I learned about test automation, how much testing I did in May 2020 and my further plans.
Testing Internship Update and Thoughts on My Progress
April-May 2020 turned out to be quite different from previous months. Lockdowns, social distancing and other many things have became a new reality as we saw Covid-19 cases growing. Kids no longer attend schools, nobody knows, people around us loosing jobs, nobody knows what to expect and how long this situation and uncertainty will last.
It's been quite stressful period and my productivity has dropped dramatically during these 2 months. Working from home when your 7yo is constantly trying to distract you is hard. On top of that did not sleep well for a long time.
Anyways, I have some things to share and I have a few small achievements such as
- - learning API testing, new tools
- - job search progress
- - improving my time management
Learning API Testing
As always it's been very hard to find time for practice. I usually spend 4-6 hours per week on learning API testing and Tavern. Yet, since my last blog post I made some progress in this area.
I completed around sample 40 simple tests to try out Tavern functionality. I used their docs and public APIs. Got stuck a few times but overall, I think I was able to prepare a set of examples which I helped me to understand how this framework works. I guess now it's time to start writing real tests using Aerofiler's API. There's no API documentation for the app so I was trying to use Google Developers tools and Charles Proxy to explore API. Turned out these tools cannot give you the full picture. You still need to have an access to the source code or have an API documentation to know what are available endpoints and data schemas.
I can also mention couple of things which helping me to learn API testing. I completed a short course on Linkedin Learning Called API Testing Foundations.It's really good resource if you are beginner like me just started to learn API testing. Well explained by Dave Westerveld, the course gives you an understanding of Basic concepts, what to focus on when testing an API, number of useful examples on how to use tools and explore API's. At some point, when I was having a lot of fun writing requests in Postman and playing with cats API. I created and uploaded to GitHub a read.me file with my notes which includes the course contents.
As I mentioned, I also installed Postman and Charles Proxy. One of the go to tools for API testing. They are free and there are lots of online resources to learn how to use them.
Despite the limited time which I mostly use for learning Test Automation I am also trying to move towards my main end goal - getting my first testing job. So, in my last blog post I tried to write a plan on what I need to do and how much time I can spend on different job search activities. I should admit, it is hard to implement 100% of what I planned, but still it is much better to have a plan rather than to try and do something without any plan at all.
One of the problems I faced is that when I go to seek.com.au I do not see many entry level jobs and manual testing jobs.
Most of the job postings are senior roles or roles that requires solid skills in specific testing areas such as security testing or mobile testing. It is also very common that in QA roles require experience in such programming languages as C++, Java. As a results, I sometimes end up sending just 1-2 applications per week. It is clear that it is very unlikely to get a responce with this approach. This is a numbers game.
Is it just not a good timing and job market is on the downward trend now? Am I doing something wrong? Do I need to learn other languages and get hands-on experience with other tools before starting to actively apply for jobs? Well, I decided to talk to a few people I know who work in IT industry and seek an advice from them.
Meanwhile, I tried to widen the range of websites I use to look for testing jobs. Turned out there are some places I did not consider (I do not know why): Facebook, Glassdorr.com.au, Gumtree.com.au, Upwork.
I also keep working on my GitHub, Linkedin profile, this website and twitter. It is not easy to be consistent and allocate some time for this work on regular basis, but I know it is very important to network, reach out to other people and share what you learned with others.
Testing Schedule: Too much Things to Get Done and Not Enough Time?
I must admit, over the last 2 months, it's become clear that my performance was not good and I have not been doing a good job as a tester recently. I have only 1 day per week for testing. I work from home mostly doing manual testing on Mondays. By the end of the day I am sending the results - bug reports or/and questions to my client. The problem was that despite the fact that I was working long hours I did not provide the reports on time, the quality was not always good and I felt that the number of reports submitted was not sufficient.
Over the last couple of weeks, with the help from my mentor, I made some changes and I believe fixed some problems. However, I decided it would be good to reflect on this and put on paper some of my thoughts.
As I mentioned above, one of the reasons why It's been hard to work from home is that all family members are at home. Being distracted on regular basis is not helping to work efficiently. Another reason is that I've been suffering from sleep disorder. And finally, the way I organised my work and used my time was simply not efficient.
Well, it is all about prioritising your tasks, right? I also noticed that it is important to maintain self discipline and develop ability to switch to another area when I got stuck, take a short breaks to stay productive.
Here is what my typical Testing Schedule looks like now.
- - Core testing: 2 hours. Work through set of core tests
- - New functionality: 4-6 hours. This varies from week to week. In some weeks there are not many new features.
- - Test automation courses: 1-2 hours.
- - Learning Test Automation: 5-10 hours. Web UI testing using Python, API testing using Tavern.
- - Job applications and Interview preparation: 3-3 hours
- - Maintaining portfolio and SM accounts: 1-2 hours.
There is also one area of work which I need to squeeze in my schedule - maintaining spreadsheet with test cases on regular basis. To be honest, it is not very exciting part of my testing work, but I need to get it done. I've been procrastinating on it for quite a long time. I guess it is time to figure out when and how I can get it done.
Looks good on a paper. Of course, not everything works as expected, but I think I am moving to a right direction. Once again, I think it would be very useful to show this schedule to other people and get a feedback.
As I was rethinking my testing schedule very important question came up. How can I define a set of core tests? How to prioritise tests? How to plan testing activities? Well, turns out it is very interesting topic and important topic. I guess every tester comes to a point where he/she dives into these topics to find the solution which fits their situation, project, skills and background. I'll probably write a short article in the future on this topic with the most important things that I discovered at this point.
June 2020 Goals
I am planning to complete another course. I really enjoy doing Linkedin Courses. Recently I started one about web security called Ethical Hacking: Hacking Web Servers and Web Applications made by Malcolm Shore link. Turns out it is a huge area in testing and there are quite a lot tools out there. I think it would be good to have at least general understanding of vulnerabilities, risks and how the testing is done.
Also I decided to reach out to a consultant (was recommended by one of my friends) who helps with resume and interview preparation. I'll share results in the next post.
- - 2-3 job applications per week and interview preparation.
- - complete 15-20 API tests in Tavern.