
Black box testing
Functional testing aims to test specific functions or features of the AUT. It is concerned with validating the most critical aspects of the system (smoke testing or sanity testing), integration between key components (integration testing), and the system in general (system testing).
Non-functional testing is focused on checking non-functional aspects of the AUT that aren’t critical to functionality but contribute to the end user experience. These parameters can include, among other things, reliability, scalability, performance, security, etc.
Regression testing is carried out after an upgrade or a new release to make sure that new changes or tweaks have not deteriorated the system’s functionality or non-functional aspects.
White box testing
Unit testing is the first level of software testing and it aims to check that individual components, or units, operate as intended. This helps detect flaws in code early on and make debugging much easier and less expensive.
Integration testing that takes place after unit testing is focused on combining different modules or components and testing them as a group. The purpose is to detect any errors in the interaction of interfaces and to validate that the behavior of a combined unit is as intended.
Static code analysis , also known as structural analysis, involves meticulous reviewing of the static elements in the code without executing it.
Dynamic code analysis , as the name suggests, involves running the code and analyzing the application during its execution. It complements static analysis and helps identify issues that can impact the system’s performance or reliability.
Mutation testing is a type of white box testing where errors, or mutations, are deliberately introduced into the code and test cases are performed to see if they detect the error or not.
+48 22 104 20 98