FAQ

Original: http://concordion.org/Questions.html

 

Concordion is a simple, but powerful, agile acceptance testing tool for Java.

Qui a développé le Concordion ?
Comment le Concordion est autorisée ?
Existe-t-il une liste de diffusion ?
Comment signaler les défauts ou soumettre des demandes d’améliorations ?
Où est le référentiel de code source ?
Comment collaborent-elles avec mise au point de Concordion ?
Y a-t-il des bons articles sur Concordion ?
Comment mode pour le test de sortie dans une forme présentable ?
Comment Concordion diffère-t-il du cadre Fit et FitNesse ?
Comment les Concordion diffère-t-il de sélénium ?
Quelle est la différence entre script et spécifiant ?
Pourquoi ne pas utiliser Groovy, JRuby ou quelque autre langage de script dans
HTML n’est pas un peu maladroit ?
Pourquoi ne pas utiliser à la place un wiki ou documents Word ?
Y a-t-il d’outils pour m’aider à modifier les spécifications de Concordion ?
Puis-je prolonger Concordion avec mes propres commandes ?
Pourriez-vous décrire un processus scénarisées avec Concordion ?
Ce qui ne peut pas tester le Concordion ?
Est votre processus recommandé comme une série de mini cascades ?
Concordion lui-même a spécifications actives ?

 

Qui a développé le Concordion ?

Concordion a été développée par David Peterson, un consultant agile, basé à Londres. L’idée a été déclenchée par des conversations avec les testeurs et développeurs, en particulier Nat Pryce et Steve Freeman, alors qu’il travaillait à Easynet (BSkyB) en 2006.

Vous pouvez contacter David par courriel à: [email protected], mais s’il vous plaît utiliser la liste de diffusion pour toute question concernant la Concordion elle-même.

 

Comment le Concordion est autorisée ?

 

Concordion est concédée sous licence Apache, v2.0. Voir ici pour le texte de la licence.

 

Existe-t-il une liste de diffusion ?

 

Oui, sur Yahoo groupes. Joignez ici

 

Comment signaler les défauts ou soumettre des demandes d’améliorations ?

 

Dans la liste des problèmes de Concordion.

 

Où est le référentiel de code source ?

 

Il est hébergé sur GitHub : Page principale du projet, tous les sous-projets. La version de développement actuelle (potentiellement instable) peut être clonée comme suit :

 

git clone https://github.com/concordion/concordion.git

 

Comment collaborent-elles avec mise au point de Concordion ?

 

Tout d’abord, vous devez créer un problème pour votre demande d’amélioration.

 

Concordion utilise un modèle de « Fourche & Pull » pour le développement collaboratif. Si vous avez des modifications que vous souhaiteriez nous considérions pour introduction à Concordion, que vous devrez le référentiel de la fourche, commettre et poussez vos modifications à votre projet fourchue et envoyez-nous une demande de tirer, faisant référence à l’URL du numéro que vous avez créé.

 

Veuillez noter que, afin de maintenir la Concordion propre et minimale, nous considérons toutes les demandes d’améliorations avec soin. Votre amélioration ne faut pas appropriée pour la base de Concordion, vous pouvez empaqueter une extension Concordion.

 

Voir le fichier README-DEVELOPERS.txt dans le référentiel de concordion pour les normes de développement.

 

Y a-t-il des bons articles sur Concordion ?

 

— Tomo Popovic, méthodes et outils, été 2012

— Oliver Wehrens, octobre 2009

  • Concordion : Test d’acceptation Agile avec texte de forme libre

— Gojko Almeida, août 2008

Comment mode pour le test de sortie dans une forme présentable ?

 

Par défaut, la sortie de Concordion va dans le répertoire temporaire, mais vous pouvez modifier l’emplacement avec la variable « concordion.output.dir » de la JVM.

 

Si vous exécutez tous vos tests, alors vous obtiendrez un ensemble complet de couleur les fichiers HTML de sortie, vous pouvez publier sur un serveur web ou autre chose. Pour autoriser la navigation, utilisez la convention de dénomination de mie de pain et ajoutez <a href=”…”> liens entre les spécifications connexes.

 

