Manual Testing Tutorial (Free Course with 100+ Tutorials)

The Complete List of 100+ Manual Testing Tutorials.

This is going to be the most in-depth series of tutorials on the manual software testing topic. Go through the topics in this series to learn the basic and advanced testing techniques.

I will explain it in my own way and try to keep this manual testing tutorial series as simple as possible. 

Practice End-to-End Manual Testing Free Training on a LIVE Project:

Tutorial #1: Basics of Manual Testing
Tutorial #2: 
Live Project introduction 
Tutorial #3: Test Scenario Writing
Tutorial #4: Write a Test Plan Document from Scratch 
Tutorial #5: Writing Test Cases from SRS Document 
Tutorial #6: Test Execution
Tutorial #7: Bug Tracking and Test Sign off
Tutorial #8: Software Testing Course 

Software Testing Life-Cycle:

Tutorial #1: STLC

Web Testing:

Tutorial #1: Web Application Testing 
Tutorial #2: Cross Browser Testing

Test Case Management:

Tutorial #1: Test Cases
Tutorial #2: Sample Test Case Template
Tutorial #3: Requirements Traceability Matrix (RTM)
Tutorial #4: Test Coverage 
Tutorial #5: Test Data
Tutorial #6: Test Data Management

Test Management:

Tutorial #1: Test Strategy
Tutorial #2: Test Plan Template
Tutorial #3: Test Estimation
Tutorial #4: Test Management Tools
Tutorial #5: HP ALM Tutorial
Tutorial #6: Jira
Tutorial #7: TestLink Tutorial

Test Techniques:

Tutorial #1: Use Case Testing
Tutorial #2: State Transition testing
Tutorial #3: Boundary Value Analysis
Tutorial #4: Equivalence Partitioning
Tutorial #5: Software testing methodologies
Tutorial #6: Agile Methodology

Defect Management:

Tutorial #1: Bug Life Cycle
Tutorial #2: Bug Reporting
Tutorial #3: Defect Priority
Tutorial #4: Bugzilla Tutorial

Functional Testing

Tutorial #1: Unit Testing
Tutorial #2: Sanity Testing
Tutorial #3: Smoke Testing
Tutorial #4: Regression Testing
Tutorial #5: System Testing
Tutorial #6: Acceptance Testing
Tutorial #7: Integration Testing
Tutorial #8: UAT User Acceptance Testing

Non-Functional Testing:

Tutorial #1: Non-Functional Testing 
Tutorial #2: Performance Testing
Tutorial #3: Security Testing
Tutorial #4: Web Application Security Testing
Tutorial #5: Usability Testing
Tutorial #6: Compatibility Testing
Tutorial #7: Installation Testing
Tutorial #8: Documentation Testing

Software Testing Types:

Tutorial #1: Types of Testing 
Tutorial #2: Black box Testing
Tutorial #3: Database Testing 
Tutorial #4: End to end Testing 
Tutorial #5: Exploratory Testing 
Tutorial #6: Incremental Testing
Tutorial #7: Accessibility Testing
Tutorial #8: Negative Testing
Tutorial #9: Backend Testing
Tutorial #10: Accessibility Testing 
Tutorial #11: Alpha Testing
Tutorial #12: Beta Testing
Tutorial #13: Alpha vs Beta Testing 
Tutorial #14: Gamma Testing
Tutorial #15: ERP Testing
Tutorial #16: Static Testing
Tutorial #17: Dynamic Testing 
Tutorial #18: Adhoc testing 
Tutorial #19: Localization Testing
Tutorial #20: Internationalization Testing
Tutorial #21: Automation Testing
Tutorial #22: White box testing

Software Testing Career:

Tutorial #1: Choosing Software Testing Career 
Tutorial #2: How to Get QA Testing Job – Complete Guide 
Tutorial #3: Career options for Testers
Tutorial #4: Non-IT to Software Testing Switch
Tutorial #5: Kick Start Your Manual Testing Career
Tutorial #6: Lessons Learned from 10 Years in Testing
Tutorial #7: Survive and Progress in Testing Field 

