Emily Dawson

Test Automation Developer

A good testing book is not a collection of academic definitions and terms, but a concentration of practical approaches proven in the field. It should teach not only "what" to test, but also "how" to do it effectively: choosing strategies, identifying vulnerabilities, working with automation, and properly documenting defects. An author who speaks in the language of test cases, logs, API requests, and real bugs - rather than dry standard formulations - helps develop the professional mindset of a QA. Such books become tools you return to before every new project, not just to recall theory, but to take proven working techniques.
Emily Dawson

My name is Emily Dawson, and I am a Test Automation Developer with 5 years of experience in software testing. My specialization is building efficient quality assurance processes that ensure the release of products without critical defects and with a high degree of reliability. I work with both manual and automated testing, including web applications, mobile platforms, and complex distributed systems. In my work, I rely on the principles of accuracy, reproducibility, and measurability of results. Every project is an opportunity for me to improve testing processes and raise the overall quality level of the product. My goal is to create a testing strategy that is not just a part of development, but its solid foundation. On this site, I select testing books for both beginners and experienced testers.

In my work as a test automation developer, I follow a clear and pragmatic approach: testing is not a formality, but a tool for ensuring product quality. Bugs missed during the testing phase turn into losses of time, money, and reputation. My task is to maintain quality control at all stages of development, from design to release. I believe that QA should think beyond “finding a bug” - it’s about preventing them from appearing in the first place.

My work principles:

  • Product quality is laid at the design stage
  • Test automation is an essential part of the process
  • Test documentation is as important as the tests themselves
  • An analytical approach increases efficiency
  • Team communication reduces defect risks
  • Quality metrics help in decision-making
  • Continuous learning keeps an expert sharp

Articles That Reflect my Experience

My QA Experience

I have been working in testing for over 5 years, covering both manual and automated testing. During this time, I have progressed from a junior engineer performing regression tests based on ready-made scenarios to a lead QA designing testing strategies and automation architecture. Each project was unique, but the principle was always the same - quality must be measurable and reproducible.

Project 1. Automation Implementation in an E-Commerce Platform
Within a large online store with high seasonal loads, I developed an automated testing architecture using Selenium + Python with the Page Object Model pattern. I covered critical business scenarios: adding products to the cart, checkout, online payment, catalog filtering, and sorting. Integrated the tests into CI/CD on GitLab, enabling daily regression runs. Result: reduced full regression time from 5 business days to 1.5 days and eliminated the human factor in repetitive scenarios.

Project 2. QA for a Banking Mobile Application
In a mid-sized bank project, I was responsible for testing mobile apps for iOS and Android. I organized security checks based on the OWASP Mobile Top 10 standard, including data storage analysis, API security validation, and resistance to MITM attacks. Conducted functional testing of all API endpoints using Postman, prepared and automated collections for regression through Newman. API test automation reduced backend integration check time by 60%.

Project 3. Load Testing for a SaaS Platform
For a cloud service with over 50,000 active users, I built a load testing strategy. Used JMeter to create scripts simulating real user behavior and k6 for CI/CD integration. Identified bottlenecks in the database and API logic, prepared a report with recommendations for the dev team. After implementing optimizations, service response time decreased by 40%, and stability under load significantly improved.

Project 4. Microservices Architecture Testing
Worked on a backend consisting of over 20 microservices. Designed a contract testing strategy using Pact, enabling isolated validation of service interactions. Configured automatic contract validation on each API change. As a result, integration defects in production decreased by 70%, and issue investigation time was halved.

Project 5. Data Pipeline Test Automation
In a big data processing project, I built a testing framework for ETL processes using Python + pytest. Implemented checks for data integrity, format compliance, and business rule validation. Integrated the tests into a Jenkins pipeline, ensuring daily automated runs on fresh data. This allowed detection of critical transformation errors before they appeared in analytical reports.

Technology Stack I Use in My Work

In testing, I only use tools I’m 100% confident in. My approach is not just to know a tool, but to apply it in real projects with full responsibility for the result.

Technology Using Since Description
Selenium 2020 I develop and maintain UI automation tests for web applications, including complex scenarios with dynamic content.
Postman/Newman 2020 I create automated API tests and integrate them into CI/CD pipelines.
JMeter 2021 I conduct load and stress testing, analyzing performance metrics.
Python + pytest 2023 I write backend and integration testing frameworks.
GitLab CI/CD 2021 I set up automated test execution and deployment processes.
k6 2022 I script load testing in JavaScript and integrate with monitoring tools.
Docker 2022 I isolate test environments and create reproducible configurations.

My Advice for QA Beginners

Testing is a discipline that requires a systematic approach. Being a QA means thinking like a user, developer, and analyst at the same time. Beginners often focus only on finding bugs, forgetting that the main goal is to build a reliable quality process. Above all:

  • Start with the book Modern Software Testing Techniques by István Forgács, Attila Kovács
  • Learn the basics of test design
  • Master at least one programming language
  • Understand APIs and network protocols
  • Use version control systems
  • Write clear bug reports
  • Learn basic test automation
  • Work with quality metrics
  • Improve your communication skills within the team

Want to ace your QA interview? Download PDF with Testing Interview Questions and Answers - and use it as your companion for technical interview preparation.

QA Frequently Asked Questions

1. What is the difference between manual and automated testing?

Manual testing requires direct tester interaction with the application. It is flexible and suitable for exploratory scenarios, UX evaluation, and non-standard cases. Automated testing runs pre-written scripts that execute tests without human intervention. It is ideal for regression, stable scenario verification, and CI/CD integration. The best results come from combining both approaches: automation removes routine work, while manual testing catches complex and unexpected issues.

2. Does a QA need to know programming?

Yes, especially in modern projects. Even basic Python or JavaScript knowledge allows you to automate tests, send API requests, and process data. Programming helps understand code logic, quickly identify bug causes, and work with logs and integrations. A QA who can write scripts is more valuable, as they not only run tests but also improve the testing process itself.

3. Which testing books should I read?

I recommend "Testing JavaScript Applications" by Lucas da Costa - a practical classic. "Game Testing All in One" by Robert Denton Bryant is an excellent example of an approach in large projects. “Explore It!” by Elisabeth Hendrickson develops exploratory testing skills. These books provide a systematic understanding of testing, teach how to ask the right questions, and build effective strategies.

4. How can I be sure my tests are truly effective?

Test effectiveness is determined by their ability to detect critical defects before release. Code coverage metrics, bug counts at different stages, and test execution times are all quality indicators. A good practice is to regularly review test cases, remove outdated ones, and add new ones for changed functionality. Remember, tests are a living asset that evolves with the product.

5. What mistakes do beginner testers make most often?

Beginners often focus on minor bugs while missing critical defects. Other mistakes include poorly written bug reports, skipping reproducibility checks, ignoring documentation, and lacking communication with developers. Another common problem is blindly following test cases without analyzing defect causes. A professional QA always thinks ahead about how to prevent similar issues in the future.

Testing Books that I Recommend to Read

Table of Contents
Image

István Forgács, Attila Kovács

Modern Software Testing Techniques