Friday, July 26, 2024

Guide to learning software testing

Guide to learning software testing

The Software Testing field offers a wealth of opportunities for those wishing to build a successful career in the Software Industry. 

Whether you're interested in software testing, quality assurance, or any other field, it's important to understand the steps you need to take to prepare for the testing role and improve your chances of getting the job. This blog post provides a comprehensive guide on how to start preparing for your role and ultimately being employed.

Types of Software Testing

Software Testing types can broadly be divided as 
  1. Manual testing  - where you will do the testing of each and every page and feature manually. 

  2. Automation Testing  - this implies testing certain pages and features using tools and also includes manual testing.

Nowadays learning only the manual aspect of software testing is not enough, as there is a lot of competition and saturation of jobs in software testing  - so it is always suggested to build your skill in both manual and automation testing.

Well just to give you heads-up, automation testing is not hard to learn but it does require you to have development skills and you need to learn at least one coding language like Java, javascript, python, groovy, etc. 



How to start with testing

1. START  THE UNDERSTANDING - 

starting with an understanding of the topic is very important for example :

  • What software testing is? - Simply it is a way to test code, in a way the end user is going to use this software and not in a way how dev writes the code. It is the mindset of the tester that makes the software testing perfect.

  • How does it work? -  Software testing follows a definte process. It starts at the time the application is designed. The common steps involved are
                       Understanding requirement,
                       Creating testcases,
                       Identifying test cases eligible for automation,
                       Defining performance test thershold,
                       Defining test environment,
                       Execution of test,
                       Verifying and logging defects,
                       Creating report

  • Why it is needed? - As a user, if you find any issue with application you are interacting, you will immediately reject it and never use the app again. So you see as a business owner you would never want any big or small defect to be there when you publish your application to the world. Hence the need of the software being well tested is very important 

2. KNOW THE REQUIRED SKILLS - 

You need to know what all skillset you will need to perform when you are in the job responsibilities and the role that you will actually need to break into.

The most important skill as a quality assurance person is COMMUNICATION. Your communication skill counts a lot when you are being judged for QA role. 

Communication skill can include:

  • Fluency in English while talking.
  • Skills on managing email communication.
  • Skill set on what to be logged when creating a defect.


A simple way you can say software is made  with three layers -

  • ForntEnd 
  • MiddleWare
  • Backend



In the case of software testing, you need to gain a skill set in all three areas of software testing - which
implies you need to learn :

  • How you can test FrontEnd of the software? 
      Skills and tools needed 
    • Manual testing skill, web application using diffrent browser and/or mobile testing.
    • Tools like Jira, Confluence, ALM.
    • Excel sheet.
    • Automation testing tools like selenium.

  • How you can test MiddleWare of Software?
      Skills and tools needed 
    • RestFull APIs and gateways
    • Postman needed for API testing
    • Burp needed for security
    • Automation testing using Appium or RestAssured.

  • How you can test the Backend of the Software?
      Skills and tools needed 
    • Relational Database schema understanding
    • Queries in SQL, MySQL, Oracle
    • Linux commands
    • Basic cloud services knowledge like Azure, AWS and GCP.
Explore the areas and write down what all skills you need to learn:

What are the least must skill needed for software testing

In order to apply for a job the least mininum requirement that you should have in your CV is 

  • SQL queries / CRUD (Create, retrieve, update and delete) operation in database.
  • API testing / Postman.
  • Manual Test case creation and defect logging process.
  • Excel sheet usability and how to use basic formulas.
  • Testing an applications on diffrent types of browsers.
  • Knowdlege on operating systems likes windows and McOS
  • Basic manual testing approach like Smoke testing, Regression testing, Usability testing, penetration testing

3. START LEARNING:

Now the question is how should you start learning software testing? 
To start learning software testing, you do not need to spend money to learn there are a lot of courses available online:

1. Complete one course on manual software testing: You can follow any channel that you find easy to understand, but stick to it and complete the full course, some recommendations are :
2. Complete one course on automation software testing 
3. Also you can purchase a book on software testing, some examples are :
4. Read Blogs:
 you can follow the below blogs and learn concepts in software testing
  • StackExchange - They have weekly blogs coming out. You can also ask questions and get answers to any query related to software testing on their site.
  • Softwaretestingmaterial - They too have a weekly blog to follow.

Can I just learn manual testing and start applying for jobs?

Yes, you can, but keep in mind these days manual testing jobs are very rare to find. Industries are looking for people with automation experience. 

Is software testing a well-paying job?

Yes, it is a well-paid job. In the US you can get anything from 60K to 150K annually which is quite good to get.


Can I become a developer after I start my career in software testing?

Yes again, you can switch to a development role even after you start your career in software testing, but remember you will need to gain a development skillset for that. 
Switching can be easier for you in two ways 
   - You can switch a role within your own organization and so you won't have to look for a new company
      - Since you are in IT already and working, you know the basic of how the software works and what developers do, this understanding will make it easy for you to learn coding.

To know what to do  - check this blog 

Conclusion :

So in short, I see going into software testing does require you to do some prep work and learn but it is not very hard. If you in this path of learning to be a tester or you are already a software tester let me know your thoughts below ðŸ‘‡.

Please subscribe to my blogs for weekly blogs on tech and on new concepts. :) 


No comments:

Post a Comment

Techniques for AI

  Techniques for AI  We all know humans have a super powerful brain that can think, feel and predict things.  For instance: When we see a ni...