Hello! My name is Christina. I work at Yandex Workshop as a course reviewer “Testing engineer”a mentor for testers in the Programming Workshop and a leader of competitive types (bagathons, hackathons and case championships) in IT practice.
In this article I will share useful materials for QA engineers. Some of them will help you master the testing profession from scratch, while others will help you expand your knowledge at the beginning of your career.
Getting to know the profession
A new profession is like an unknown country, and before visiting it, it is worth studying the history, culture and language. In our case, we need to understand what testing is, what QA engineers do, and what the purpose of their work is.
Here’s where to start:
→ “Fundamental Testing Theory” — the author of the article logically reveals the basic concepts and explains in detail what testing is, why it is needed and what stages it consists of.
→ “Types and Types of Testing” — and this material will help you decide what kind of tester you want to become: a manual tester, an automated tester, or a full-stack specialist. A manual tester barely works with the code, checking the operation of the software manually. An autotester writes code to automate similar types of tests. And the full stack can do both.
Test documentation
All QA engineers, regardless of the type of testing chosen, are test documentation — a set of documents created before and during testing. I propose to consider useful materials for each type of document separately.
Test plan (or test plan)
For testing to be effective, it is planned: they formulate a goal, break it down into small tasks, and select methods and methods for implementing these tasks. All this is recorded in the test plan.
→ “[Новичкам] Framework for creating a QA test plan”
→ “How to Create a Test Strategy: The Real Engineers’ Version”
Test case
A test case is a step-by-step test instruction. The case consists of an ID (unique identification number), a header reflecting the essence of the test, preconditions (“zero steps”), steps with specific input test data, a description of the expected result, the status of the test and a link to a bug report.
→ “Where testing begins: what is a test case, why is it needed and how to write it”
→ “How to Write Test Cases: The Complete Guide”
→ “We write the most effective test case”
Check list
A checklist is useful if you need to test something quickly. It is similar to a test case, but without the steps.
→ “Checklist or test cases?”
→ “How to create checklists for effective product testing: simple steps and examples”
Bug report
A bug report is a report about a found error. It consists of ID, title, status, priority, severity, steps, description of expected and actual results, and attachments in the form of screenshots and screencasts. Unlike test cases and checklists, a bug report is compiled not before, but after testing if a bug is found. The report is used to fix and reproduce the bug.
→ “What a bug: how a novice tester can write a good bug report”
Test report
Sometimes testers write a report not only about one defect found, but about all the bugs found. Such a report can be beautifully presented in the form of a set of tables and charts, and shown to a lead or even a customer.
→ “Creating clear test reports”
Web and mobile testing
Testing for desktop and mobile applications is somewhat similar, but has certain differences. To test the application, you need to run it on different current platforms and browsers. If you don’t have the necessary mobile device on hand, QA engineers use emulators.
What you can read:
→ “Differences in testing mobile and web applications”
→ “Testing mobile applications: instructions for beginners”
API
API (Application Programming Interface) is a set of rules for the interaction of programs with each other. An API helps programs exchange information, request data, or perform specific tasks.
There are many useful materials on this topic:
→ “How testers check the operation of APIs: principles, tools and real examples”
→ “OpenAPI and Swagger Editor – your own description of the REST API from scratch” (video: 17 minutes)
→ “Documenting API services using Swagger using the Express.js and Gin frameworks as an example”
→ “What is Swagger and OpenAPI in 3 minutes” (video: 4 minutes)
Database testing
Testing will be incomplete without testing the backend. Database testing does not concern the user interface and is aimed at checking internal processes, in particular working with data.
To test databases, you need to know the SQL programming language. It is used to check relational databases and helps QA engineers discover data-related problems that may be missed by other testing methods.
What you can read:
Test automation
During automated testing, a QA engineer writes special programs—autotests—that help quickly find and fix bugs in APIs, web and mobile applications. To master this area, a tester must choose a programming language, master it at a basic level, and also learn how to use additional libraries and tools.
What will help you get acquainted with autotests:
→ “What is automated testing? Guide to the Basics”
→ “How to move from manual testing to automated testing”
Git
Testers check a product for compliance with requirements not on their own, but together with developers, designers and managers. To work in such a team, a QA engineer will need Git, a version control system that helps store data about a program across different iterations. With its help, you can track changes in the code and, if necessary, quickly return it to one of the previous states.
A few links to help you learn Git:
→ “Git Basics” (16 hour course)
→ The book “Git for the Professional Programmer” by Scott Chacon and Ben Straub
What else to read and what to subscribe to
I hope this collection will help you become familiar with the basics of the testing profession. But here’s what you can try later – these books, materials, telegram channels and other resources will help you develop in your profession both at the beginning of your career and in the future.
Add to bookmarks
→ Code — Yandex Workshop magazine, the materials of which may be of interest to both beginners and advanced testers. The media talks about programming in simple language and with humor.
→ Test Engineer — a site dedicated to the main issues of testing.
Read
→ “Software testing. Basic course”, Svyatoslav Kulikov – free edition for beginners. The author talked about almost all types of testing, checklists, sets of cases, testing reports, and even touched on the topic of autotests – the book contains commands that are ready for use.
→ “Key Testing Processes”, Rex Black – a book for those who are not looking for easy ways. The author examines the planning, preparation, conduct and improvement of the testing process based on the Sumatra project, which is led by one test manager.
Practice
→ Leetcode — a site with code knowledge tasks that will help in preparing for a technical interview at large IT companies.
Develop problem setting and project management skills
→ “Agile in IT: 8 methods of task decomposition” — an article that will be useful in decomposing requirements and will help you not to miss anything when preparing test documentation.
→ “Scrum. A revolutionary project management method. Book in 15 minutes” — a summary of the book about Scrum, one of the methods in the Agile methodology, which consists of dividing large tasks into small subtasks. This method is used in the development of many IT products.
Subscribe to Telegram
→ IT practice — a group for junior testers and programmers without experience.
→ QA juniors, QA Juniors🏴☠️ — chats and support groups for novice testers.
→ QARocks. Tester Rules 🐞, Tester from God, Serious tester 🐞, QApedia | Testing, Tester library, Books on testing, 🧑💻 Cozy testing community — channels with tutorials, books on QA, tests, useful collections and other materials.
→ Testers needed — Stanislav Yakovlev’s channel, QA Lead at Tinkoff.
→ Yet another QA — channel of Anastasia Sharikova, ex-Technical Lead in Bookmate.
→ QA Mentors — a group for searching for mentors in QA.
→ QA – Bad Company! — a chat in which testers share their impressions of employers and courses taken.
→ QA vacancies – testing, manual testing, autotests — vacancies for testers.
→ QA – Summary — a channel with resumes of testers.
→ Postman | Community — chat for discussing working with Postman and testing the API.
→ Automation QA | IT — a channel with materials dedicated to automated testing.
Acknowledgement and Usage Notice
The editorial team at TechBurst Magazine acknowledges the invaluable contribution of the author of the original article that forms the foundation of our publication. We sincerely appreciate the author’s work. All images in this publication are sourced directly from the original article, where a reference to the author’s profile is provided as well. This publication respects the author’s rights and enhances the visibility of their original work. If there are any concerns or the author wishes to discuss this matter further, we welcome an open dialogue to address potential issues and find an amicable resolution. Feel free to contact us through the ‘Contact Us’ section; the link is available in the website footer.