Skills Required for Software Tester

Important Activities in IT (Information Technology) Industry: 

• Project Management
• Business Analysis 
• Software Development (Front-end and Back-end) 
• Software Testing (Manual Testing and Automated Testing)  
• Technical Support (Network Administration/System Administration) 
• DBA (Database Administration)
 • Software Maintenance

If you want to choose software testing as your career then you need to familiar with the following concepts.
I) Communication Skills

• Customer Communication.
• Team Communication
• Presentation Skills
• Writing Skills

II) Computer Fundamentals

• Knowledge on Computer Operating Systems (MS Windows, UNIX, Macintosh etc...)
• knowledge on Mobile device operating systems - Optional
• Documentation skills ((MS Office, Star office(optional)).
• Knowledge on Software Environments (Stand-alone, Intranet, Internet and Extranet).

III) Manual Testing Knowledge

• Software Project life cycle
• Ability to analyze Functional and Non-functional requirements
• Test Levels (Unit, Integration, System and Acceptance Testing)
• Test Types (Functional and Non-Functional Testing)
• Test Planning
• Test Design Techniques (Equivalence Partitioning, Boundary value Analysis, Decision Table testing, State transition testing etc...)
• Test Design (Test Scenarios, Test Case and Test Data)
• Test Execution (Sanity, Comprehensive and Regression Testing. Defect Reporting & Tracking)
• Maintenance of Testing resources
• Ability to track changes

IV) Database knowledge 

• Database objects
• Create new databases
• Create new tables in a database
• Insert records in a database
• Update records in a database
• Delete records from a database
• Retrieve data from a database
• Execute queries against a database
• Data Integrity
• Data Comparisons
• Data backup and Recovery etc...

V) Programming knowledge 

• Comments
• Data Types
• Modifiers
• Variables
• Operators
• Conditional Statements
• Loop Statements
• Input and Output operations
• Built-in Functions / Methods
• User defined Functions / Methods
• Working with Files
• Working with Databases
• Regular Expressions
• Exception handling
• OOPS concepts (Abstraction, Polymorphism, Inheritance, Encapsulation)

VI) Test Tools knowledge

• UFT or Selenium or both UFT and Selenium for Functional and Regression Testing.
• LoadRunner or any other Performance test tool knowledge for PerformanceTest Automation.

a) UFT (QTP) 

• UFT Tool fundamentals
• VBScripting
• Creating Tests using either Object Repository or Descriptive programming.
• Enhancing Tests using Tool features like Checkpoints, Output values, Data Table etc...
• Enhancing Tests using VBScript features like Flow Control statements, Functions and Automation objects etc...
• Parametrization, synchronization.
• Creating Test Batches.
• Debugging & Running Tests
• Analyzing Test Results
• Reporting Defects and Tracking Defects.
• Regression Testing
Maintenance of Automation Resources.

b) Selenium 
• Selenium IDE, Selenium WebDriver and Selenium Grid Fundamentals
• Java Programming (Core Java)
• Create Test Cases
• Enhance Test Cases
• Run Test Cases - Batch Testing, Data Driven Testing, Parallel Test execution.
• Cross Browser Testing.
• Analyzing Test Results
• Reporting and Tracking Defects (Defects Management)
• Regression Testing
Maintenance of Automation Resources.

VII) Domain knowledge

• BFSI (Banking Financial Services and Insurance)
• ERP (Enterprise Resource Planning)
• Telecom
• Healthcare
• Ecommerce
• Retail Market etc...


• Defect management using Bugzilla or any other tool is essential.
• Knowledge on Performance Testing using LoadRunner or any other tool is an added advantage.
• Test Management (Defect Management is part of Test Management) using ALM or any other tool is an added advantage.

Google Q&A Forum