Back to Career Explorer
💻
IT, AI & Software

QA Engineer / Software Tester

Ensure software works correctly, reliably, and securely before it reaches users — designing and executing test strategies, building automated test suites, and catching defects that would otherwise become costly production failures.

ModerateHigh demand Global careerCan work remotely

A QA (Quality Assurance) Engineer is the professional responsible for verifying that software behaves as intended across all conditions — including the unexpected ones. The role ranges from manual testing (following test scripts step by step, exploring the product to find unexpected failures) to automation testing (writing code that tests code — executing thousands of test cases in minutes that would take human testers days). Modern QA engineering has evolved far beyond manual test execution. Today's QA Engineers design test architectures, build CI/CD-integrated test pipelines, write performance and security test scripts, and use AI-assisted testing tools. The field divides broadly into manual QA (exploratory testing, test case design, UAT coordination) and automation QA (Selenium, Playwright, Cypress for web; Appium for mobile; JMeter for performance; Postman/Rest-Assured for API testing). Most career progression eventually requires automation skills, and senior QA Engineers are expected to code fluently. In Sri Lanka, QA is one of the most accessible entry points into the IT services industry. IFS, Virtusa, WSO2, 99X Technology, and Synapse all run structured QA graduate programmes. Salary progression from manual tester to automation engineer to QA Lead is well-defined. The ISTQB (International Software Testing Qualifications Board) Foundation Level certification is the globally recognised entry credential and is widely required by Sri Lankan IT companies for QA roles. Internationally, QA automation engineers are in significant demand — companies need reliable test coverage as deployment frequency increases in DevOps environments, and automation engineers who can build comprehensive test suites are among the most sought-after QA professionals.

What a QA Engineer / Software Tester does daily

  • Design test strategies — analysing software requirements to determine what needs to be tested, how it should be tested, and what the pass/fail criteria are; writing Test Plans that define scope, approach, resources, and schedule
  • Write and execute test cases — creating detailed test case specifications (test ID, preconditions, steps, expected results, actual results) covering functional requirements, edge cases, negative scenarios, and boundary conditions; executing these manually or automating them
  • Exploratory testing — unscripted, experience-based testing that looks for unexpected failures outside the defined test cases; the most effective technique for finding defects that scripted testing misses
  • Build automated test suites — writing test automation code using Selenium, Playwright, Cypress (web UI), Appium (mobile), or Postman/Rest-Assured (API); integrating automated tests into CI/CD pipelines so that every code commit triggers a full test run
  • Performance and load testing — simulating thousands of concurrent users using JMeter or k6; identifying the performance thresholds beyond which the system degrades; reporting performance bottlenecks to the development team
  • API testing — verifying that REST and SOAP APIs return correct responses, handle invalid inputs gracefully, enforce authentication correctly, and perform within acceptable response times; Postman, REST-Assured, and Newman are standard tools
  • Security testing basics — OWASP Top 10 vulnerability scanning; SQL injection testing; XSS testing; authentication bypass testing; tools like OWASP ZAP (free); identifying security defects before production
  • Defect management — logging defects in Jira with clear reproduction steps, screenshots/videos, environment details, and severity/priority ratings; managing defect lifecycle from detection through fix verification to closure
  • Regression testing — verifying that new code changes have not broken existing functionality; the primary use case for automated test suites; critical in rapid-release environments
  • CI/CD pipeline integration — integrating test automation into Jenkins, GitLab CI, or GitHub Actions pipelines; configuring test stages to gate deployments; ensuring automated tests run on every pull request and deployment
Why this matters: A software defect that reaches production is between 10x and 100x more expensive to fix than one caught in testing. In banking, a defect in a payment processing system can cause direct financial loss and regulatory action. In healthcare, a defect in a patient management system can have serious consequences. In e-commerce, a checkout bug directly reduces revenue. QA Engineers are the last line of defence before software reaches users. In Sri Lanka's IT services industry — which delivers software to international clients — quality failures are particularly costly because they damage client relationships and company reputation in competitive markets. As deployment frequencies increase in DevOps environments, automated test coverage becomes even more critical: teams deploying multiple times per day cannot afford manual regression testing.

Step-by-Step Career Roadmap

What to do
  • Develop a "what if it breaks?" mindset — when using any software, app, or website, ask: what happens if I enter unexpected input? what happens if I press back at the wrong moment? what happens if the network is slow? this adversarial curiosity is the most important natural asset for a QA engineer
  • Learn Excel / Google Sheets — spreadsheets are heavily used in manual QA for test case management and defect tracking; SUMIF, COUNTIF, sorting, filtering, and basic charts are foundational
  • Write step-by-step instructions — the precision required to write a reproducible defect report starts with the ability to write exact, unambiguous instructions; practice writing step-by-step guides for everyday tasks and ask someone else to follow them without clarification
  • Learn basic HTML — understanding what a button, form, input field, and link are in HTML helps manual testers understand the structure of web pages they are testing; W3Schools HTML (free) covers the basics in a few hours
  • Play strategy and puzzle games — games that require systematic thinking, pattern recognition, and methodical exploration build the mental models that effective testers use
Key subjects
MathematicsICT / ComputingEnglishScience
Skills to build
Adversarial product usage (finding failure modes)Excel / Google Sheets (SUMIF, COUNTIF, filtering)Precise step-by-step writingBasic HTML (structure of web pages)Logical and systematic thinking
Suggested activities
  • W3Schools HTML Tutorial: complete all modules (free)
  • Google Sheets: build a test case tracking sheet with COUNTIF for pass/fail counts
  • App bug hunt: use 3 apps for 1 week each; document every unexpected behaviour
  • Write 10 step-by-step instructions for everyday tasks; test them on a family member
  • "Exercism.org" programming exercises (free): complete 5 easy exercises in Python or JavaScript
Important notes
  • QA automation engineering requires real programming skills — students who plan to go beyond manual testing into automation QA (the higher-paid and more future-proof path) need to develop coding proficiency during school; starting with Python or JavaScript now creates a significant advantage when automation training begins
💡 Backup / alternative options
Software EngineeringData AnalysisBusiness AnalysisIT Support
⚠️ Important: Career paths and admission requirements change. Always verify the latest university entrance criteria, professional body requirements, and A/L subject combinations with official sources before making final decisions.