Interview Preparation:

Tutorial #1: QA Resume Preparation
Tutorial #2: Manual Testing Interview Questions
Tutorial #3: Automation Testing Interview Questions
Tutorial #4: QA Interview Questions
Tutorial #5: Handle Any Job Interview 
Tutorial #6: Get Testing Job as a Fresher

Testing Different Domain Application:

Tutorial #1: Banking Application Testing
Tutorial #2: Health Care Application Testing
Tutorial #3: Payment Gateway Testing
Tutorial #4: Test Point of Sale (POS) System
Tutorial #5: eCommerce Website Testing

Testing QA Certification:

Tutorial #1: Software Testing Certification Guide
Tutorial #2: CSTE Certification Guide
Tutorial #3: CSQA Certification Guide
Tutorial #4: ISTQB Guide
Tutorial #5: ISTQB Advanced

Advanced Manual Testing Topics:

Tutorial #1: Cyclomatic Complexity
Tutorial #2: Migration Testing
Tutorial #3: Cloud Testing
Tutorial #4: ETL Testing
Tutorial #5: Software Testing Metrics
Tutorial #6: Web Services 

************************************************************************

Let’s begin with the 1st tutorial in the series.

Tutorial #1: Basics of Manual Testing

Well, what does the word ‘Manual Testing’ tell you? Any testing which you do manually right? Though it be manual functional testing or measuring the response time of a web page manually or a security test which you perform manually. Same is not the case with our Testing industry. :)

Here when anyone says ‘Manual Software Testing’, it strictly means ‘Manual Functional Testing‘.


Yes, that’s what we are going to talk about in this series – ‘Manual Functional Testing‘ or you can say Manual Testing as you can better relate to this term.

Manual Testing Tutorials

You must be thinking why STH and I want to revisit this topic which is very basic of Software Testing and there might be many articles already floating in the internet space.

The reason is simple – It deserves much more than what we all have talked about. It deserves for being the very base of almost every Tester’s career. I do not have specific data about how many testers started their career as Manual Tester, but we all know right, the majority of us started there and the majority of our future testers will start there probably.

Hence, it is very important that we the existing Testers, understand it perfectly so as to educate future testers. It is even more important for people who are looking forward to choosing Testing as a career.

I am of opinion that understanding, execution, and experience of manual Software testing will play a big role in your overall career if you are starting your journey with it.

I can frame this topic in industry style words and definitions, but I guess that won’t keep it easy to understand and relate for entry level testers, someone who is a novice.

So I will explain it in my own way and try to keep this manual testing tutorial series as simple as possible.

What is QA Manual Testing?

Manual Testing (Manual Functional Testing) is a process in which you compare the behavior of a developed piece of code (software, module, API, feature, etc.) against expected behavior (Requirement). And how do you know what is the expected behavior? By reading or listening to the requirement and understanding it fully.

Remember, understanding the requirement completely is very very important. Think of yourself as a consumer of what you are going to test. After that, you are no more bound to some requirement document or words in it. You then understand the core requirement and not only check system behavior against what is written or told but also against your own understanding and against things which are not written or told.

Sometimes, it can be a missed requirement (incomplete requirement) or implicit requirement (something which doesn’t need separate mention but should be meet), you test for this too.

To further add, a requirement we talked about need not necessarily should be documented one. You can very well have knowledge of software functionality or you can even guess and then test it one step at a time. You can call it ad-hoc testing or exploratory testing (totally different topic to talk on).

Let’s understand it further

First of all, let’s face one fact. If you compare testing a software versus testing something else (vehicle let’s say), the concept (as stated above) remains same.  Approach, tools, priorities might differ. At the core it remains ONE and SIMPLE – comparing actual behavior with expected behavior (I mean the understood expected behavior as explained in above paragraph).

The second thing may be best or worst part- Testing skill is something which should be within you. It can be learned, but only when you have few qualities by default in you. When I say it can be learned, I just mean focused and formal education around that particular testing.

