A Complete List of 100+ Manual Testing Tutorials:
This is going to be the most in-depth series of tutorials on Manual Software Testing. Go through the topics mentioned in this series carefully to learn the basic and advanced testing techniques.
This series of tutorials would really enrich your knowledge and will, in turn, mold your testing skills in a much better way.
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
Test Case 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
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
Tutorial #1: Unit Testing
Tutorial #2: Sanity and Smoke Testing
Tutorial #3: Regression Testing
Tutorial #4: System Testing
Tutorial #5: Acceptance Testing
Tutorial #6: Integration Testing
Tutorial #7: UAT User Acceptance 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: Alpha Testing
Tutorial #11: Beta Testing
Tutorial #12: Alpha vs Beta Testing
Tutorial #13: Gamma Testing
Tutorial #14: ERP Testing
Tutorial #15: Static and Dynamic Testing
Tutorial #16: Adhoc testing
Tutorial #17: Localization and Internationalization Testing
Tutorial #18: Automation Testing
Tutorial #19: 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
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:
Advanced Manual Testing Topics:
Get ready to take a look at the 1st tutorial in this Manual Testing series !!!
What You Will Learn:
Tutorial #1: Basics of Manual Testing
Are you new to Software Testing field? or Do you have loads of hidden queries within you on Manual Testing? Looking for a someone who would resolve all your queries? You are at the right place now!!
Well, what does the word ‘Manual Testing' tell you? Any testing which you do manually right? Let 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 is what we are going to talk about in this series – ‘Manual Functional Testing‘ or say Manual Testing as you can better relate to this term.
You must be wondering why STH and I want to revisit this basic topic of Software Testing as there might be many articles already floating in the internet space.
The reason is quite simple – This topic deserves much more than what we all have actually 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 a Manual Tester, but we all know that majority of us started there and a majority of our future testers will probably start from there.
Hence, it is very important for us as existing Testers, to understand the concept perfectly in order to educate our future testers. It is even more important for people who are looking forward to choosing Testing as their career.
According to me clear understanding, execution, and experience of manual Software testing will play a vital role in your overall career if you are starting your journey with it.
I can take you through this topic will technical terms and definitions, but I guess that won't keep it so easy to understand and relate to entry level testers, who are a novice.
Hence, I will explain it in my own way and try to keep this series of Manual testing tutorials as simple as possible for your easy understanding!!
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 the expected behavior (Requirement).
And how will you know what is the expected behavior? You will know it by reading or listening to the requirement carefully and understanding it fully. Remember, understanding the requirement completely is very very important.
Think 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 the system behavior against what is written or told but also against your own understanding and against things which are not written or told.
At times, it can be a missed requirement (incomplete requirement) or implicit requirement (something which doesn't need separate mention but should be meet), and you test for this too.
To add on further, a requirement that we talked about need not necessarily be a documented one. You can very well have knowledge of the software functionality or you can even guess and then test one step at a time. We generally call it as ad-hoc testing or exploratory testing (totally different topic to talk on).
Let’s have an In-Depth Look
First of all, let's understand a fact- If you compare testing a software versus testing something else (vehicle let's say), then the concept (as stated above) remains the same. Approach, tools, priorities might differ, but the core remains the ONE and its SIMPLE i.e. comparing the actual behavior with the expected behavior (I mean understand the expected behavior as explained in the above paragraph).
The second thing may be the best or worst part- Testing skill is something which should come from within. It can be learned, but it will be successful only when you have few qualities within you by default. 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'm not sure if you have those required qualities within you. You got to figure it out. I will try to help you out in this. I highly recommend you to go through this before continuing with the tutorial. It will, in turn, help you to compare your qualities against the ones that are expected in the Software Tester's role.
Read it here => Qualities of Highly Effective Testers
If you don't have much time, then read this.
“Your curiosity, attentiveness, discipline, logical thinking, passion for work and ability to dissect things matters a lot to be a Destructive and Successful Tester. It worked for me and I strongly believe that it will work for You as well. If you have these qualities already, then indeed it got to work for you too.”
We have talked about the core and pre-requisites of becoming a software tester. Now let's understand why it has and would always have its independent existence with or without Automation testing growth.
Need for Manual Software Testing
Do You know what is the best and richest part of being a Tester, that too 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 the 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 that you would have gone through the article that I recommended in the previous section (i.e the qualities of highly effective testers). If yes, then it will give you much clarity on how testing is considered as a thought process and how successful you will be as a tester completely depends on the qualities that you possess 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). Then Your observation skills and discipline to perform things comes into the picture here.
- Voila! What was that? You noticed something. You noticed it because you were giving perfect attention to the 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. But 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 the 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.
- Oops! 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 & scenarios and indeed you will be tempted to perform them as well.
The Diagram given below represents the Life of a Tester:
Read those four bullet points mentioned above once again. Did you notice that I kept it very short but still highlighted the richest part of being a manual tester? And did you noticed the bold highlighting over few words? Those are precisely the most important qualities that a manual tester needs.
Now, do you really think that these acts can be completely replaced by anything else? And the hot trend today, 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 i.e. executing the test cases written manually.
Here, you not only focus on executing the 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 indeed do what you imagined.
The image given below depicts how Test Case writing is simplified:
I am filling up a form, and I'm 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.
Oops, 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.
Did you notice? 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 the application. These will be test cases for bugs that 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 the same, similar to but not limited to the Example process we saw above.
At least as of today, there is no software that will think like a human mind, observe like a human eye, ask questions and answer like a human and then perform intended and non-intended actions. Even if such thing happen (can’t imagine), whose mind, thoughts and eye will it mimic? Yours or mine? We, humans, are also not the same right. We all are different. Then?
Need for Manual Testing when Automation is Around
First thing is always first, Automation Testing has its own share of glory these days and will have even more in the upcoming 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 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 the runtime judgments about everything that happens 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, and all this at runtime 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 that 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 is that the world is scary for sure. Age of Transformers. :)
How Automation Compliments Manual Testing?
I said before and I'm 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 should still be done manually.
It is becoming extremely important to have very precise tests/checks written so that they can be automated without any deviation to the original expectation and can be used while regressing the product as a part of ‘Continuous Testing’.
Note: The word continuous from the term ‘Continuous Testing’ is subjected to conditional and logical calls similar to the other terms that 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 this, 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 the 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.
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 check where login is a 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 the defect can be resolved faster.
Next thing is again something that 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 that you should try to automate all your Priority 1 test cases and if possible then Priority 2.
Automation is not a very easy and fast action, so it is advised to avoid automating low priority cases at least till the time you are done with the high ones. Selecting what to automate and focusing on it benefits well to the application quality when used and maintained continuously.
I hope by now you must have understood why and how badly manual/human testing is required to deliver Quality Products and how Automation compliments it.
I will be more than happy if I was able to take you with me to 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 our upcoming 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 as well.
Hope you enjoyed this excellent tutorial. I'm sure that you will gain immense knowledge on Manual Software Testing once you go through the entire list of tutorials in this series.
We would love to hear from you. Feel free to express your thoughts/suggestions in the comments section below.