Flipping Code and Pancakes: A Recipe for Success in Software Testing
Get a recipe for success in software testing from our top-level QA specialist Ekaterina Chernigina, and discover hot trends, tools, and innovations coming to this field right now.
Today we have something special for you, dear readers! An interview about the world of software testing with our top-tier QA specialist, Ekaterina Chernigina. In this exclusive interview, Kate serves up a recipe for success, blending industry insights with the latest trends and innovations in software testing.
Discover how to navigate the landscape of QA, uncover core principles, professional secrets, and top automation tools for testing, and learn what’s next on the horizon. Whether you’re a seasoned pro or just starting out, this conversation is packed with valuable tips and strategies to help you elevate your testing game. Here we go!
Background and Experience
Hi, Kate, it’s such a pleasure to talk to you! Can you walk us through your journey in the QA field: how did you start and what led you to where you are today?
I am also pleased that I was invited to an interview. Who would have thought 2.5 years ago, when I just started my journey, that I would reach the INTERVIEW experience level, and I have a lot of things to tell!
How did it all begin, right? Unfortunately or fortunately, there will be no story about how I wanted to be a QA since childhood and I have a technical education, etc. I graduated as a Chinese and English language translator and interpreter and realized that I did not want to do translations. I know, you might think that this is not the right time to understand this when you have already studied for 5 years, but still, that was what I felt.
Almost everybody around me at that time worked in the IT field, and it was very popular, so I thought, why not? I checked various fields and realized that business analysis and project management are close to me since I thought that technical specialties were definitely not for me (but I was mistaken).
I completed PM courses first and understood already what IT is, and what processes are involved in an ordinary workflow. I started looking for a job, and what do you think are the chances of getting a PM job without any experience at all? That's right, they are somewhere around zero because when I went to the courses, I didn't fully realize that the project manager should know all the processes from underneath. So, after 6 months of job search, I had no results, and Fively didn't hire me either for this position. I was very upset then, but now I am very grateful that everything worked out exactly this way.
My friend, who worked as a designer at Fively, recommended me through the referral system, and to HR's question "What is she good at?" implying some professional qualities as a specialist, my friend answered, "Katya knows how to bake delicious pancakes". It’s became already a kind of an inner joke, that I’m a pancakes chef, and Fively folks are wondering now when I'm going to invite them over for pancake degustation (by the way, are you interested in the recipe?).
But to be serious, Fively needed a tester for an internal project Otomate at that time, and they offered me to try myself as a tester: maybe I could pass the interview for this position and like this role. Within a month, under the guidance of a mentor, and a QA Lead in a large company, I studied, watched videos, read books and articles, and did lots of practical tasks. As a result, I passed the interview and they hired me!
There also was a question about what led me to where I am now. I guess, my persistence to some extent: that I did not give up, but looked for other options to start my path in IT. Here I’d like to highlight the enormous support of my family: my dear parents and friends provided me with huge motivation at that moment (and they always did like that before and after that, I really love them). Without them, I would never have come this far!
And of course, it is a lot of work and study! I worked far more than 8 hours to dive into everything from scratch to show my desire to become a great specialist, and also to prove that I was not given this chance in vain. Although I say this like I’m already a pro and have been working for 10 years already, I am still at the beginning of my journey.
My persistence in that I did not give up, and hard work led me to where I am now. Although I am still at the beginning of my journey.
What are some of the most significant projects you've worked on, and what role did you play in those projects?
Of course, the two most significant projects I worked on are Otomate - a superb PIM management system created by Fively, and CYCLE - a bunch of modern apps for e-bikes and cargo bike rental and management. In both projects, I'm in the role of a QA, since I don't just look for bugs - I already influence processes, suggest improvements, create documentation, give estimations, etc.
I worked closely with the development team to identify and fix errors in the early stages of development, registered various bugs, and controlled their correction, which helped significantly improve the quality and stability of the final product. I’ve also estimated, prioritized, planned, and coordinated testing activities, and participated in test automation (using the DogQ tool), which allowed me to reduce the time spent on regression testing. I’ve also investigated and eliminated various customer problems in terms of application usage.
Both projects were important milestones in my career and allowed me to significantly expand my skills and experience in the field of software testing.
Recently you took part in the “CYCLE” project, which aimed at popularizing electric bike delivery. Is it important for you to take part in such sustainability projects?
I’m still working on this project, and I really LOVE it, it holds a very special place in my heart! And when you see your bikes on the streets of the city and you understand that, for example, the courier you’ve met today is using the app that you're testing right now, it's an incredible emotion! With this, I feel that my work is useful for people around me, and it's such a nice feeling, it gives me motivation to go on!
I feel that my work is useful for people around me, and it's such a nice feeling, it gives me motivation to go on!
Testing Processes
Can you please describe your approach to developing a test plan for a new project?
Here comes the great question! Sure, I can share some secrets of a successful test plan:
- Attention to detail: each aspect of testing should be detailed so as not to miss important points;
- Flexibility: the test plan should be flexible and easily adaptable to changes in the project;
- Communication: regular interaction with the development team and project managers helps to take into account all aspects and risks;
- Automation: integrating automation into a test plan can significantly increase the efficiency of testing and reduce the time it takes to conduct it;
- Test Classification: Assign test cases to priority levels (e.g. high, medium, low) based on their criticality to the project. This helps focus on the most important tests with limited resources;
- Relevance: Regularly review and update the test plan based on changes in the project, requirements, or identified issues. Ensure that the test plan is always up to date with the current state of the project.
Is it important to have devices of all types at hand or do you just simulate how the app is going to look in each single case?
As a tester working primarily with web applications, I believe that having simulators and emulators can be enough for quality testing. These tools allow you to emulate web applications on different devices and browsers, which saves a lot of time and resources. They also provide the ability to test on many different variations of operating systems and devices, which would be difficult and expensive to do using real devices.
However, for mobile app testers, the situation is a little different: here real devices play a much more important role.
Mobile applications often depend on specific hardware characteristics such as sensors, cameras, GPS, and interaction with the operating system. Emulators and simulators cannot always accurately reproduce the behavior of the application on real devices.
Simulators and emulators are great tools for web testing, but for mobile testing, real hardware is indispensable, in my opinion.
By the way, do you use any programming language while testing, or everything is done automatically?
No, I don’t write automated tests with the code, but I am learning Python now, and who knows, maybe soon I will be able to do more than just code ‘Hello, World!’. However, I write automated tests using a super-handy no-code tool DogQ and cover positive scenarios of the app’s main functionality with tests.
In general, test cases are written to clearly and consistently describe how to test the functionality of a software application. This helps the QA specialist understand what exactly needs to be tested, what steps to take, and what results to expect.
For example, I write test cases on the project for each new functionality. This not only helps me create a certain structure for testing but also allows me to deeply understand the feature and get a picture of how it should work before it is uploaded for testing. Plus, test cases simplify retesting, serve as documentation for the team, and help identify possible problem areas or avoid missing important details.
At DogQ, we have an automated test launch process:
- The developer uploads the code to the environment where I test;
- When the code is integrated, the tests are launched at once;
- I get a notification in Slack: how many tests have passed and how many of them failed;
- I check whether the developer's new code has broken the main functionality or not, and if something happens, I notify the dev team to fix it.
Plus to DogQ, I use many other different tools like Postman, Invoker, Tinkerwell, Chrome DevTools, Loom, Mailtrap, and BrowserStack on a daily basis.
What is your attitude toward shift-left testing?
This is a superb approach, and I approve of it, as it has many advantages. In short, the principle is to involve testers early in the software development process, rather than at the end, when the code is already written. Here’s why it’s a great approach:
- First, shift-left testing allows you to find defects early in the development process, which significantly reduces the cost of fixing them;
- Second, shift-left testing promotes better interaction between the teams of developers, testers, and analysts or PMs (in my case, the product team). This improves communication and understanding of requirements, and leads to a higher-quality product;
- Third, the approach allows testers to start with the test cases where they are fully focused on the customer's expectations, which in turn will allow developers to develop software based on these test cases and, therefore, meet the customer's needs.
Thus, to my mind, shift-left testing is a powerful method that can significantly improve the quality and efficiency of software development. However, like any methodology, it has its strengths and weaknesses, so its implementation requires careful evaluation and adaptation to the specific conditions of the project.
Are there any testing types that you don’t like to perform?
Oh, I know, what I don’t like, it’s testing things related to time zones. This is a type of testing called localization or internationalization testing.
Localization testing includes checking whether the translations are correct, as well as the display of text and interface elements, adequate handling of local date and time formats, numbers, currencies, and other elements that depend on regional settings.
Often the time I see on servers or in applications may differ from the local time, which makes it difficult to compare test results.
What is the most important trait for a QA specialist to succeed, in your opinion? And, in general, what is it like to be a professional QA?
I don't know if it's worth talking about some must-have qualities such as attention to detail, analytical thinking, patience and persistence, and communication skills (this is, by the way, very important, you can be a super-specialist, but if your soft skills are lame and you can't find a common language with the team, then nothing good will come of it).
But, to my mind, being a professional QA means not only finding bugs but also participating in the process of improving product quality, as well as working on creating and maintaining reliable and effective testing processes.
Being a professional QA means not only finding bugs but also participating in the process of improving the quality of the product.
By the way, have you collected your own “rules in testing” or testing advice?
I can think of many points, but these are the core rules, to my mind:
- Rule number 1, that my manager taught me: don't blindly trust anyone, even the CTO, and always check the info you get. Even if they said, for example, that they fixed the bug, tested it, and uploaded it, and everything is fine, it’s better to check it once again, because when you enter the system, you may see a bug.
- Often, if a person is good at something and you know for sure that they are good at it, you already relax in advance and think well, everything will definitely be superb here and lose your grip, but you shouldn't do this. There is always a human factor, so it is better to check since you are still responsible for quality control!
- Plus, you also need to be skeptical, no matter how strange it may sound, but you should never assume that everything works correctly. You should always look for possible bugs, but again, you don't need to be a "nerd", I mean to find a minor bug just to find it and show what a great tester you are, and that the developer is not, no. You always need to remain human and remember that you are working on one product and a good end result is your common goal.
Challenges and Problem Solving
How do you ensure the quality of a release under tight deadlines?
First of all, ensuring the quality of a release in a short time requires well-established processes. It is necessary to identify the most critical functional blocks or modules for testing and test them primarily. Then, it’s ideal to write automated tests to quickly perform regression testing and check the main functionality of the app.
But, according to one of the main principles of testing, exhaustive testing is in general impossible.
So, even if you have a lot of time for QA and it seems to you that you have tested absolutely everything in your app, it is impossible to take into account a myriad of scenarios and foresee all possible errors, so don’t get upset if you find some minor bug even after the actual release - perfection has no limits!
It’s impossible to take into account a myriad of scenarios and foresee all possible errors, so don’t get upset if you find some minor bug even after the actual release - perfection has no limits!
You mentioned so-called core testing principles. What are they?
There are 7 basic principles of testing, if you google what a tester is asked at an interview, this question will be in every article, I guess. To be short, here we go:
- Testing shows defects – it helps identify bugs but cannot prove the absence of defects;
- Exhaustive testing is impossible – you can’t test everything, so focus on the most important areas;
- Early testing – testing should start early in the development process to catch issues sooner;
- Defect clustering – often, most defects are found in a few areas;
- Pesticide paradox – repeating the same tests will eventually stop finding new bugs; tests need to evolve;
- Testing is context-dependent – different systems require different approaches to testing;
- Absence-of-errors fallacy – Even a bug-free product can fail if it doesn’t meet user needs.
I think every QA specialist should remember these core principles and follow them in their work in order to succeed.
How do you deal with a situation when a bug is unstable and the developer cannot reproduce it?
First, I do my best to document the bug in detail. This means that I write down all the steps that led to its appearance, note what operating system and browser it happened on, and what settings were used. I also take screenshots and videos to show how exactly the problem occurs.
Logs are everything in testing. Sometimes you can find things in the logs that are not visible on the surface. Then I try to reproduce the bug in different conditions. I change browsers, devices, and settings. Sometimes the problem appears only with certain combinations, and this needs to be clarified.
Communication with the developer also plays an important role. We discuss all the details, I explain what and how I did to make the bug appear. It is important to be on the same page and look for a solution together.
Also, don't forget to refresh your mind and take breaks. It often happens that the problem turns out to be simpler than it seems at first glance.
Sometimes you just need to take a break, give your brain a rest, and return to the problem with a fresh look. And often this helps to find that very solution.
Can you describe a case when effective communication within your team led to a successful outcome for the whole project?
Sure! It’s been a couple of times already, but here’s a fresh example: we were working on improving the design of our product, and I noticed that we had an opportunity to make the interface more intuitive for users.
I shared my ideas on a team call, and we discussed my suggestions and came to a general agreement that these changes could be useful. Thanks to open communication and interaction within the team, we successfully implemented the improved design, and the product became even better!
Industry Trends
What do you think are the emerging trends in QA and testing that could shape the future?
One of the key trends is test automation. Test automation will continue to evolve, especially in the context of continuous integration and deployment (CI/CD). I think that most routine and repetitive tasks will be automated, which will reduce the development cycle time and increase efficiency.
Plus, artificial intelligence and machine learning technologies will be actively used to analyze large amounts of data, predict potential problems, and optimize test scenarios. This will help improve the accuracy of testing and reduce the cost of manual testing.
Also, with the increasing popularity of cloud technologies and microservices architecture, the requirements for testing in the context of distributed systems and big data will increase. This will require the development of new testing approaches that take into account the specifics of cloud environments.
The future belongs to automation, but manual testing will remain necessary to check aspects that require human intervention, such as UI, user experience, and quality control in general.
Have you already tried intelligent test automation? And what is a hot topic for you right now in testing?
Yes, I’ve recently started to dive into this field of testing, and in our QA tool DogQ, we’re also expecting some new AI-based features for writing tests, so it’s really a hot topic right now! Plus, I give now a lot of attention to the development of testing methodologies in the context of Agile and DevOps, as well as the use of artificial intelligence and machine learning in QA processes.
How do you stay updated with the latest QA technologies and testing tools?
I am subscribed to different channels on Telegram and Instagram, like QA Community and ProQuality Chat, they share news there, conduct surveys, etc, and I read them in my spare time, and I admire reading various articles on Dev.to. Also, if I find out about some new testing tool, I will look for a video on YouTube or the official website and watch it to understand how I can use it.
Plus, I read a superb book on testing now, it’s called “How Google Tests Software”, written by James A. Whittaker, Jason Arbon, and Jeff Carollo. It’s a masterpiece! I really like how they explain complex things and the advice they give.
Personal Insight
As I remember, you’re a big fan of traveling! This is so fascinating! What countries have you already visited and what insights do you get in all those adventures?
I love traveling! It's something I don't mind spending time or money on. In fact, I've already visited many countries. The first one that comes to mind is Norway. All these fjords and tranquility are majestical! And in general, when I see mountains and ocean or sea linked together, my heart skips a beat. About Norway, it's definitely love at first sight. But I must admit that I'm kinda amorous in this regard: almost every time I post my travel photos, there's always a caption under one of the photos: "I've fallen in love AGAIN".
I don't know which country to highlight next, it's really hard. Portugal, Great Britain, the Netherlands, Italy - all of them are superb! My favorite cuisine is Italian, I always look for places with Italian cuisine in any country. I've also visited almost all European countries and a little bit of Asia: China, Vietnam, and Sri Lanka. I can tell a lot about each country, maybe not exactly about the country, but about the cities that I visited in these countries. I even lived in China for half a year, but that's another story.
All I can say is just travel! Traveling not only gives you a feeling of happiness but is also good for your mental health and makes you happy in general. We learn about the world, and other cultures and become more interesting people. Even just planning a trip improves my mood.
All I can say is just travel! Traveling not only gives you a feeling of happiness but is also good for your mental health and makes you happy in general.
What other hobbies do you have? Probably, collecting something?
Oh, you know me really well! Yes, I collect snow globes from different countries, and now I have about 46 of them! The only problem is that in the globes that I bought more than 15 years ago, the liquid has already leaked out of them. But the interesting fact is that we can see how the price changed during this time: on some of the globes there is a price tag of 5 euros, and on others it is 15 already.
I also collect sugar, not in packs of kilos, but in small sticks packaged by 5 grams on average, they are also all from different countries and cities! The collection is about 15 years old, every stick has a different logo, and there is even refined sugar. For about 10 years they just lay in a box, and recently we decided to glue all these sugar sticks on A1 sheets, it turned out to be 3 big pieces of paper with sugar, and now they are placed on the wall in the kitchen, like a landmark.
Recently, you’ve also organized a big teambuilding all by yourself! This shows your perfect skills as a team player. But are you more like a team player or a solo specialist?
Ooooh, I'm definitely a team player! I can exist and work on my own, but if I have to choose, I'm more for the team. I'm an extrovert, and I need to communicate with people - then I'm more productive. I also have leadership and organizational qualities, and together with such wonderful people like the Fively team, organizing an event is such a pleasure! And we're all easy-going, so it’s not a problem for us to go to another city and have some fun!
You also like sports and you’re in a very good shape. What do you do to stay healthy, beautiful, and energetic?
I won't say that I'm a super athletic person and keen on sports, but yes, I like an active lifestyle! I do snowboarding and ski, I like to ride a bike and go to a stretching club. Also, I love hiking and squash, but I haven't played it for a long time, and I have quite an unusual dream of going to a fencing club. And who knows, maybe someday I will make my dream come true!
I have quite an unusual dream of going to a fencing club. And who knows, maybe someday I will make my dream come true!
You’ve also won in our last year’s eco contest “Fively’s eco-week”! Do you follow these practices in your daily life, or, probably, added something new?
Here, just like with sports, I am not this ideal person who is perfect in everything. I am just an ordinary girl, and I really do my best to stay eco, reducing plastic, sorting out garbage, and recycling things, but without fanaticism.
Speaking about the eco-week contest, I just really wanted to win there, you know, all this spirit of a contest, that’s why I was already doing a bit more than in ordinary life. But still, I do most of these things day by day!
What are your professional development goals for the next few years?
I would really like to try to be a mentor and conduct job interviews as well. In one of the questions here I mentioned that I am currently taking a Python course, and I plan to finish it, but not go into development, but just know the basics and feel more confident and probably use this knowledge to write automated tests. And of course, ideally, I could also get ISTQB certification, I think it can improve career prospects and open up new opportunities.
Looking back, what advice would you give to your younger self starting out in QA?
My advice is very simple: just start earlier to be more experienced now. (But, of course, we need to understand here that the length of your career doesn’t show the actual experience, as you can work for 5 years as a QA and still remain a junior, roughly speaking. You have to gain more knowledge and become better step by step, and if your work becomes too easy for you, then try to add something new At some point I caught myself thinking that such a strategy is right about me... and I started to grow.
Another great piece of advice is don't be afraid to ask questions, even if they may seem like simple ones. Understanding why and for what purpose something is done is very important. But there is a fine line here too, of course you shouldn't rush straight away with questions without having figured it out a little bit by yourself, but if you understand that you've reached a dead end, then you shouldn't sit and suffer and waste time, it's better to ask.
And I'm also for building good relationships with colleagues, when you treat each other with respect and you share the same vibe, then the work becomes easier and more enjoyable.
Just start earlier to be more experienced now, don’t be afraid to ask questions, and build good relationships with colleagues.
***
This is the end of our in-depth conversation with the exceptional QA specialist Ekaterina Chernigina. What did you think of her insights? Which trends, tools, or innovations did you find most intriguing? Share your thoughts and favorite quotes from Ekaterina on our social networks!
And if you’re looking to elevate your software testing practices, our expert team is ready to assist with tailored solutions and innovative QA strategies. Contact us for a free consultation and see how we can help your projects succeed!
Need Help With A Project?
Drop us a line, let’s arrange a discussion