Software Testing and Quality Assurance Fundamentals

Software testing entry level median salary in the U.S is $50,315. The national average overall (not only for the entry level professionals) is $60,728 per annum, as stated by Glassdoor. Not so bad for a job that does not usually require a higher education, right?

Software testing can be a great gateway into the tech industry due to a salary you might expect, interesting and challenging job, and further growth opportunities in tech.

The IT market is booming, small startups become unicorns and their founders worldwide celebrities. However, in the beginning startups do not have much money and many benefits that they can provide to employees, therefore, many experienced professionals ditch startups for safe nine to five jobs with good salaries. This opens an opportunity for less experienced people to come and join the whatever revolution that company is undertaking. Startups tend to grow very fast as well, which means you can rapidly grow with them.

If you are interested in IT overall, a quality assurance job can be a great gateway position to the tech world and other roles within it. You will have to learn so many aspects of your company’s products, that would sometime find yourself to be the only holder of some information. For example, developers usually do not need to know everything about the system, only the parts they are working with. Perhaps a few senior software engineers who have the whole system architecture in their heads would know the most of the answers. People from other departments have probably never wandered in many areas of the system, so sometimes, colleagues would come to you for answers.

You would be mostly working with developers, you will learn many tech terms and get a good understanding how software development works. If you are eager to become a developer later on, such job would a nice starter.

This course unveils what software testing and quality assurance are, provides job hunting and interview advice, and gives a realistic picture of what your day as a manual software tester would look like. This is a course for beginners who would like to do manual testing. Although, I mention opportunities for further development within the software testing world (e.g. Automated testing, unit testing etc.), the materials will not pay much attention to those. In this course, I am going to cover why this profession might be appealing to you, will go through QA testing types (functional testing, exploratory testing and others) and explain when to use which type. I will cover what business systems are and what types of business systems are most commonly used by QA. You will learn about the GUI testing, software development life cycle (SDLC), will discover what it takes to become a good tester and how your regular day at work will look like. At the end of the course, you will also know how to write a fantastic bug report that everybody will love.

A little bit about me. A few years back, I was attempting to move from a finance job to something more technical and challenging. I wanted to do front-end development, but was struggling to learn it by myself. There seemed to be too many concepts to grasp within a limited free time. So I took a Software testing job to start with. I was lucky with the company and the tech team in it, who were very supportive from the beginning.

During my first interview I mentioned some of my knowledge of Angular, and said I would like to eventually do front-end development. For the disclosure, it took me nine months to join the front-end team. The learning process was the following: about one or months were spent doing purely manual testing and learning the system. Say if your company has a big product or many products, or the products are complex, it might take a long time to get familiar with the system. As a QA engineer, you really have known pretty much everything about the system. For system testing, you should become a superuser.

Once I knew most of the system, I started learning Selenium and using Selenium IDE. With that, I could write some basic automated tests for some repetitive tasks. It helped to speed up the work a lot. Once I was comfortable using Selenium on its basic level, I moved to Coypu (a framework for C# that uses Selenium). That was more challenging because now I had to learn the back-end architecture of a fairly big system. After a few more months I started transitioning to the front-end. I used a QA software testing job to get into the new field, and it worked like a charm.

If you are curious about software testing but yet hesitant, think of it as a gateway career opportunity. A fairly easy road to the tech world. Many people enjoy doing software testing and Quality Assurance and stay in their jobs for many years. I don’t want to make the impression that this should be only a temporary job opportunity. However, most people, as statistics show, move away to something else after an average of two years. Could you use that leverage for your career?

QA software testing is peculiar in the way that you have an option to learn some basics and have a consistent job without much worries or you can constantly learn new tools and frameworks and dive more and more into technical parts. Whatever floats your boat.

If you decide to grow, here is some advice. Once you are familiar with basic testing patterns, move more towards Quality Assurance. If you don’t know the difference between Software Testing and Quality Assurance, find it out in the course (in the introduction). Have structure of the system you are testing outlined, know what parts are more vulnerable to changes and break the most. When you are done with that, learn how to use Selenium IDE. With that, you will be able to do basic test automation. It will be buggy, not very reliable, but it will work.

Then using your Selenium knowledge, you can start creating more complex tests. For example, if a company you will get a work at uses Java on the back-end, you can learn some basics of that language and use special Selenium frameworks with that language. If you are more interested in the front-end development in the future, there is a lot of space for QA software testing there as well. You can start with simple UI testing using something like StoryShots for Storybook. Storybook provides a nice way to keep your UI elements in one place for the reference. You can play with those elements, see how they work, use knobs etc. And then, you can take a snapshot of those elements all together. So when you run the test, it will tell if there was change in the UI somewhere from the previous time you ran the test. Such testing would provide an extra level of security for finding UI bugs.

There is a more serious front-end testing that can be done with the help of frameworks like jest and mocha. This would require more JavaScript knowledge compared to StoryShots, but would allow to provide significantly more security to a front-end application. You would have to read loads of code, understand how it works, and create tests for. Essentially, once you master it, you will capable of doing software development on your own. There is a term “developer in test”. It describes a person who is a software developer but who focuses on quality assurance. If you compare salaries of a manual tester and a developer in test, the difference would be quite huge. If you work hard, you can comfortably reach that level within a year. Fancy that?


Here are some of the common interview questions, answers to which you can find in this course.

  • What is a test case?
  • What is a test suite?
  • What is a software testing?
  • What is the difference between software testing and quality assurance?
  • What is positive testing?
  • What is negative testing?
  • What is the difference between white box and black box testing?
  • What are the different types of testing?
  • What testing type is likely to bring more results?
  • What is GUI testing?
  • Do you know of any usability guidelines?
  • What is Software Development Life Cycle?
  • Why ad hoc testing (aka monkey testing) can be useful?
  • How do you report bugs?
  • How many bugs do you report in one bug report?
Who this course is for:
  • Be interested in a QA engineer job
  • Be interested in a software tester job
  • Looking for an entry job at a tech company

About freetutorial

Check Also

Introduction To Database Engineering

Introduction To Database Engineering Learn ACID, Indexing, Partitioning, Sharding, Concurrency control, Replication, DB Engines, Best …

Leave a Reply

Your email address will not be published.