Software Tester

    SOFTWARE TESTER / Software QA Analyst / Software QA Engineer is an individual who tests software to ensure it is of the highest quality. Software testers’ primary goal is to detect defects in the software prior to its release. They are part of a software development team and perform functional and non-functional testing of software using manual and automated software testing methods.

    ISTQB Definition

    • tester: A person who performs testing.

    Technical / Hard Skills

    A software tester requires the following technical / hard skills

    • Computer Hardware: Basic understanding of computer hardware like Processor / Central Processing Unit (CPU), Memory / Random-access Memory (RAM), Storage / Disk Space, Monitor / Screen, Keyboard and Mouse.
    • Operation Systems: Basic knowledge of operating systems like Windows, Linux and Macintosh.
    • Computer Network: Basic understanding of computer networking like Local Area Network (LAN), Intranet, Internet, Ethernet, Wi-Fi and Bandwidth.
    • Internet Browsers: If testing web applications, knowledge of internet browsers like Chrome, Firefox and Microsoft Edge.
    • Email: For general email communication, knowledge of desktop email clients like Windows Mail, Thunderbird and Apple Mail or web email services like Gmail and Microsoft Outlook. [Depends on what your organization is using]
    • Productivity Tools: For general documents, spreadsheets and presentations, knowledge of G Suite (Docs, Sheets & Slides), Microsoft Office (Word, Excel & PowerPoint), Apple iWork (Pages, Numbers & Keynote). [Depends on what your organization is using]
    • SQL / Databases: If testing involves large data sets, knowledge of Structured Query Language (SQL) and databases like Oracle, MSSQL and MySQL.
    • Defect Tracking Tools: Experience of defect tracking tools like BugZilla and JIRA for logging and tracking defects.
    • Test Management Tools: Experience of test management tools like PractiTest and TestRail for managing test cases, tracking test execution and reporting test activities.
    • Test Automation Tools: If testing is automated, experience of test automation tools like Selenium and TestProject.
    • Programming / Scripting Languages: If testing is automated, knowledge of test programming / scripting languages like Python, Java, JavaScript, and C#.

    Non-Technical / Soft Skills

    A software tester requires the following non-technical / soft skills:

    • Analytical Skills: The ability to identify issues, collect data, analyze information, develop solutions, and make informed decisions based on multiple factors and available options.
    • Critical Thinking: The ability to analyze problems objectively without emotions or assumptions, assess the situation from various angles and weigh all the pros / cons.
    • Communication Skills: The ability to write and talk in a clear, correct, complete, concise & courteous manner so that others can understand without any ambiguity or animosity.
        • Reading Skill: The ability to read effectively and comprehend clearly. Example: Read 100 page long Requirement Specifications document.
        • Listening Skill: The ability to listen actively without missing any valuable information. Example: Attend a 3 hour long Requirements Review session.
        • Questioning Skill: The ability to ask the right questions at the right time, leaving no room for doubts. Example: What is the main purpose of this feature?
        • Persuasion Skill: The ability to present effective arguments, influence others, and prompt them to act. Example: If we release this product without fixing this defect, the client will be upset. Yah, very very upset!
    • Organization Skill: The ability to efficiently manage multiple tasks and use time, energy & resources effectively to achieve desired outcomes.


    Bachelor’s Degree in Computer Science, Computer Engineering, Information Technology, or a related field (or equivalent) will be helpful. But, a bachelor’s degree is NOT absolutely essential. If one’s smart, even some relevant training (whether formal or informal) is enough. What matters the most is the tester’s analytical skills. Well, if you insist, you can also get some Software Testing Certifications.

    Career Path

    The list below provides a rough career path for software testers:

    Position Years of Experience
    Intern 0 (Still studying)
    Trainee 0 (Graduated but needs training)
    Associate Software Tester / QA Analyst / QA Engineer 0 (Graduated or trained)
    Software Tester / QA Analyst / QA Engineer 1+
    Senior Software Tester / QA Analyst / QA Engineer 3+
    Software Test Manager / QA Manager 5+
    Director of Software Quality Assurance 7+

    Specialized Positions

    • Software Test Automation Engineer / Software QA Automation Engineer
    • Software Performance Test Engineer
    • Software Security Test Engineer


    Below are some estimates of annual salaries earned by Software Testers in the United States:

    Position Min Avg Max Reference
    Software Quality Assurance Analyst $47K $63K $85K Glassdoor Open in New Window
    Software Quality Assurance Analyst I $54K $68K $84K Open in New Window
    Software Quality Assurance (SQA) Engineer $52K $76K $114K PayScale Open in New Window

    Of course, when software testing is outsourced to other countries, the pay is less but is nonetheless quite competitive with salary of other jobs in those countries.

    Last Updated on September 7, 2020 by STF