Testing methods


1. Testing methods:
There are two main testing methods: Static Testing and Dynamic Testing

1.1 Static testing – Static testing
A method of software testing that requires manual review of requirements and specifications, using pen and paper to check logic, detailing, without running the program. This type of testing is often used by designers who write code alone.
Static testing can also be automated. It will perform a full check including programs parsed by an interpreter or compiler that validates the program’s syntax.

1.2 Dynamic testing
It is a method of testing software by using the machine running the program to investigate the operating status of the program. It is testing based on test cases defined by the execution of test objects or running programs. Dynamic testing tests how the code works, i.e. the physical response from the system to variables that change over time. In dynamic testing, the software must actually be compiled and run.

Dynamic testing actually involves working with the software, entering input values ​​and checking if the output is as expected. Dynamic testing methods include Unit tests – Unit Tests, Integration Tests – Integration Tests, System Tests – System Tests, and Acceptance Tests.

Three of the most commonly used testing strategies include: Black Box Testing, White Box Testing, and Gray Box Testing.

2.1 Black box testing – BLACK BOX TESTING
One of the important testing strategies is black box, data driven or IN/OUT oriented testing.
Black box testing methods:
• Equivalence classification – EQUIVALENCE PARTITIONING.

• Marginal Value Analysis – BOUNDARY VALUE ANALYSIS.

• Test every pair – ALL-PAIRS TESTING.

• Fuzz testing – FUZZ TESTING.

• Model-based testing – MODEL-BASED TESTING.


• Exploratory testing – EXPLORATORY TESTING.

• Specification-based testing – SPECIFICATION-BASE TESTING

2.2 White box testing
White box testing methods
• API testing (application programming interface): is the testing method of an application using public and private APIs.

• Code coverage – Code coverage: creates tests to meet certain code coverage standards.

• Fault injection methods.

• Mutation testing methods.

• Static testing – Static testing: white box testing includes all static tests.

2.3 Gray box testing
Gray box testing requires access to data structures and internal algorithms for test case design purposes, but is testing at the user or black box level. The manipulation of the input data and the format of the output data is not obvious, like a “gray box”, because the input and output are clearly outside the “black box” that we are used to. call to the system under test. This distinction is especially important when managing integration tests - Intergartion testing between two modules of code written by two different designers, where only the interface is exposed for testing. Gray box testing may also include counter design to determine, for example, boundary values ​​or error messages.

Hope that it’s helpful!