I said best or worst because I don’t know if you have those needed qualities in you. You got to figure it out. I will try to help. I highly recommend you going through this before continuing. It will help you compare your qualities against the ones expected in Software Tester role.

Read it here => Qualities of Highly Effective Testers

If you are in a hurry, read this.

“Your curiosity, attention to details, discipline, logical thinking, passion for work and ability to dissect things is all what matters to be a Destructive and Successful Tester. It worked for me and I strongly believe it will work for You. If you have these qualities, it got to work for you.”

Now as we have talked about the core and pre-requisites of becoming a software tester, let’s understand why it has and would always have its independent existence without or with Automation testing growth.

The Need for Manual Software Testing

You know what is the best and richest part of being a Tester and particularly Manual Tester? It is the fact that you can’t run only on skillset here. You got to have/develop and enhance your thought process. This is something you can’t really buy for few bucks. You yourself have to work on it.

You will have to develop a habit of asking questions and you will have to ask them every minute when you are testing. Most of the times you should be asking these questions to yourself than to others.

I hope you have gone through the article I recommended in the previous section (i.e the qualities of highly effective testers). It will give you much clarity over how testing is a thought process and how successful you will be as a tester depends on the qualities you have as a person.

Let’s see this simple flow:

  • You do something (perform actions) while you observe it with some intent (comparing against the expected). Your observation skills and discipline to perform things comes in the picture here.
  • Voila! What was that? You notice something. You noticed it because you were giving perfect attention to details in front of you. You won’t let it go because you are curious. This was not in your plan that something unexpected/strange will happen, you will notice it and you will investigate it further. But now you are doing it. You can’t let it go. You shouldn’t let it go.
  • You are happy, you found out the cause, the steps, and the scenario. Now you will communicate this very properly and constructively to the development team and other stakeholders in your team. You might do it via some defect tracking tool or verbally, but you got to make sure that you are communicating it constructively.
  • Shit! What if I do it that way? What if I enter proper integer as input but with leading white spaces? What if? … What if? … What if? It doesn’t end easily, it shouldn’t end easily. You will imagine a lot of situations and scenarios and you will be tempted to perform them.

Life of a Tester

Life of a Tester

Read these four bullet points again. You noticed I kept it very short and still highlighted richest part of being a manual tester? And did you noticed the bold highlighting over few words? Those are precisely the most important qualities a manual tester needs.

Now, do you really think these acts can be replaced by anything completely? And the hot topic, will it get replaced with automation?

In Software Testing Life Cycle with any development methodology, few things always remain constant. As a tester, you will consume the requirements, convert them into Test Scenarios/Test cases. You will then execute those test cases or directly automate them (I know few companies do it). When you automate it, your focus is steady, that is automating the steps written.

Let’s go back to the formal part, executing the test cases written manually.

Here, you not only focus on executing written test cases, but you also perform a lot of exploratory testing while doing so. Remember, you are curious? And you will imagine. And you won’t be able to resist, you will do what you imagined.

Test Case writing simplified

Test Case writing simplified

I am filling up a form, done with filling the first field. I am too lazy to go for the mouse to shift focus to the next field. I hit the ‘tab’ key. I am done with filling up the next and last field too, now I need to click on Submit button, the focus is still on the last field. Ohh shit, I accidentally hit the ‘Enter’ key. Let me check what happened. OR there is a submit button, I am gonna double click it. Not satisfied. I click it multiple times, too fast.

Do you see? There are so many possible user actions, both intended and non-intended ones.

You won’t succeed in writing all the test cases which cover your application under test 100%. This has to happen in an exploratory way.

You will go on adding your new test cases as you test application. These will be test cases for bugs you encountered for which previously there was no test case written. Or, while you are testing, something triggered your thought process and you got few more test cases which you will like to add to your test case suite and execute.

Even after all this, there is no guaranty that there are no hidden bugs. Software with zero bugs is a Myth. You can only target to take it close to Zero but that just can’t happen without a Human mind continuously targeting same, similar to but not limited to example process we same above.

