1. Introduction to Software Testing

Welcome to my first tutorial in a list of tutorials that I will be offering in order to help make you a Professional Test Analyst!

This first section of the tutorial explains why you should become a Test Analyst, how this tutorial works and also gives you an overview of what you will be learning. 

Table of contents
  1. So…why become a Software Test Analyst?
  2. Who is this tutorial for?
  3. Can you learn enough from this tutorial alone to obtain a Test Analyst job?
  4. Approachable style to learning!
  5. A Structure to help you learn
  6. Free application to practice your Software Testing
  7. Practice, practice, practice!
  8. This tutorial…is just the beginning of your testing career!
  9. Help me to help you, to help others!
1. So…why become a Software Test Analyst?

Software Testing is a very rewarding job! Me, I love it! It allows me to use all the most enjoyable parts of being a Software Professional. It allows me to be a part of the whole Software Development Life Cycle, by playing the role of a: business process interpreter,  technical developer (developing automation test scripts), designer of tests, complex problem solver and tester of very important company systems. It allows me to be responsible for ensuring that £multi-million company dependent systems are implemented correctly! 

And do you know what? This is the great part of being a Test Analyst…you can earn a great living, a living where you can earn as much money as Software Developers  🙂 .

back to table of contents

2. Who is this tutorial for?

This tutorial has been written predominantly with beginners to the Software Testing world in mind, people who wish to become a Software Test Analyst 🙂 . However, it can also be used as a refresher course or a serious reference guide for the more experienced professionals.

It is one in a series of tutorials that I will be writing for this website, so as to enable you to become a Professional Test Analyst! I have written things to allow you to learn in the most efficient and quickest way possible, showing you the best ways to test.

back to table of contents

3. Can you learn enough from this tutorial alone to obtain a Test Analyst job?

The simple answer is…YES! Given that you follow this initial tutorial seriously, understand and digest all the material and also complete all the “Test Yourself” tests satisfactorily, you will have enough knowledge to apply for a Trainee Test Analyst’s job, something I will be showing you how to do in a future post.

This tutorial will give you the basic concepts of how to test an application manually. You will see I have used the word “manually” here, that means that you will be able to test applications or systems without the use of any technical skills (Automation, SQL or API test skills etc), something a lot of companies still very much rely on people to do!

back to table of contents

4. Approachable style to learning!

I have produced this tutorial, hopefully, in a manner that I would have liked when I first learned Software Testing! Things may appear complex at times and a little dry to learn, but please persevere, things will all slot into place if you complete the whole tutorial. 

I remember starting in IT many years ago and felt so very much daunted by how much I thought I had to learn…all at once! But, that is not the case, you just need to start slowly, ensure you understand the topic you’re learning before moving onto the next topic.

back to table of contents

5. A structure to help you learn

To help you to learn about Software Testing more easily I have broken this tutorial down into 5 main lessons (which includes this Introduction), as can be seen in the following diagram. The lessons progress in a way where they build upon the previous topic step-by-step, slowly increasing your knowledge.

My way of learning: 

To those completely new to Software Testing, as with learning anything for the first time, things will sometimes appear a little complex or even dry. Me…personally, what I do to overcome this is to break my learning down into “brain size chunks”. I make a list of the contents and tick them off only when I feel that I have learned them sufficiently…cementing my understanding, before moving onto the next topic!

When attempting to digest things, I always take a pencil and paper and make copious notes to enforce my remembrance of things, using a rubber to improve my notes! Before moving onto a new topic, I will then condense the notes again and again…to be left with crib sheets…easy 🙂 ! 

However, just to cement your learning further, I have introduced a Test Yourself test at the end of each section. Please ensure you give these a go, as they will confirm that you have digested things so as to be able to move onto the next section! When you do take the tests, if you score less than what I’ve indicated for each test, then I would definitely suggest just slowly going over the section again, then…take the test again 🙂 !

And the mantra I have used throughout my IT career…“The more I learn, the more I earn!”  🙂 !

