Quelles sont les différentes significations de «fixture»?

19

J'ai du mal à comprendre le concept de "fixture". Je sais ce qu'est une suite de tests, un cas de test, une exécution de test, mais qu'est-ce qu'un "appareil" exactement? Un cas de test paramétré?

Il me semble que le sens ou la sémantique du terme "fixture" peut varier légèrement selon le langage de programmation ou le framework de test? Je pense qu'un appareil phpunit

" le code pour mettre le monde dans un état connu, puis le remettre dans son état d'origine lorsque le test est terminé. Cet état connu est appelé le montage du test. "

est légèrement différent d'un " appareil de fitnesse ", où

"Les appareils sont un pont entre les pages Wiki et le système sous test (SUT), qui est le système réel à tester ".

Y a-t-il un expert en tests de logiciels ici qui peut répondre à cette question? Les références à d'autres langages de programmation sont les bienvenues.

knb
la source
1
@chris (et knb) s'il vous plaît mettre des réponses comme réponses, pas des modifications à la question.
heureux que vous ayez posé la question, j'ai presque posé la même question :)
Adi Prasetyo

Réponses:

19

Dans le contexte des outils de test que vous avez mentionnés, tels que PHPUnit et Fitnesse , ce terme fait définitivement référence à la notion de dispositif de test :

quelque chose utilisé pour tester régulièrement un élément, un appareil ou un logiciel ...

Logiciel

Le dispositif de test fait référence à l'état fixe utilisé comme base de référence pour l'exécution de tests dans les tests de logiciels . Le but d'un dispositif de test est de garantir qu'il existe un environnement bien connu et fixe dans lequel les tests sont exécutés afin que les résultats soient reproductibles. Certaines personnes appellent cela le contexte du test .

Exemples de luminaires:

  • Chargement d'une base de données avec un ensemble de données spécifique et connu
  • Effacement d'un disque dur et installation d'une installation connue de système d'exploitation propre
  • Copie d'un ensemble spécifique de fichiers connus
  • Préparation des données d'entrée et mise en place / création d' objets faux ou fictifs ...

Utilisation de luminaires

Certains avantages des luminaires incluent la séparation de l'initialisation (et de la destruction) du test du test, la réutilisation d'un état connu pour plus d'un test, et l'hypothèse spéciale du cadre de test que le montage du luminaire fonctionne ...

moucheron
la source
2
pour résumer, un luminaire est un objet avec un état connu que les tests (ou quoi que ce soit) peut effectuer et avoir des résultats attendus.
dave thieben
donc je dirais qu'un montage est une sorte d'abstraction d'une suite de tests. Peut-être que j'étais confus parce que parfois les gens utilisent de manière synonyme: le terme fixture (l'abstraction ou l'objet avec état au début du test) et la configuration de fixture (la configuration enregistrée pour être traitée par les méthodes setup ()).
knb
@davethieben Faut-il que ce soit un objet? - Je ne pense pas, bien que ce soit souvent le cas.
Sebastian Nielsen Il y a
4

En dehors du contexte de test, le terme fixture est parfois utilisé pour décrire les données initiales en stockage (comme les données initiales dans une base de données) lors du premier déploiement d'une application.

Pavels
la source