At least as of today, there is no software which will think like a human mind, observe like a human eye, ask questions and answer them like a human and then perform intended and non-intended actions. Even if let’s say such thing comes (can’t imagine), whose mind, thoughts and eye it will mimic? Yours or mine? We humans are also not same right. We all are different. Then?

Need of Manual Testing when Automation is around

First thing first, Automation Testing has its own share of glory these days and will have even more in coming years but, it simply can’t replace manual QA testing (read human/exploratory testing).

You must have heard before- ‘You don’t automate testing, you automate checking’. This sentence alone speaks a lot about where manual QA testing stands with Automation testing around. Many big names across the globe have written and spoke about this topic so I won’t stress much on this.

Automation can’t replace Human Testing because:

  • It demands run time judgments about everything which is happening in front of your eyes (while you test) and in few cases behind the scenes too
  • It demands clear and constant observation
  • It demands questioning
  • It demands Investigation
  • It demands reasoning
  • It demands action (which wasn’t planned) as required while you test

If I am allowed to be sarcastic- Testing can be replaced by a tool/machine which will be able to absorb the details, process them, command actions and perform them like a human mind and human, all this at run time and in all possible contexts. This tool again has to be like all possible humans.

So in short, human testing can’t be replaced. Maybe some Hollywood sci-fi flick in few years will look close to it, but in real life, I can’t see it coming for few hundred years I can imagine of. I won’t write it off forever as I believe in endless possibilities. On a separate note, if it really happens even after few hundred years, the picture I can imagine that world is scary for sure. Age of Transformers. :)

How Automation compliments Manual Testing

I have said before and saying it again that Automation can’t be ignored anymore. In the world where continuous integration, continuous delivery, and continuous deployment are becoming mandatory things, continuous testing can’t sit idle. We have to find out ways on how to do it.

Most of the time, deploying more and more workforce doesn’t help in the wrong run for this task. Hence, a Tester (Test Lead/Architect/Manager) in this case have to decide cautiously on what to automate and what to do still do manually.

It is becoming extremely important to have very precise tests/checks written so that they can be automated without any deviation to original expectation can be used while regressing the product as part of ‘Continuous Testing’.

Note: The word continuous from the term ‘Continuous Testing’ is subjected to conditional and logical calls similar to other terms we used above with the same prefix. Continuous in this context means more and more often, faster than yesterday. While in meaning, it can very well mean every second or Nano-second.

Without having a perfect match of Human Testers and automated checks (tests with precise steps, expected result and exit criteria of said test documented) achieving Continuous Testing is very difficult and which in turn will make continuous integration, continuous delivery and continuous deployment more difficult.

I purposely used the term exit criteria of a test above. Our automation suits can’t be similar to traditional ones anymore. We have to make sure that if they fail, they should fail fast. And for making them fail fast, exit criteria’s too should be automated.

E.g.: Let’s say, there is a blocker wherein, I am unable to login to Facebook. Login functionality then has to be your first automated check and your automation suite should not run the next checks where login is pre-requisite, like posting a status. You very well know it is bound to fail. So make it fail faster, publish the results faster so that defect can be resolved faster.

Next thing is again something you must have heard before – You cannot and should not try to automate everything. Select test cases which if automated will benefit considerably to Human Testers and has good Return on Investment. For that matter, there is a general rule which says you should try to automate all your Priority 1 test cases and if possible then Priority 2.

Automation is not very easy and fast activity so it is advised to avoid automating low priority cases at least till the time you are done with high ones. Selecting what to automate and focusing on it benefits very nicely to application quality when used and maintained continuously.

Conclusion

I hope now you have understood of why and how badly manual/human testing is needed to deliver Quality Products and how Automation compliments it.

I will be more than happy if I was able to take you with me till this point. Accepting the importance of QA Manual Testing and knowing why it is special, is the very first step towards being an excellent manual tester.

In the coming manual testing tutorials, we will cover a generic approach for doing Manual Testing, how it will co-exist with Automation and many other important aspects.

Stay tuned.

