MANUAL TESTING A-B-C

“Want to boost your knowledge about Manual Testing? Here are the key points that are sure to help.!”

Let’s start with the definition of Manual Testing:

  • It’s the testing of the functionalities of an application repeatedly again and again MANUALLY in order to find defects to ultimately meet the customer’s requirement.

POINT TO NOTE: In the above definition, we came across two terminologies that form the base of Manual Testing, Functionality & Requirement. Let us understand both terms:-

  • Functionality: It tells how the application is actually working?
  • Requirements: It tells how the application should ideally work?

ADVANTAGES:

  • It is very useful for those applications whose GUI changes constantly.
  • It can be used for testing both small and big projects.
  • It is comparatively easier to learn for a Fresher who has just entered into the QA world.
  • It is economical ie, covered in limited cost.

DISADVANTAGES:

  • It is time-consuming.
  • The scope of Manual Testing test cases is very limited.
  • It’s not completely reliable as the QA team or Testers may make mistakes.
  • It requires more resources.

Types of Manual Testing with Real-Time Usage:

1. Regression Testing

  • Regression testing is the process of testing the changes in the Application to make sure that the existing application still works with the new changes.
  • It is recommended before every release.
  • For Example:- Suppose Application A is a database management tool having three basic functions – Add, Save & Delete. In a new build, an ‘Update’ feature has been added. During regression testing, a QA specialist will have to determine if the addition of the ‘Update’ feature didn’t impact the way ‘Add’, ‘Save’, and ‘Delete’ buttons work.
  • Effective Regression Tests can be done by selecting the following test cases :
  1. Test cases which have frequent defects
  2. Test cases that have critical functionalities.

2. Smoke Testing

  • Testing the basic and critical features of an application before doing thorough & rigorous testing is called Smoke testing.
  • Smoke testing and Regression testing are related and similar, The only difference is the in-depth scope and duration of running the tests.
  • Smoke tests are run typically after every build.
  • For Example: – Suppose a New registration button is added in the login tab and the build is deployed with the new code. Then Smoke Testing is performed on a new build.
  • The most critical tests are added to the smoke test suite
  • Smoke testing is known by the various names which are as follows:-
  1. Build Verification Testing
  2. Confident Testing
  3. Dry Run Testing
  4. Skim Testing
  5. Health Check of the Product
  6. Positive Testing

3. Reliability & Recovery Testing

  • Testing the functionalities of a Software continuously for a particular period of time is known as Reliability Testing.
  • If a software application is operating in a failure-free manner for a given period of time in a specified environment then it is called Reliable Software.
  • Testing the application to check how well the application recovers from disasters or crashes is known as Recovery Testing.
  • For Example:– Sometimes when our laptop gets switched off due to a power cut or any other reason then Chrome asks to restore previous tabs.

4. Integration Testing

  • Integration Testing is defined as a type of testing where software modules are integrated logically and tested as a group.
  • In this type of testing, modules are dependent on each other.
  • For Example:– In any module, if a mail would be sent and it will reflect in another module then Integration testing has to be done for both the modules.
  • There are two subcategories of Integration Testing which are as follows:

Incremental Integration Testing (IIT):

  • In IIT, modules are incrementally added & data flow between the modules is tested.

Non-Incremental Integration Testing(NIT):

  • It is also called as Big Bang Method.
  • Basically in NIT, all the modules are added in a shot & then the functionalities of the software are tested

DRAWBACKS:

  • Testers might end up testing the same module again & again.
  • In NIT, it is difficult to find the root cause of any defect.

5. System Testing

  • System Testing is a level of software testing where a complete and integrated software is tested.
  • The purpose of this test is to evaluate the system’s compliance with the specified requirements.
  • It is an end-to-end testing where the testing server is similar to the production server.
  • For Example: If the Production Server is using 10000 data then the testing server should also have 1000 data.

6. Exploratory Testing :

  • Exploratory Testing is an unscripted QA testing technique used to discover unknown issues during and after the software development process.
  • Automation testing has few limits and this Exploratory testing is essential to deliver a product with bug-free confidence.
  • It requires very little Test planning. QA Specialist continuously makes a decision on his/her next step of action. 
  • It completely depends upon the tester’s thought process.

7. User Acceptance Testing(UAT):

  • This is typically the last step before the product goes live or before the delivery of the product is accepted.
  • UAT is done after the product itself is thoroughly tested.
  • It is also known as FAT(Final Acceptance Testing) or RBT(Red Box Testing).

8. Load Testing:

  • Load Testing is done to study the behaviour of the application under various loads.
  • For Example:- Testing a mail server with thousands of concurrent users.
  • Here, the main parameter to focus on is Response Time.
  • This study reveals how many concurrent users can be handled effectively and quickly by the Server.

9. Stress Testing:

  • Stress Testing helps to observe the stability of the application.
  • The main intention of the Stress Testing is to identify the breaking point of the server.
  • For Example:- Flooding a web application with data, connections, and so on until it finally crashes. The consequences of the crash, what else fails, what data are corrupted, and so forth, are the results of interest for the QA team.

10. Web Security Testing:

  • Web Security Testing is the testing of authentication of software to check how secure the software is from unauthorized users or hackers.
  • For Example:– When a website is left idle for 5 minutes, it should ideally go back to the Login page.
  • It is also known as Penetration Testing or Fuzzy Testing.

Black Box Testing & White Box Testing:

Black Box Testing

  • It is a testing method without having knowledge about the actual code or internal structure of the application.
  • It includes all the types of testing that we have discussed above like, Integration Testing, Smoke Testing, Regression Testing, etc.
  • It is done by the QA Team.

White Box Testing

  • It is a testing method having knowledge about the actual code and internal structure of the application.
  • It is performed at a lower level such as Unit Testing.
  • It is done by the Developers.

Did you find this article helpful? If yes, then stay connected.!! Many more to come!