All Types of Testing:

 


Q.  What is a top-down and bottom-up approach in testing?

Top-Down – Testing happens from top to bottom. That is, high-level modules are tested first and after that low-level modules. Lastly, the low-level modules are incorporated into a high-level state to guarantee the framework is working as it is expected to.

Bottom-Up – Testing happens from base levels to high-up levels. The lowest level modules are tested first and afterward high-level state modules. Lastly, the high-level state modules are coordinated to a low level to guarantee the framework is filling in as it has been proposed to

 Q. What is Acceptance Testing?

It is also known as pre-production testing.  This is done by the end-users along with the testers to validate the functionality of the application. After successful acceptance testing. Formal testing conducted to determine whether an application is developed as per the requirement. It allows the customer to accept or reject the application. Types of acceptance testing are Alpha, Beta & Gamma.

Q.  On what basis is the acceptance plan prepared?

The acceptance test plan is prepared using the following inputs.

  • Requirement Document: The requirement document specifies what exactly is needed and not needed in the existing project from the customer’s perspective.
  • Input from customer: Input from the customer will be in the format of formal emails, informal talks, discussions, etc.,
  • Project plan: Project plan document prepared by the project manager.

All the above three inputs act as good inputs to prepare the acceptance test plan.

Q.  What is Alpha Testing?

Alpha testing is done by the in-house developers (who developed the software) and testers. Sometimes alpha testing is done by the client or outsourcing team with the presence of developers or testers.


Q.  What is Beta Testing?

Beta testing is done by a limited number of end-users before delivery. Usually, it is done in the client’s place.

Q.  What is Gamma Testing?

Gamma testing is done when the software is ready for release with specified requirements. It is done at the client place. It is done directly by skipping all the in-house testing activities.

Q.  What is Smoke Testing?

Smoke Testing is done to make sure if the build we received from the development team is testable or not. It is also called as “Day 0” check. It is done at the “build level”. It helps not to waste the testing time to simply testing the whole application when the key features don’t work or the key bugs have not been fixed yet.

Q.  What is Sanity Testing?

Sanity Testing is done during the release phase to check for the main functionalities of the application without going deeper. It is also called as a subset of Regression testing. It is done at the “release level”. At times due to release time constraints rigorous regression testing can’t be done to the build, sanity testing does that part by checking main functionalities.

 


Q.  What is the difference between Sanity and Smoke Testing?

Sanity vs Smoke Testing

SMOKE TESTING

SANITY TESTING

Smoke Test is done to make sure if the build we received from the development team is testable or not

Sanity Test is done during the release phase to check for the main functionalities of the application without going deeper

Smoke Testing is performed by both Developers and Testers

Sanity Testing is performed by Testers alone

Smoke Testing exercises the entire application from end to end

Sanity Testing exercises only the particular component of the entire application

Smoke Testing, build may be either stable or unstable

Sanity Testing, build is relatively stable

It is done on initial builds.

It is done on stable builds.

It is a part of basic testing.

It is a part of regression testing.

Usually it is done every time there is a new build release.

It is planned when there is no enough time to do in-depth testing.



Q.  What is Retesting?

To ensure that the defects which were found and posted in the earlier build were fixed or not in the current build. Say, Build 1.0 was released. Test team found some defects (Defect Id 1.0.1, 1.0.2) and posted. Build 1.1 was released, now testing the defects 1.0.1 and 1.0.2 in this build is retesting.

Q.  What is Regression Testing?

Repeated testing of an already tested program, after modification, to discover any defects introduced or uncovered as a result of the changes in the software being tested or in another related or unrelated software components.

Usually, we do regression testing in the following cases:

1.    New functionalities are added to the application

2.    Change Requirement (In organizations, we call it as CR)

3.    Defect Fixing

4.    Performance Issue Fix

5.    Environment change (E.g., Updating the DB from MySQL to Oracle)

 

Q.  What do you mean by regression and confirmation testing?

Regression Testing: Testing team re-execute the tests against the modified application to make sure whether the modified code breaks anything which was working earlier.

Confirmation Testing: Usually testers report a bug when a test fails. Dev Team releases a new version of the software after the defect is fixed. Now the testing team will retest to make sure the reported bug is actually fixed or not. 


Q.  What is Recovery Testing?

Recovery testing is performed in order to determine how quickly the system can recover after the system crash or hardware failure. It comes under the type of non-functional testing.

Q.  What is Globalization Testing?

Globalization is a process of designing a software application so that it can be adapted to various languages and regions without any changes.

Q.  What is Localization Testing (L10N Testing)?

Localization is a process of adapting globalization software for a specific region or language by adding local specific components.

Q.  What is Installation Testing?

It is to check whether the application is successfully installed and it is working as expected after installation.

Q.  What is Formal Testing?

It is a process where the testers test the application by having pre-planned procedures and proper documentation.

Q.  What is Risk Based Testing?