About the author: This article is written by STH team member Mahesh C. He is currently working as Senior Quality Assurance Manager having experience of leading testing front for multiple complex products and components.

Thank you for reading. Will love to hear from you.



22 comments ↓

#1 naga sekhar

Explained it is in genuine and open straight way to the Testers,
But every manual tester should have any other expertise lie automation/API testing or other ETL testing along with technical knowledge(LINUX/ XML configuration testing). I just give sample as per my knowledge.

#2 Deepak Gupta

Thanks Vijay!
I agree with Naga Sekhar that one technical knowledge should be here along with manual function testing.
But expecting a blog of steps for manual tester to learn Automation without any knowledge of any language.

#3 Devasis

very nice useful article mahesh

#4 roger richardson

As a manual tester in the age of automation I’m hitting a brick wall in the work search. Automation has it’s place but it only looks where you tell it. If I’m doing a functional test opening a screen and half the screen turns blue or audio starts screeching I know it’s an issue. If the automation is looking for the page to come up without looking for these other issues it would pas.
I’m an old hand tester having been in the industry since 1990.

#5 pallavi

Yes I think that,as we came to know actual defects with ui

#6 Test

You are not a manual tester, unless you are testing manuals. You are a tester. You DO use tools. You may not be writing automated checks.- Micheal bolton

#7 Mahesh Chikane

Yes @Deepak,Technical knowledge always helps.

#8 Mahesh Chikane

Thank you @Devasis.

#9 Mahesh Chikane

Hello @Roger, first of all respect to your so many years of service to community. Wish you luck. Agree with what you said.

#10 sudhakar J

Nice way to put or describe the importance of Manual Testing. I have about 15 years of experience in Testing both manual and automation. I can strongly say from my heart, I always found complex (high priority) bugs using manual testing. Automation testing will help to save your schedule by burning the normal test cases quickly, so the remaining time can spend on finding quality bugs by applying all the qualities mentioned here. This is what I’m doing in all these years in industry and it earned me lot of respect from others and quick identification for me whichever project I land. So I will again re-iterate there is no replacement for manual testing (fully? even after robots come to testing in near future) and the complexity bugs (I mean which will really come after product or application is launched for end users) will be found only by applying above mentioned qualities “curiosity, attention to details, discipline, logical thinking, passion for work and ability to dissect things”

#11 KangKong

Thanks! This one’s a good read! Manual testing requires us to be creative in creating test cases to make sure we cover as much scenarios as possible. It also allows us to better understand the application, software, API, or feature and enhance our technical skills as well. Automation on the other hand is equally important to save us time doing manual and repetitive tests.

Although automation is the current trend, it can never replace manual testing.

#12 Gaurav Khurana

Thanks for sharing your view. Last 3-4 paragraphs are really very interesting.

But these days most of the companies have jobs more and more in automation testing even if we know most of the work is done manually in most of the companies.

#13 Mahesh Chikane

Thanks @Sudhakar. And yes I agree that both Human Testing and Automation will co exist always.

#14 Mahesh Chikane

Rightly said @Kangkong, and Thanks.

#15 Priti visaji

Great article.Especially the Qualities of highly effective testers para.. was amazing.

#16 sahi kumar

Thanks to share your experience Sir.

#17 arijit jindal

Thanks a lot.The article was very helpful to understand the basics of testing.

#18 SUNITA RAI

I WANT TO STUDY SOFTWARE TESTING, CAN YOU SUGGEST FEW GOOD INSTITUTE?

#19 Vijay

http://softwaretestinghelp.org/

#20 Alex

“Automated testing” is usually just a bunch of scripts running continuously doing regression checks.

It’s not like replacing manual labour in manufacturing, where the term “automation” probably comes from.

You really haven’t automated anything. But it’s understandable why sales agents likes the term.

#21 SURAJ

Yes I think that,as we came to know actual defects with ui

#22 yesh p

I need some guidance on this course. Actually I am design engineer with 8 yrs of experience in machine design and after that 5 yrs of break. Can I join this course and change my field?

Leave a Comment