Question

J'ai commencé comme ingénieur logiciel à la société que je suis actuellement. Au fil du temps, j'étais soit le seul prêt ou capable de prendre la responsabilité de différents systèmes, et donc je suis « promu » à être Responsable. Maintenant, pendant mon temps comme ingénieur logiciel, je crée des tests fonctionnels pour les différents modules logiciels, je construirais, et par conséquent, aujourd'hui encore, je suis en mesure de tester rapidement les différentes parties du système que j'ai travaillé. Cependant, il y a une grande grande base de code avec peu ou pas de couverture des autres différents développeurs qui travaillent ici.

Maintenant, en tant que responsable informatique, je veux être en mesure de vérifier que toutes les parties du système fonctionnent, mais il est:

A) pas de temps prévu au budget consacré à la création d'une couverture de test de code

et

B) Aucun désir du « ingénieur logiciel en chef » pour commencer à créer des suites de test pour me aider à surveiller que le logiciel fonctionne.

Je ne pense pas que l'équipe de logiciel pour tout laisser tomber et qu'ils font passer 2 semaines créer des suites de test, mais ce serait bien s'ils ont commencé à étendre la suite de tests la couverture au fil du temps donc je peux confirmer que les différentes parties du système fonctionnent.

ébullition donc vers le bas, comment puis-je l'équipe de logiciel pour commencer à construire des suites de test?

Autres mises en garde:

A) Je suis toujours demandé de faire des projets logiciels en plus de la gestion de notre département IT (un ingénieur unix, type de support de bureau et de bureau connexes et de production)

B) Mon administrateur unix a vraiment du mal à obtenir des systèmes de production en cours d'exécution de la base de code complet, et nous ne sommes pas obtenir une bonne aide de l'équipe du logiciel. Il ne peut pas exécuter tout type de diagnostic pour voir où l'application Web échoue sur les nouvelles installations. Le vice-président de la société continue à me dire d'aller et faire des années print_r dans le code pour voir ce qui se passe. Ce suce !!!

Était-ce utile?

La solution

C'est une bonne question. Et s'il y avait une réponse correcte à elle, des projets logiciels beaucoup plus réussiraient et offrir une haute qualité.

Je ne pense pas que c'est une bonne idée de faire un tel changement de haut en bas. Il doit être conduit par les développeurs eux-mêmes. Ainsi, les formations en direction TDD serait bon, mais qui est depuis longtemps investir, ce qui prend du temps.

Si vous voulez une solution plus rapide, vous devriez considérer fonctionnalisme, acceptance- et systemtests. Avec ces tests vous tester à peu près toute l'application à travers toutes les couches. Si vous développez des applications Web que vous devriez consinder en utilisant Sélénium pour automatiser votre test. Il est facile de créer test avec elle (Selenium IDE).

Mais en utilisant uniquement ces tests (non tests unitaires) ne vous donne pas les avantages provenant de TDD.

Automatiser vos tests est crucial.

Autres conseils

Tout d'abord, vous devez enquêter sur Test Driven Development afin que vous êtes à l'aise pour expliquer en termes que vos développeurs comprendront, ainsi que votre gestion. Puisque vous semblez développer des applications Web, et vous avez des compétences techniques, je vous suggère de franchir le pas et de choisir un outil open source pour les applications Web d'essai, faire installer et lancer des tests de construction pour tout ce que vous vous développez.

Twill est un exemple du genre d'outil de test que vous auriez besoin.

Ensuite, en tant que gestionnaire, vous devez inciter les développeurs à suivre votre exemple, et les récompenser pour le faire. Et les punir, quand ils n'utilisent pas le cadre de tests et conduit à des problèmes évitables. Dès que vous obtenez un tel incident, vous devriez être en mesure d'obtenir votre patron à bord, et prendre un certain élan.

Dans l'ensemble, rappelez-vous que l'objectif est de faire moins de travail pour obtenir un bon résultat. Rognant est une façon de faire moins de travail, mais conduit au risque de mauvais, ou spectaculairement mauvais résultats. Gardez la direction au courant des niveaux de risque et les coûts potentiels à risque.

Ne pas forcer les gens à faire que les tests pour l'amour de tests. Il doit les aider à être plus productifs afin de choisir les premiers projets soigneusement.

Avez-vous une équipe de test ou QA?

Je voudrais tout d'abord commencer à voir si elles ont des cas de test qu'ils utilisent pour qualifier la construction. Sinon, vous devrez développer ces cas de test pour tester la fonctionnalité de base de votre produit.

L'étape suivante serait l'automatisation des cas de test.

Si la demande est peu développée sans aucun outil de dépannage ou fonctionnalités de débogage, il serait difficile jusqu'à ce que ceux-ci sont ajoutés comme exigences pour la prochaine version.

Mes 2 cents.

Je suis en désaccord avec michaelkebe- ces changements ont besoin de soutien au niveau exécutif, en plus de quelques développeurs clés, pour réussir pleinement.

Sans ce soutien, vous aurez juste quelques développeurs qui ressemblent à leur «perdre du temps sur l'écriture de tests pour des choses qui fonctionne déjà.

Il faut une vision claire, et il doit être répété haut et fort souvent.

Je ne suis pas nécessairement pour défendre Agile, mais souvent il clique pour les propriétaires d'entreprise.

Si vous pouvez les vendre à ce sujet, les choses que vous êtes excité (fourniture de logiciels rapide, facile d'entretien, les tests automatisés, etc.) tomberont en place.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top