We are continuing with our interview series ( previously we have interviewed Diego Ojeda – Android Lead at Apiumhub ) and today we have a QA interview with Serhii Zabolennyi – QA Automation engineer at Apiumhub.
In this interview Serhii shares his insights and recommendations on how to grow as a QA engineer and talks about his top lessons learned in the industry.
Interview with Serhii Zabolennyi – QA Automation engineer
1.What is the difference between quality and software security assurance?
The difference between these two definitions is self-describing. One stands for quality in general and another one for security aspects. Quality means that the software will execute according to its design and purpose. The totality of functionality and features of a software, meets specified requirements or user needs; on another hand a security assurance refers to a system that meets its security requirements and is resilient against security vulnerabilities. A penetration test used for security controls. Penetration test – attempts to exploit the vulnerabilities to prevent cyberattacks such as unauthorised access or malicious activity. Nowadays the common types of cyber attacks are: malware, phishing, sql injection, zero day exploit, dns tunnelling, credential stuffing, etc.
2. List your TOP 3 performance testing techniques.
- Load testing to check the application ability to perform under anticipated loads (e.x. simulating multiple users accessing the program concurrently). Load testing identifica the sustainability of the app with respect to peak user load, tests app infrastructure.
- Stress testing to check error handling capabilities under extremely heavy load conditions. The main difference between stress and load testing techniques is that both determine how the system performs under workload, but LOAD (check app performance) -> under a specific expected load and STRESS (check app stability) -> extreme system loads.
- Scalability Testing – performance is measured in terms of its ability to scale up (number of users/ CPU/network usage, memory usage, etc.). Objective of this testing is to determine when an application starts to degrade at a maximum load and take proper steps to ensure that the developed application is scalable enough.
3. Top 3 lessons learned in QA
- First is that “all bugs” can not be fixed in any web/app. A little bit obvious but so many times mentioned in PO/stakeholders speak that developers and QA team should fix “all bugs” and deliver “bugless” product. Instead should be talking about fixing all critical bugs and preventing failures /crashes in main app functionalities, also about cost of bug fixing (fix earlier reduce cost). Find important bugs fast. So the most important for a QA person is to explain this to all involved people into software product development.
- Second lesson – is that communication and googling skills are very important in the modern IT industry. As previously mentioned, it sounds very obvious. For example communicating between different departments (design, del, qa, devops, business, etc) allows you to be more efficient in your day-to-day job. Proper use of Google make your life easier (99% of doubts are already asked/answered in stackoverflow, forums, etc.). Old but good recommendation – before distracting your college, just try to google the RIGHT question.
- Third lesson is that QA and testing is way more complex than you think. Always keep learning. As well as development in testing there are A LOT of types/techniques/models etc. So just select what you are interested in and keep diving in.
4. What are the top 3 challenges in QA?
- Not enough time. Limited time of testing is very common in the modern IT world.
- Quality Assurance Culture – explaining complexity and importance of testing for people who underestimate QA work. Team perception of QA. The way to overcome this problem is to explain how QA benefits everyone.
- Third one is Changing Requirements, Not Enough Information. Typical issue in Agile development when receiving last-minute changes and you should deal with it. Affecting scope of testing.
5. What are your top 3 tips for a QA engineer?
- Be on pulse of modern technologies/frameworks, and closely collaborate with developers.
- Automate your daily routine tasks, it saves your time and energy later.
- Increase your programming and soft/communication skills.
6. What advice would you give for junior testers who are hoping to grow professionally as a QA engineer?
Deep into programming, learn from mistakes, think like an end-user. Be more social (LinkedIn, meet-ups, bootcamps..). Take responsibility for software product.
7. What are the top 3 responsibilities of a QA engineer?
- QA takes full responsibility for the software success/fail. Preparing test strategy and executing them. Conduct testing activities.
- Be involved into software development from earlier phase till support after product go live. Close communication between teams (collaborating with PO, stakeholders, dev, design, etc).
- Bring QA Culture into project.
8. What are your insights in terms of QA and DevOps?
Mobile first. Do testing in the cloud. Automate routine ASAP. CI/CD testing activities are increasing over past years.
9. How do you deal with the unexpected as a QA engineer?
My recommendation is using five whys problem-solving method. For my opinion it is a powerful and effective way. Also, as always, communication with others – is the key.
10. How would you describe your testing style?
Taking into account that every project has its own requirements; proper testing style depends on your project needs to cover from testing perspective. BDD and TDD testing methods applied. Also applying OOP principles to test automation design.
11. Do you have any favorite books or authors?
- “Lessons Learned in Software Testing” by Cementosa Kaner and James Bach.
- “How Google Tests Software” by James Whittaker.
- “Continuous Delivery” by Martin Fowler.
- “Agile testing” by Lisa Crispin
12. How important is the culture of technology to you?
I’m always keep my finger on the pulse of technology. Nowadays with IoT, 5G, smartphones, and so on, it makes it difficult to not be engaged in technology stack. World surrounded by technology. Also I enjoying to be a part of it, working in the industry, watching yearly tech conferences (MWC, wwdc, google i/o ,etc.), applying new frameworks in my job, reading new books and visiting meetups (well, during pandemic, online-meetups) allows me to grow as a professional, which is important. Being a technology geek = one love ❤️
And if you need any help with QA automation, let us know! We are experts in this field!