En psychologie, Gordon Allport a identifié trois types de traits de personnalité : les traits cardinaux, les traits centraux et les traits secondaires. Alors que la théorie d'Allport fournit un cadre ouvert pour la psychanalyse, d'autres chercheurs, tels que Raymond Cattell et Hans Eysenck, a divisé les traits en opposés objectifs plus facilement mesurés dans des tests objectifs comme le Myers-Briggs.
La théorie des traits d'Allport traitait spécifiquement des motifs conscients et des modèles facilement observables, car il pensait qu'ils décrivaient une personnalité mieux que des motifs inconscients. Les traits cardinaux sont ceux qui déterminent la direction que prend la vie d'une personne et incluent des choses telles que la recherche de la vérité, la foi religieuse ou la soif de connaissance. Les traits centraux déterminent les interactions typiques et incluent des traits tels que la timidité, l'anxiété ou l'honnêteté. Les traits secondaires sont ceux qui apparaissent généralement dans des circonstances spécifiques, tels que les préjugés contre les groupes, l'anxiété de parler en public et l'impatience au volant.
Cattell et Eysenck ont préféré des méthodes plus objectives pour mesurer la personnalité. Cattell a utilisé l'analyse factorielle statistique pour regrouper plus de 17 000 mots utilisés pour définir les personnalités et les a organisés en 16 paires de traits opposés, tels que méfiant contre confiance, pratique contre imaginatif et conservateur contre expérimentation. Eysenck a décrit les types de personnalité plutôt que les traits, organisant les traits en trois groupes de traits opposés : extraversion/introversion, névrosisme/stabilité émotionnelle et psychotisme/contrôle des impulsions. D'autres chercheurs ont élargi ces types en cinq groupes : extraversion/introversion, agrément/antagonisme, conscience/absence de direction, stabilité/instabilité et ouverture à l'expérience/conformité. Ces cinq groupes suivent de très près l'indicateur de type Myers-Briggs, la paire stabilité/instabilité étant le seul type laissé de côté.