How to Become a Software Tester

If you are thinking of starting a career in IT or changing careers - Software Testing is certainly in high demand, also in Vietnam.

Software testers play a critical role in application development. They are quality assurance experts who put applications through the wringer to root out bugs, poor performance, and funky interface issues. To do this, they run all kinds of tests – stress, performance, functional, scalbility, user acceptance – at different stages of the software life cycle. Software testing, like most things in life, can be learned if you put in the right amount of time and effort. 

This guide will take you through the in's and outs of software testing. If you plan to make a career in software testing, this is a MUST READ.

What is Software Testing?

Software Testing is a process of verifying a computer system/program to decide whether it meets the specified requirements and produces the desired results. As a result, you identify bugs in software products/projects. Software Testing is indispensable to provide a quality product to users without any bug or issue.

What Does a Software Tester do?

On any typical work day as a tester, you will be busy understanding requirement documents, creating test cases, executing test cases, reporting and re-testing bugs, attending review meetings and other team building activities.

thisisengineering-raeng-sCgQPQZAeO4-unsplash.jpg

· They Explore These Types of Testing:

o Exploratory testing, Usability testing,

o Functional testing, Performance testing, Security testing

· They Detect, Track and Manage Bugs

o Raising bugs /Breaking things, Re-opening bugs

o Fixing bugs, Managing bugs, Validating bugs

· They Get Involved With Information Gathering

o Knowledge gathering, Investigating technology, Asking questions

o Researching known issues, Learning about the product

· They Do Testing Type Activities

o Designing and reviewing test strategies, test plans & test cases

o Deploying code to test environments

o Monitoring, Reporting, Process improvement, Solving problems

· They Perform Tasks Related to Tests

o Executing test cases, Maintaining tests, Writing automated scripts

o Generating test data, Writing testing tools

· They Can Manage Testing

o Coordinating testing, Helping to plan sprints, Preparing test plans

o Attending planning sessions, Documenting workflows

Skills required to become a Software Tester

The following skills are essential to becoming a good software tester. Compare your skill set with the following checklist to determine whether this is practical for you?

Non-Technical Skills

· Analytical skills will help break up a complex software system into smaller units to gain a better understanding and create test cases. Not sure that you have good analytical skills? Refer this link - if, if you can solve at least ONE problem you have excellent analytical skills.

· Communication skill both verbal and written are essential to be a good software tester. Testing artifacts (like test cases/plans/ scripts, test strategies, bug reports, etc.) created by the software tester should be easy to read and comprehend.

Time Management & Organization Skills are important as testing at times could be a demanding job, especially during the release of code. A software tester must efficiently manage workload, have a high productivity and plan ahead.

Basic knowledge of 

· Database/ SQL as software systems have a large amount of data in the background. This data is stored in different types of databases like Oracle, MySQL, etc. in the backend. To validate the data contained in databases, simple/complex SQL queries can be used to check whether proper data is stored in the backend databases.

· Linux commands: Most of the software applications like Web-Services, Databases, Application Servers are deployed on Linux machines. It is crucial for testers to have knowledge about basic Linux commands.

· Test Management is an important aspect and tool for Software testing and is nothing more than managing your testing related artifacts. Without proper test management techniques, software testing process will fail.

· Defect Tracking tool- As it is extremely critical to track and manage defects in a systematic manner across the defect life cycle. Defect tracking becomes necessary because the entire team should know about defects including managers, developers, and testers. Several tools are used to lock defects including QC, Bugzilla, Jira, etc.

· Automation tool: If you see yourself as an "Automation tester" after a couple of years working on manual testing, then you must master a tool and get in-depth, hands-on knowledge of automation tools. Automation testing, if done well, will significantly reduce the time spent on testing and will allow tests to be performed continuously as and when changes are made to the system.

Academic Background

Many employers look for software tester candidates with a bachelor's degree in computer science, math, or engineering, although it's not always required. A BTech/ B.E., MCA, BCA, BSc- Computers, will land you a job quickly. However there are other ways.

· If you've got a lot of experience, stable work history and solid references or letters of recommendation, it's possible to land a job without a college degree.

· An intermediate-level position typically requires three to six years of direct experience in software testing, or some combination of education and experience. 

Must-have certifications: Software testers should consider getting one or more certifications to prove their mettle and to get the attention of hiring managers.

Screen Shot 2020-08-03 at 8.52.30 AM.png

  • ISTQB Certified Tester:

  • Certified Software Tester (CSTE)

Software Tester Career Path

Your career progression as a software tester (QA Analyst) in typical CMMI level 5 company will look like following but will vary from company to company

  1. QA Analyst (Fresher)

  2. Sr. QA Analyst (2-3 years' experience)

  3. QA Team Coordinator (5-6 years' experience)

  4. Test Manager (8-11 years' experience)

  5. Senior Test Manager (14+ experience)

Example of a Basic Job Requirement

  • · Ability to create and document automated and manual testing plans and processes, test execution, performing result analysis and report generation on bugs and anomalies

  •  Ability to perform software tests during the different design-develop-test-release-maintain phases during the software development life cycle

  •  Understanding different development methodologies of Agile, Scrum, and other test platforms or environments

  •  Must have in-depth knowledge of different testing tools.

  • Well acquainted with UNIX, Linux and/or Windows scripting and language commands

  • Should be a multi-task operator with excellent communication (both written and verbal) skills

  •  Should have familiarity with different programming languages like- Java, C#, JavaScript, C++, Python, SQL, Ruby on Rails  and PHP

How should I get started?

You start with learning the seven basic principles of Software Testing.

Here are some Learning Guides that we hope you may find useful:

· Software Testing Tutorials - link

· Selenium - link As an alternative you can also learn QTP

· Jmeter - link As an alternative you can also learn Loadrunner

· Testlink - link As an alternative you can also learn Quality Center

· Freelancing Jobs – UpWork or Freelancer

· Permanent Jobs - Any major job portal like monster.com or naukri.com

Becoming a tester would require many soft skills. Innovative thinking, excellent communication and the ability to coordinate in a DevOps environment.

If you wish to pursue your career in the field of software testing, all you’ve got to do is have a desire and dedication to do so and follow the related path!

 

Are you a talented, ambitious, International-oriented tech talent in Vietnam, interested to work with startup to develop tech products and want to join a diverse, fun, and healthy team? Feel free to Reach out.



THU THAO NGUYEN