Il est fréquent de faire la distinction entre les techniques de tests boîte blanche et les techniques de tests boîte noire.

Les techniques de conception boîte noire (aussi appelées techniques basées sur les spécifications) sont une façon de dériver et de sélectionner les conditions de tests, les cas de test ou les données de test en se basant sur une analyse de la documentation de la base des tests. Ceci inclut les tests fonctionnels et non fonctionnels. Le test boîte noire, par définition, n‟utilise aucune information concernant la structure interne d‟un composant ou système à tester.

Plusieurs catégories de techniques de conceptions de boite noire sont possibles :
- Partitions d‟équivalence
- Analyse des valeurs limites
- Tests par tables de décisions
- Test de transition d‟états
- Tests de cas d‟utilisation

Les techniques de conception boîte blanche (aussi dites techniques structurelles ou basées sur les structures) sont basées sur une analyse de la structure internes du composant ou du système.

Les techniques structurelles sont utilisées de façon optimale après les techniques basées sur les spécifications, pour aider à mesurer l‟ampleur des tests via l‟évaluation de la couverture d‟un type de structure logicielle La couverture indique à quel point une structure a été testée par une suite de tests. Elle est exprimée en pourcentage d‟éléments couverts. Si la couverture n‟est pas de 100%, alors de nouveaux tests peuvent être conçus pour tester les éléments manquants et ainsi augmenter la couverture

Les tests basés sur la structure ou tests boîte blanche suivent la structure identifiée du logiciel ou du système, comme décrit dans les exemples suivants: - Niveau composant: la structure d‟un composant logiciel c‟est à dire instructions, décisions, branches ou même des chemins distincts - Niveau intégration: la structure peut être un arbre (ou graphe) d‟appel (un diagramme où des modules appellent d‟autres modules). - Niveau système: la structure peut être une structure de menus, des processus métier ou la structure d‟une page web.

L‟aide via des outils est utile pour le test structurel de code.