Voir la fiche de Concordion pour un exemple.

 

Si vous souhaitez utiliser les CSS ou JavaScript personnalisés, ou inclure des images ou autres ressources, à votre sortie de Concordion, vous devrez écrire une extension simple.

 

Comment Concordion diffère-t-il du cadre Fit et FitNesse ?

 

Le cadre de l’ajustement a été l’inspiration pour Concordion. Je l’ai utilisé pendant quelques années avant que j’ai décidé de développer des Concordion dans les buts suivants :
  • Améliorer la lisibilité des documents
  • Plus « opiniâtre » (script est activement découragé)
  • Plus facile à utiliser
Ce que j’ai essayé de le faire en Concordion, c’est mettre un accent plus fort sur la rédaction des spécifications des exigences, plutôt que des scripts de test. Lorsque vous utilisez Concordion, l’écriture de scripts pour tester l’exigence est caché dans le code de l’appareil. Je vous ai expliqué cet ailleurs, mais fondamentalement, la raison pour laquelle que vous voulez faire une distinction est que cela signifie que vous pouvez modifier la mise en œuvre et savez que vous rencontrez toujours l’exigence. Les scripts de tests intervertissez l’exigence avec les détails d’implémentation.

 

(Voir « Scripting Makeover » pour un exemple typique d’un test d’acceptation de FitNesse et mon point de vue à une spécification équivalente Concordion.)

 

Vous pouvez écrire des spécifications actives avec ajustement, mais il ne le rend facile pour vous. En raison de la façon dont Fit utilise l’héritage, son code de l’appareil est lourd, les développeurs ont tendance à écrire des montages aussi peu que possible. Cela conduit à des montages génériques qui peuvent être utilisés dans plusieurs spécifications. Bien que cela sonne comme une bonne chose, cela signifie généralement que les exemples dans les cahier des charges sont des emplois de copier-coller et pas bien ciblé. Détail sans importance provoque tous les problèmes liés à la duplication mais aussi de rendre les exemples plus difficiles à suivre. En outre, ayant des appareils génériques tend à conduire à des scripts.

 

Avec Concordion, le code de l’appareil est beaucoup plus simple et chaque spécification a son propre montage unique. Parce que vous ne partagez pas d’installation, il vous encourage à concentrer les exemples dans les cahier des charges beaucoup plus soigneusement. Pour supprimer les doubles emplois dans l’ensemble de luminaires, vous générez une API de script simple qui appellent les montages.

 

 

Comment les Concordion diffère-t-il de sélénium ?

 

Le sélénium est un outil de script de test pour la conduite des navigateurs web. Concordion est un outil de spécification et masque script d’activité à l’intérieur de l’appareil le code Java. Pour les tests qui exercent de l’Explorateur, nous vous recommandons de sélénium WebDriver avec Concordion.

 

Le projet concordion-extensions-démo montre Concordion travailler avec sélénium WebDriver.

 

Quelle est la différence entre script et spécifiant ?

 

Voir ici pour une explication.

 

Pourquoi ne pas utiliser Groovy, JRuby ou quelque autre langage de script dans l’instrumentation ?
Expérience de tâtonnements.

 

Le premier prototype de Concordion n’a en effet utilisé Groovy dans l’instrumentation. Avec ce genre de puissance disponible, j’ai trouvé que je ne pouvais m’empêcher de mettre le script dans l’instrumentation. Au début, c’était très bien, mais après un certain temps, j’ai trouvé que j’avais fréquemment changer l’instrumentation pendant la refactorisation. L’IDE n’a pas beaucoup aider et j’ai réalisé ce que je faisais était une erreur.

 

L’endroit pour le script est dans le code de l’appareil de Java, pas dans l’instrumentation. Une fois cette prise de conscience m’est apparu, ayant un langage d’expression puissante dans l’instrumentation était inutile, au mieux, et dangereusement trompeuses, au pire, si j’ai travaillé pour couper la langue vers le bas pour un strict minimum. La seule chose que l’instrumentation doit faire est appelle les méthodes sur l’appareil. Toute la logique de script doit être dans le match.

 

