Lesson #1: What Software Testing Is

Lesson #1: What Software Testing Is

Software testing sounds like a lot of fun. All you need to do is play with a website and happen upon problems that someone else deals with, right? Well, not really. There is a bit more to it than that.

A Closer Look
When you roam into the world of software testing you find multiple testing methods, hundreds of scenarios to test (both simple and complex), the need to prepare test data, reports, wisdom for understanding users, various ways managers fit testing within the SDLC (Software Development Life Cycle), time constraints, and it’s fair share of being misunderstood.

But, at its heart, you will be taking part in creating a product that is solving a problem(s) us Humans are having and need the right tools for.

πŸ¦‰
It takes a village to ensure a quality product makes it to market, and software testing is a big part of that.

Two Ways to Testing

There are two ways you can go about testing software:

  • Manual software testing - where you manually do the testing.
  • Automated software testing - where you create a framework and than code out scripts to do the testing. You basically need development skills to do this.

Both are needed. And each has specific scenarios where they excel and also scenarios where the other is the better option.

πŸ¦‰
Manual and automated testing are individual full time jobs, though some businesses are trying to make it a one person unicorn job. Each job is very time consuming, and needs to be to minimize the risk of bugs getting through that can chase away business.

So, what exactly needs testing?


Different Levels of Testing

A piece of software has become a very complex creation these days. To help organize this complexity there are 3 levels where testing takes place:

  • Coding level: This is testing the code itself and something that the developer must do. Common methods are Unit testing and Integration testing.
  • Backend level: This testing focuses on the non-user facing components of the software. Such as the database, API, and server-side coding.
  • Frontend level: This testing is all about the user interface and its functionality. It involves testing items such as button, forms, task flows/work flows, page layout, and tons more.

Frontend testing sounds easy, but it can get pretty complicated. This testing involves a number of moving parts and features that work together, creating hundreds of scenarios that need testing.

πŸ’Ž
This publication is dedicated to teaching manual Frontend testing. As a great way to get a solid foundation in the world of software testing.

So, how do you become a good manual software tester?


Getting a Solid Foundation

There are a variety of fundamental skills needed to be successful at manual frontend software testing. They are:

  • Testing methods (such as exploratory testing, components testing, end-to-end testing)
  • Test data management
  • Test case management
  • Bug management
  • How to figure out use cases/scenarios
  • Technical troubleshooting
  • Understanding of requirements
  • Understanding of work flows/task flows
  • Basic understanding of users
  • Basic understanding of the SDLC (Software Development Life Cycle)
  • Basic understanding of the STLC (Software Testing Life Cycle)
  • Basics of HTML & CSS
  • Various devices and their operating systems (PC, MAC, iPhone, Android)
  • Basic technical writing
  • How to think like a tester

Whew. That is some list.

When you have this foundation, it opens up many doors. You not only can go for manual testing jobs, but also more easily and confidently advance your skills to do backend and automated testing.

πŸ¦‰
"Everything is easy, once you know how."

Now that you have an idea of what it takes to be a software tester, lets start diving into the details of how you do it. One lesson at a time.


Up Next
Lesson #2: Getting to Know the Software - Introduction