1.1 – “5 main lessons” of Software Testing Tutorial

5.1 Introduction to testing

The section you are reading now.

5.2 Concepts of Software Testing

This section introduces you to Software Testing, it will explain what it is, why we test software, who actually performs testing throughout a Project Life Cycle and what the Project Life Cycle is.

5.3 Understanding the SDLC (Software Development Life Cycle)…and where testing fits in?

The second section, Concepts of Software Testing, introduced you to the Software Development Life Cycle (SDLC). This section will expand on the SDLC’s “V Model”, the model I prefer to work with so as to explain testing, using this I will guide you through the rest of the following sections.

5.4 Verification Test Process (Static Testing)

This involves using static analysis techniques (reviews) without executing code. It is the process of reviewing the deliverables produced at each stage of the product development phase to find out whether specific requirements are being met.

5.5 Validation Test Process (Dynamic Testing)

This is where the actual hands-on testing is done…testing by running a system or part of the system.

This involves dynamic analysis techniques (functional and non-functional), by testing code that is being executed. Validation is the process to evaluate the software after the completion of a development phase to determine whether software meets the customer’s expectations and requirements.

back to table of contents

6. “Free Application” to practice your Software Testing 

If you would really like to use an application to test out things from this tutorial, then you could download and run a real life application called “HomeFinance”, as detailed in the “HomeFinance Application” tab on this website.

In order to help people learn Manual and Automation Testing, I have produced this real “Web Application” (an application that normally runs on the internet) that you can run locally on your own PC. By running it locally you can have complete control over the application and its data…enabling you to test to your heart’s content!

Please Note: 

The download and installation of this free Application can be a little involved for people new to IT. The application is not essential to have for this tutorial, as the tutorial is a stand alone learning aid, but you will certainly find that it will help in your better understanding by using and playing around with it.

You can find how to download and install the application by clicking on the HomeFinance Application tab. Please do not be put off by some of the technical terms, length of the installation document or even if it feels like it’s getting a little complicated, just follow the  simple installation guide step by step and this will ensure you have the application up and running in no time 🙂 ! 

back to table of contents

7. Practice, practice, practice!

As stated, by following this tutorial it will, I believe, give you a very good understanding of Software Testing and will set you on your way to getting your first job in IT. However, this tutorial is just the beginning. 

There really is nothing like “doing it” when it comes to learning something new! The “doing it”,  in this case, is by actually testing “hands-on”. Once you have completed a section, then try to put your new found skills to the test (excuse the pun!) by looking at a Software Application (such as the HomeFinance Application, explained above) and writing some tests and testing it! 

If you feel uncomfortable with downloading the HomeFinance Application then maybe look at an application that you use on a daily basis to see how you would test it, say Facebook, Google Chrome or a news channel on your PC or even a Mobile App such as WhatsApp.

back to table of contents

8. This tutorial…is just the beginning of your testing career!

To really make an impact in your Software Test career, you should attempt to develop your technical skills and interview techniques. This is where my future tutorials and interview guides will help:

  1. SQL Basics for Software Testing Tutorial
  2. Interview Techniques and Questions
  3. API Testing for Beginners Tutorial
  4. Basic Java Programming for Testers Tutorial
  5. Basic Selenium Programming for Automation Testing Tutorial
  6. Advanced Selenium Programming Tutorial

To ensure that you don’t miss any future tutorials that I publish, please Subscribe 🙂 !

back to table of contents

9. Help me to help you, to help others!

I do realise that we all learn differently, therefore, please, please share with me your thoughts on how, perhaps, I can make things better! Just pop over to the “Contact Me…” tab and tell me what you would like to see or what you think would maybe help others if I included more or less info.

Ultimately, I would love to see a Software Test Community build from this website. A community where we can grow together, letting the content evolve into something that can be used by all to learn the Software Testing concepts as easy and efficiently as possible…and in so doing, making great Software Test Analyst Professionals! 

So, let’s learn… 🙂

back to table of contents


Next Lesson ⇒ 2. Concepts of Software Testing