Identify the modules or functionalities which are most likely cause failures and then testing those functionalities.

Q.  What is Compatibility Testing?

It is to deploy and check whether the application is working as expected in a different combination of environmental components.

Q.  What is Exploratory Testing?

Usually, this process will be carried out by domain experts. They perform testing just by exploring the functionalities of the application without having the knowledge of the requirements.

Q.  What is Monkey Testing?

Perform abnormal action on the application deliberately in order to verify the stability of the application.

Q.  What is Usability Testing?

To verify whether the application is user-friendly or not and was comfortably used by an end user or not. The main focus in this testing is to check whether the end user can understand and operate the application easily or not. An application should be self-exploratory and must not require training to operate it.

Q.  What is Security Testing?

Security testing is a process to determine whether the system protects data and maintains functionality as intended.

Q.  What is Soak Testing?

Running a system at high load for a prolonged period of time to identify the performance problems is called Soak Testing.

Q.  What is Endurance Testing?

Endurance testing is a non-functional testing type. It is also known as Soak Testing. 

Q.  What is Performance Testing?

This type of testing determines or validates the speed, scalability, and/or stability characteristics of the system or application under test. Performance is concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives for the project or product.

Q.  What is Load Testing?

It is to verify that the system/application can handle the expected number of transactions and to verify the system/application behavior under both normal and peak load conditions.

Q.  What is Volume Testing?

It is to verify that the system/application can handle a large amount of data

 

Q.  What is Stress Testing?

It is to verify the behavior of the system once the load increases more than its design expectations.

Q.  What is Scalability Testing?

Scalability testing is a type of non-functional testing. It is to determine how the application under test scales with increasing workload.

Q.  What is Concurrency Testing?

Concurrency testing means accessing the application at the same time by multiple users to ensure the stability of the system. This is mainly used to identify deadlock issues.

Q.  What is Fuzz Testing?

Fuzz testing is used to identify coding errors and security loopholes in an application. By inputting a massive amount of random data to the system in an attempt to make it crash to identify if anything breaks in the application.

Q.  What is Adhoc Testing?

Ad-hoc testing is quite opposite to the formal testing. It is an informal testing type. In Adhoc testing, testers randomly test the application without following any documents and test design techniques. This testing is primarily performed if the knowledge of testers in the application under test is very high. Testers randomly test the application without any test cases or any business requirement document.

Q.  What is Interface Testing?

Interface testing is performed to evaluate whether two intended modules pass data and communicate correctly to one another.

Q.  What is Reliability Testing?

Perform testing on the application continuously for long period of time in order to verify the stability of the application

Q.  What is Bucket Testing?

Bucket testing is a method to compare two versions of an application against each other to determine which one performs better.

Q.  What are the principles of Software Testing?

1.    Testing shows presence of defects

2.    Exhaustive testing is impossible

3.    Early testing

4.    Defect clustering

5.    Pesticide Paradox

6.    Testing is context depending

7.    Absence of error fallacy

 

Q. What is Exhaustive Testing?

Testing all the functionalities using all valid and invalid inputs and preconditions is known as Exhaustive testing.

Q. What is Early Testing?

Defects detected in early phases of SDLC are less expensive to fix. So conducting early testing reduces the cost of fixing defects.

Q. What is Defect clustering?

Defect clustering in software testing means that a small module or functionality contains most of the bugs or it has the most operational failures.

Q.  What is Pesticide Paradox?

Pesticide Paradox in software testing is the process of repeating the same test cases, again and again, eventually, the same test cases will no longer find new bugs. So to overcome this Pesticide Paradox, it is necessary to review the test cases regularly and add or update them to find more defects.

 Q.  What is Bug Severity and is Bug Priority?

Bug/Defect severity can be defined as the impact of the bug on customer’s business. It can be Critical, Major or Minor. In simple words, how much effect will be there on the system because of a particular defect? 

                             Defect priority can be defined as how soon the defect should be fixed. It gives the order in which a defect should be resolved. Developers decide which defect they should take up next based on the priority. It can be High, Medium or Low. Most of the times the priority status is set based on the customer requirement

For example:

High Priority & High Severity: Submit button is not working on a login page and customers are unable to login to the application.

Low Priority & High Severity: Crash in some functionality which is going to deliver after couple of releases

High Priority & Low Severity: Spelling mistake of a company name on the homepage

 

Low Priority & Low Severity: FAQ page takes a long time to load

 

Q.  What is a Critical Bug?

A critical bug is a show stopper which means a large piece of functionality or major system component is completely broken and there is no workaround to move further.
For example, Due to a bug in one module, we cannot test the other modules because that blocker bug has blocked other modules. Bugs which affects the customers’ business are considered as critical.

Example:

1. “Sign In” button is not working on Facebook App and Facebook users are blocked to login to their accounts.
2. An error message pops up when a customer clicks on transfer money button in a Banking website.

Comments