DEV Community

kalaiyarasi janakiraman
kalaiyarasi janakiraman

Posted on

MANUAL TESTING TECHNIQUES

Testing Techniques

Black Box Testing

Tester Knowledge-In Black Box Testing tester does not know the internal workings, including source code and architecture. Focuses on inputs and outputs.
Test Coverage-Limited coverage, based on expected behaviour and requirements, without internal knowledge.

Tester Role-Acts as an end user, focusing on functionality without knowledge of internal workings.
Test Case Input Size-Largest, as it needs to cover broad user interactions and scenarios.
Finding Hidden Errors-Difficult to detect, as it focuses only on outputs.
Other Names -Functional testing, data-driven testing, closed box testing.

White Box Testing
Tester Knowledge-In White Box Testing tester has full knowledge of internal workings, including source code and architecture.
Test Coverage-Full coverage, as the tester has access to the source code and can test all code paths.
Tester Role-Acts like a developer, focusing on internal logic, structure, and code.
Test Case Input Size-Smaller compared to a black box, as it focuses on specific code paths.
Finding Hidden Errors-Easier due to full access to internal code and logic.
Other Names -Structural testing, clear box testing, code-based testing, transparent testing.

Gray Box Testing
Tester Knowledge-In Gray Box Testing tester has partial knowledge, such as access to design documents but not the source code.
Test Coverage-Moderate coverage, with focus on areas where some knowledge is available.
Tester Role-Partially a developer and user, focusing on the expected behaviour with some internal knowledge.
Test Case Input Size-Smaller than both the black and white box, focused on available knowledge areas.
Finding Hidden Errors-Challenging, may find some hidden errors that are visible at the user level.
Other Names -Translucent testing.

When creating black box test cases, the input data used is critical. Successful techniques for managing the amount of input data required include:

EQUIVALENT PARTITIONING
An equivalence class is a subset of the data that is representative of a larger class. Equivalence partitioning is a technique for testing equivalence classes rather than undertaking exhaustive testing of each value of the larger class.

For example:
A program that edits credit limits within a given range ($10,000 - $15,000)would have three equivalence classes:
Less than $10,000 (Invalid)
Between $ 10,000 and $ 15,000 (Valid)
Greater than $ 15,000 (Invalid)

BOUNDARY VALUE ANALYSIS
A technique that consists of developing test cases and data that focus on the input and output boundaries of a given function. In the same credit limit example, boundary analysis would test:

Low boundary plus or minus one ( $ 9,999 and $ 10,001)
On the boundary ($ 10,000 and $ 15,000)
Upper boundary plus or minus one ($ 14,999 and $ 15,001)

ERROR GUESSING
Error Guessing is a popular testing technique, even if it is not an accurate approach. It makes testing work simpler and saves a lot of time. In this testing, it is essential to have skilled and experienced testers.

Example: In an example where one of the inputs is the date, a test engineer may try February 25, 2000 or 2.9.99

Advantages of the Error Guessing Technique:
•It is effective when used with other testing approaches.
•It is helpful to solve some complex and problematic areas of application.
•It figures out errors that may not be identified through other formal testing techniques.
•It helps in reducing testing times.

Disadvantages of the Error Guessing Technique:
•Only capable and skilled tests can perform.
•Dependent on the tester's experience and skills.
•Fails in providing a guarantee of the quality standard of the application.

Factors used in the Error Guessing Technique
1.Lessons learned from past releases.
2.Experience of testers.
3.Historical learning.
4.Test execution report.
5.Earlier defects.
6.Production tickets.
7.Previous test results.

STATE TRANSITION
We use this testing when the output of the system can change even when we give the same input. It means that the system can have different states despite the same inputs. State transition testing also helps the tester identify whether any state of the system is left uncovered or not in the test cases. Any such state can cause fatal issues for our product later on in production.

As an example:

consider that you withdraw $1000 from the ATM, and the cash comes out. Later you again try to withdraw $1000, but this time you are refused the money. So the input is the same in both cases ($1000), but the state has changed. After the first transaction, the account doesn't have enough money, so the state of account has changed

DECISION TABLE TESTING

A Decision Table is a tabular representation of inputs versus rules/cases/test conditions. It is a very effective tool used for both complex software testing and requirements management. A decision table helps to check all possible combinations of conditions for testing and testers can also identify missed conditions easily. The conditions are indicated as True(T) and False(F) values.

The condition is simple if the user provides the correct username and password the user will be redirected to the homepage. If any of the input is wrong, an error message will be displayed.

Conditions Rule 1 Rule 2 Rule 3 Rule 4
Username (T/F) F T F T
Password (T/F) F F T T
Output (E/H) E E E H

SCENARIOS:
•Case 1 – Username and password were both wrong. The user is shown an error message.
•Case 2 – Username was correct, but the password was wrong. The user is shown an error message.
•Case 3 – Username was wrong, but the password was correct. The user is shown an error message.
•Case 4 – Username and password both were correct, and the user navigated to the homepage

CONDITIONS:
•T – Correct username/password
•F – Wrong username/password
•E – Error message is displayed
•H – Home screen is displayed

Advantages of Decision Table Testing:

•When the system behaviour is different for different inputs and not the same for a range of inputs, both equivalent partitioning and boundary value analysis won’t help, but a decision table can be used.
•The representation is simple so that it can be easily interpreted and is used for development and business as well.
•This table will help to make effective combinations and ensure better coverage for testing
•Any complex business conditions can be easily turned into decision tables
•In a case where we are going for 100% coverage, typically when the input combinations are low, this technique can ensure the coverage.

Disadvantages of Decision Table Testing:

The main disadvantage is that when the number of inputs increases, the table will become more complex.

Top comments (0)