2008-12-22 18 views
1

Je suis le nouveau membre d'un projet qui est un amalgame de diverses applications écrites dans divers langages de programmation sur les systèmes d'exploitation Unix et Windows. J'ai l'honneur de trouver comment implémenter un test de régression nocturne pour toutes ces applications. Malheureusement, ces applications n'ont pas été construites avec les principes TDD et n'ont pas de framework de test unitaire significatif. Mon instinct me pousse à essayer d'éviter de réinventer la roue et de "tenter" de trouver un moyen d'utiliser autant de code que possible pour cette architecture de test nocturne. Comment quelqu'un écrirait-il des cas de test partageant autant de code que possible ... confronté à plusieurs langues sur plusieurs systèmes d'exploitation ... et aggravé par le fait que toutes les applications ne sont pas des services Web ou même des applications Web? Ma seule conclusion est que les pilotes de test et les scénarios de test doivent être spécifiques à chaque application et je ne peux pas avoir de réutilisation significative du code.Plusieurs applications en plusieurs langues sur différents systèmes d'exploitation. Dois-je essayer un harnais de test unifié?

Toutes les suggestions ou offres un rapide coup dans la tête pour poser cette question sera bien accueilli et apprécié :)

Répondre

1

C'est dur, je l'ai vu. Je pense que vous allez devoir prendre une décision sur ce point, mais pour commencer, une approche légèrement différente pourrait aider. Il semble que cette application a été autour. Il doit y avoir un ou plusieurs bogues autour desquels vous pouvez enquêter pour trouver le plus fréquent type de bug. Les applications ont généralement un aspect qui est le plus sujet aux défauts et c'est là que je commencerais avec quelques scripts de test. Vous régressez essentiellement les rapports de bogues les plus productifs de toutes les façons possibles et vous pouvez assembler ces scripts de toutes les manières possibles. Une fois que vous connaissez cette application, et vous le saurez très rapidement après avoir fait ce qui précède, vous pouvez venir avec un plus grand, et plus facile à entretenir, harnais ou application pour tester avec. J'espère que cela t'aides.

0

Juste mes 2 cents ... une valeur

Afin de mettre en œuvre développeur wholescale test relativement avec succès, pour autant que je l'ai compris, vous avez besoin tout le développement à participer au code de test d'écriture. Peut-être que si vous pouvez faciliter une interface commune aux diverses applications et services, cela pourrait vous donner des résultats.

0

Il est difficile de dire si cela serait faisable dans votre cas ... mais ce serait bien si vous pouviez trouver un mécanisme déclaratif de décrire vos cas de test, en utilisant peut-être des fichiers texte ou XML pour détailler les paramètres, résultats attendus, codes retour attendus, etc. des différents cas. Ainsi, si ces scénarios de test sont valides sur plusieurs systèmes d'exploitation/environnements, vous pouvez implémenter le code pour exécuter les cas de test une fois pour chaque environnement, mais être capable de réutiliser tous les cas de test. Bien sûr, votre kilométrage peut varier en fonction de la complexité des interfaces/scripts/applications que vous devez tester, et de la facilité avec laquelle il serait possible d'exprimer les cas de test avec des données. En ce qui concerne les cas de test, j'ai également été responsable de l'écriture de tests pour de vieux codes «hérités» qui n'étaient pas créés avec «testabilité» à l'esprit. J'aime la suggestion d'Andrew; L'utilisation de données de bogue/régression antérieures serait utile pour trouver quels tests vous donneraient le plus pour votre argent.Ce serait également une bonne idée d'essayer de mettre en œuvre de nouveaux processus d'ingénierie dans votre équipe - pour chaque nouveau bug/problème/régression résolu à partir de maintenant, essayez d'ajouter un cas de test qui aurait permis de résoudre le problème. Cela vous aidera à construire un ensemble de cas de tests qui sont prouvés pertinents ...