1. What is a Test Case?
A Test Case is a set of steps, test data, conditions and expected results used to check whether a particular functionality is working correctly or not.
Example: For a login page, enter a valid username and password and click Login. The expected result is that the user should successfully log in.
2. What is a Test Scenario?
A Test Scenario is a high-level functionality or condition that needs to be tested.
Example: "Verify Login Functionality" is a Test Scenario. Under this scenario, we can create multiple test cases like valid login, invalid password, empty username, empty password, etc.
3. What are Negative Test Cases?
Negative Test Cases are used to check how the application behaves when invalid or unexpected data is given.
Example: Entering an incorrect password or leaving the username field empty.
The application should not crash and should show the proper error message.
4. What are Positive Test Cases?
Positive Test Cases check whether the application works correctly with valid and expected input.
Example: Entering a valid username and password should allow the user to log in successfully.
5. Relationship Between Test Case and Test Scenario
A Test Scenario is a high-level requirement or functionality, while a Test Case contains detailed steps to test that scenario.
Example:
Test Scenario: Verify Login Functionality.
Test Cases:
- Login with valid username and password.
- Login with invalid password.
- Login with empty username.
- Login with empty password.
So, one Test Scenario can have multiple Test Cases.
6. What is Unit Testing?
Unit Testing is testing individual units or components of software separately.
Usually, developers perform Unit Testing.
Example: If there is a function that calculates the total price, we can test that function separately to check whether it returns the correct result.
7. What is Integration Testing?
Integration Testing is used to check whether two or more modules work correctly after they are combined.
It mainly focuses on the communication and data flow between different modules.
Example: Checking whether the Login module correctly communicates with the User Database.
8. Types of Integration Testing
The main types or approaches of Integration Testing are:
- Top-Down Integration Testing
- Bottom-Up Integration Testing
- Big Bang Integration Testing
- Sandwich or Hybrid Integration Testing
9. Difference Between Stub and Driver
A Stub is used in Top-Down Integration Testing. It acts as a temporary lower-level module when the actual lower-level module is not ready.
A Driver is used in Bottom-Up Integration Testing. It acts as a temporary higher-level module when the actual higher-level module is not ready.
The easy way to remember is:
Stub → Top Down
Driver → Bottom Up
10. Difference Between Error, Bug and Defect
An Error is a mistake made by a person while designing or developing the software.
A Bug is an incorrect behavior in the software caused by an error.
A Defect is a difference between the expected result and the actual result.
For example, if a developer writes "10 + 20" instead of "10 * 20", the developer's mistake is an Error and the incorrect behavior in the application can be called a Bug or Defect.
11. Difference Between Top-Down and Bottom-Up Testing
In Top-Down Integration Testing, testing starts from the high-level modules and moves towards the lower-level modules. Stubs are commonly used.
In Bottom-Up Integration Testing, testing starts from the low-level modules and moves towards the higher-level modules. Drivers are commonly used.
The simple way to remember:
Top-Down → High level to Low level → Stub
Bottom-Up → Low level to High level → Driver
12. Difference Between BRS, SRS and FRS
BRS – Business Requirement Specification
It describes what the business needs from the software.
SRS – Software Requirement Specification
It describes the complete requirements of the software.
FRS – Functional Requirement Specification
It describes how particular functions of the software should work.
For example, in an online shopping application:
BRS: Customer should be able to purchase products online.
SRS: The application should provide login, product search, cart, payment, order tracking, etc.
FRS: When the user clicks "Add to Cart", the selected product should be added to the cart.
13. Will Developers Do Testing?
Yes, developers also perform testing. Developers mainly perform Unit Testing, code-level testing, debugging and sometimes Integration Testing.
Testers or QA engineers generally perform different types of testing such as Functional Testing, System Testing, Regression Testing, Integration Testing and End-to-End Testing.
The responsibilities can be different depending on the company and development process.
14. What is a Test Bed?
A Test Bed is the complete environment and setup required to perform testing.
It can include hardware, software, operating system, browser, database, network, test data and testing tools.
For example, to test a web application, we may need a server, database, browser, operating system, network and test data.
So simply:
Test Bed = Everything required to execute the test.
15. Early Testing is Good. Justify.
Early Testing means starting testing activities as early as possible in the Software Development Life Cycle.
It is good because bugs can be found earlier and fixing them early is generally easier and cheaper.
It also helps to reduce development cost, improve software quality and prevent major problems at the later stages.
For example, if a requirement problem is found during the requirement phase, it is much easier to correct it than finding the same problem after the entire application has been developed.
This approach is also related to Shift-Left Testing, where testing is moved towards the earlier stages of development.
16. What are Cosmetic Bugs?
Cosmetic Bugs are defects that affect the appearance or presentation of an application but generally do not affect its main functionality.
Examples:
- Wrong font size
- Wrong font color
- Spelling mistake
- Incorrect spacing
- Misaligned button
- Missing icon
- UI alignment problem
For example, if the Login button is working correctly but it is slightly misaligned, it can be considered a cosmetic or UI defect.
17. What is End-to-End Testing / System Testing?
System Testing checks the complete integrated application against its requirements.
End-to-End Testing checks a complete business flow from beginning to end.
For example, in an online shopping application:
Login → Search Product → Add to Cart → Checkout → Payment → Order Confirmation
E2E Testing checks whether this complete flow works correctly.
System Testing and E2E Testing are related, but they are not exactly the same thing.
18. What is Cross-Functional Testing?
Cross-Functional Testing checks whether different functions or functional areas of an application work correctly together.
For example, in an online shopping application:
Login → Product Search → Cart → Payment → Order → Notification
Here, multiple functional areas are involved in a single business flow.
The main purpose is to make sure different functions work correctly when they interact with each other.
19. Test Case Preparation and Execution – When?
Test cases are generally prepared after understanding and analyzing the requirements and before the actual test execution.
The basic flow is:
Requirement Analysis → Test Planning → Test Case Preparation → Test Environment Setup → Test Execution
After the application build is available and the test environment is ready, the prepared test cases can be executed.
During execution, the tester compares the Actual Result with the Expected Result.
If both are the same, the test case is marked as Pass.
If they are different, the test case is marked as Fail, and a defect may be reported.
Top comments (0)