Cette séparation des préoccupations signifie que les fichiers HTML rarement changent et vous avez toute la puissance de Java pour les scripts et d’éliminer les doubles emplois. Cela signifie également que vous pouvez y brancher la spécification dans n’importe quel niveau que vous voulez de l’unité au niveau du système sans avoir à changer l’instrumentation. Par exemple, vous risqueriez progressivement vos tests d’essais par l’intermédiaire de l’interface utilisateur pour tester la couche de domaine directement telle qu’elle ressort.

 

HTML n’est pas un peu maladroit ?
Oui, c’est un peu, mais pas presque autant que vous pourriez penser. Une fois que vous avez une page modèle (il y en a un dans le tutoriel) il vous suffit de remplir le libellé. Vous n’avez pas à utiliser plusieurs balises ; <p>, <span>, <table>, <tr>, <th>et <td>sont sans doute tout ce dont vous avez besoin. Une prise en charge améliorée des outil IDE est sur ma liste de tâches, cependant.
Concordion fonctionne bien où les droits d’auteur des documents est un effort de collaboration (développeur, testeur + analyste) plutôt que de quelque chose que les analystes ou les testeurs font eux-mêmes. Si vous produisez les spécifications en tant que groupe il va habituellement avoir quelqu’un qui est à l’aise d’écriture HTML. Si ce n’est pas le cas, il n’est pas particulièrement difficile à apprendre.
Pourquoi ne pas utiliser à la place un wiki ou documents Word ?
J’ai hésité à un Wiki parce qu’elle comporte beaucoup plus de montage et d’entretien. Wikis tendent également à avoir le contrôle de version pauvre.
L’avantage de HTML sur documents Word est qu’il est plus facile poster un lien entre les pages, et c’est un format plus ouvert.
Y a-t-il d’outils pour m’aider à modifier les spécifications de Concordion ?
Le Plugin Eclipse de Concordion, développé et maintenu par matf, fournit assistance au contenu et validation pour fiche Concordion dans Eclipse.
Puis-je prolonger Concordion avec mes propres commandes ?
Oui. Voir ici pour plus de détails.
Pourriez-vous décrire un processus scénarisées avec Concordion ?

Story Delivery Lifecycle (diagram)

 

Ce processus a bien fonctionné pour moi. Écrit ambiguïté supprime spécifications afin que lorsque le propriétaire du produit décide, « OK, c’est assez bon pour cette itération », il existe un accord sur ce qui « fait » signifie exactement.

 

Verrouiller le champ donne la stabilité. Si vous ne pensez à quelque chose au cours de la discussion initiale, qu’il peut probablement attendre jusqu’à la prochaine itération. Si ce n’est pas le cas, vous êtes d’accord qu’une équipe d’ajouter il, mais un comportement ne peut pas juste être « glissée dans » par hasard.
Version PDF du diagramme
Ce qui ne peut pas tester le Concordion ?

 

Beaucoup de choses (par exemple la jolie comment une interface utilisateur est). Toutefois, en règle générale, si vous pouvez le tester avec JUnit alors vous pouvez le tester avec Concordion.

 

Est votre processus recommandé comme une  série de mini cascades ?

 

No C’est l’acceptation test driven development (ATDD). Les exemples concrets de spécifications actives sont des essais de réception. L’idée est que vous les écrivez avant d’écrire le code.

 

L’Agile Manifesto dit il n’y a « la valeur dans les articles sur le droit » mais ils « apprécient les éléments à gauche plus ». Concordion vous aide à soutenir et stimuler les points sur la gauche en extrayant la valeur des éléments sur la droite sans succomber à leurs inconvénients.

 

Concordion lui-même a spécifications actives ?

 

Oui, il a un certain. Évidemment pour commencer je n’avais pas l’outil, donc il y a beaucoup de lacunes !

Comments are closed.