Comment construire un testeur personnalisé « lit de clous » pour vos appareils électroniques imprimante 3D (13 / 14 étapes)

Etape 13 : Logiciel testeur

Si vous n’utilisez pas un Conseil de RAMBo cependant, vous devrez adapter le logiciel à votre Conseil d’administration. Récemment, le logiciel a été réécrit à partir de zéro pour permettre un port facile dans d’autres conseils. Notions de programmation Python est cependant requises.

Le nouveau design permet une approche plus modulaire où chaque test est représenté par un objet unique et chaque type de test est mis en œuvre dans sa propre classe. Quelques classes de base sont disponibles pour prendre en charge les fonctionnalités de base des cas test, mécanisme de journalisation et de tests de logique.

Les tests / module contient des classes de base et des modules de test. Les classes de base sont :

  • Test unitaire : C’est la classe de base pour un scénario de test mis en place pour tester une fonctionnalité spécifique
  • TestContext : C’est la classe de base pour le contexte donné aux épreuves, alors qu’ils sont en cours d’exécution
  • TestRunner : C’est la classe de base de la classe runner qui s’exécutera tous les tests à la suite de tests.

Il y a quelques tests génériques, tels que le TestGPIO dans gpio.py et TestAnalog analog.py, qui eux-mêmes ont plus spécifique tester les classes qui dérivent d’eux comme TestMosfets et TestEndstops qui dérivent de TestGPIO et de TestThermistors, de TestVRefs et de TestSupplyRails qui dérivent de TestAnalog. Il y a aussi quelques tests spécifiques tels que le ProgramFirmware qui est un wrapper de test pour avrdude et TestMotors qui vont tester les moteurs pas à pas et vérifier que tout fonctionnent correctement.

Pour implémenter un nouveau test, vous devez dériver de la classe de test unitaire et substituez les méthodes _Tester et _verify . La méthode _test doit exécuter le test en utilisant tout ce qui est disponible dans l’objet de contexte (plus sur cela plus tard) alors que la méthode _verify doit définir le 'self.status' une valeur dans l’énumération TestStatus .

L’objet de contexte qui est passé aux méthodes _test et _verify est un objet qui dérive de TestContext, son but est de passer autour d’informations entre les tests qui peuvent être utilisés par les cas de test. Par exemple, l’interface pour accéder à l’ASE est disponible dans context.target alors que le contrôleur est disponible comme context.controller. En outre, la plupart des tests devra avoir accès à des domaines spécifiques de l' objet context.pinmapping.

Vous aurez besoin de dériver une classe de TestContext afin de fournir l’information requise pour les cas de test. Plus précisément, dans votre classe dérivée, vous devez instancier un objet self.pinmapping . Si vous avez besoin pour allumer/éteindre l’alimentation avant et après une série de tests par exemple, vous pouvez le faire en substituant les méthodes TestingStarted et TestingEnded .

Enfin, vous devez implémenter une classe nouvelle pour votre carte mère qui dérive de TestRunner. C’est simple, qu'il suffit de définir une variable de self.tests contenant une liste d’objets de test unitaire et de retourner le contexte que vous avez créé via la propriété context .

Vous pouvez alors créer votre objet TestRunner et appeler la méthode Run pour exécuter tous les tests, ou vous pouvez lui donner une liste de tests spécifiques à exécuter si vous le souhaitez.

Il y a beaucoup plus que l'on puisse dire concernant le logiciel, tels que _finally fatal, l’exige, les cas de test, ou comment faire pour configurer le système de journalisation pour utiliser une base de données ou comment obtenir l’aperçu de l’exécution de tests ou de désactiver des tests spécifiques, ce que chaque test état moyen, etc... Toutefois, le code source est relativement simple et bien documenté, et vous pouvez découvrir beaucoup de choses en lisant le code.

Je vous laisse avec une maquette d’un GUI potentiel pour le logiciel de test dans lequel le GUI peut être généré dynamiquement de n’importe quelle instance TestRunner et qui permet de contrôler chaque test à l’utilisateur.

Articles Liés

Nécessité d’envoyer quelque chose en toute sécurité ? Comment construire une caisse personnalisée... pour moins de 100 $.

Nécessité d’envoyer quelque chose en toute sécurité ? Comment construire une caisse personnalisée... pour moins de 100 $.

Vous avez probablement déjà contacté une entreprise d'emballage et sont stupéfaits, combien ça coûte d'avoir quelque chose emballés pour l'expédition. Sa manière plus rentable et vraiment pas que difficile de faire votre propre caisse... qui est esse
Comment construire un organisateur de lit camion

Comment construire un organisateur de lit camion

Comment construire un organisateur de lit camion polyvalent et réglableGotta camion ? Qui n'est pas besoin un organisateur de lit camion ou un système de stockage qui empêche les petits objets de rouler dans le lit du camion et de portée ?Je sais il
Comment faire un cas de bande de conduit pour les appareils portables.

Comment faire un cas de bande de conduit pour les appareils portables.

Aujourd'hui je vais vous montrer comment faire un conduit cas de bande pour vos appareils de poche. C'est assez simple à faire et est très pratique. De plus, vous pouvez également créer une boucle à l'arrière pour permettre à votre cas à mettre en œu
Rappel du projet : Comment construire un SWING de lit simple à l’aide de bois récupéré.

Rappel du projet : Comment construire un SWING de lit simple à l’aide de bois récupéré.

Il s'agit de ma première construction lit Swing et j'ai beaucoup appris de lui et afin que vous puissiez.Faire une différence dans ce monde au moment de choisir la façon de faire les choses quand il s'agit de la construction. Nous pouvez choisir just
Comment construire un ordinateur personnalisé !

Comment construire un ordinateur personnalisé !

Ce Instructable montrera comment assembler un ordinateur personnalisé à partir de ses éléments de base disponibles en ligne ou dans les magasins de vente au détail électronique.  Assemblage manuel a un certain nombre d'avantages, y compris à moindre
Comment construire un accessoire pneumatique rapide et facile pour Halloween

Comment construire un accessoire pneumatique rapide et facile pour Halloween

il y a un moment, quelqu'un posté une instructable sur un pneumatique d'Halloween qui a « sauté » sur une canette de déchets toxique.  Je voulais construire, mais je n'avais pas une partie de l'équipement et je suis quelque peu frugal alors j'ai voul
Comment faire pour la boîte à chaussures bricolage Station de recharge pour vos appareils

Comment faire pour la boîte à chaussures bricolage Station de recharge pour vos appareils

IntroductionAlors que les câbles de chargeur sont pas presque aussi ennuyeux que le fils de casque, surtout quand ils sont dans votre poche et obtenir empêtré AF...Cependant, ils sont assez frustrants, surtout quand vous avez beaucoup d'appareils à l
Comment construire un PC personnalisé (UPDATED!)

Comment construire un PC personnalisé (UPDATED!)

Alright, aussi est-il MrNintendo à nouveau. J'ai a chuté à peu près tous de mon modding (à l'exception des mods cas et d'autres choses) et passer à la conception/mise à niveau/réparation d'ordinateurs. J'ai vu quelques Instructables sur la façon de c
Comment construire un PC personnalisé « top-of-the-line »

Comment construire un PC personnalisé « top-of-the-line »

Eh bien, j'ai été un membre de Instructables pendant un certain temps après achoppement vers ce site sur Google un an ou deux il y a. Il est temps pour moi d'écrire un Instructable et publiez-la en fait, j'ai décidé. Donc cela finit par être mon prem
Comment construire un fusil personnalisé panier

Comment construire un fusil personnalisé panier

j'avais besoin de créer un support de fusil taille personnalisée pour s'insérer dans une armoire qui n'a pas été utilisée. Vous pouvez utiliser cette conception pour plus de n'importe quelle application avec assez de profondeur pour accueillir les fu
Comment construire un câble de la console pour le PCB universelle.

Comment construire un câble de la console pour le PCB universelle.

Projet the PCB universel (UPCB en abrégé) a été lancé afin de permettre un seul contrôleur de jeu, en particulier lutte contre bâtons, sur les consoles différentes autant que possible. On trouvera des renseignements sur le projet sur le thread suivan
Construire une échelle personnalisée génial pour votre poste de travail de camion/mobile

Construire une échelle personnalisée génial pour votre poste de travail de camion/mobile

passionnant ! Nous mettons ce Instructable au concours de postes de travail mobiles, si vous l'aimez s'il vous plaît vote dans le coin supérieur droit ! Vache sacrée, ces prix est impressionnantes!!! :)OK, donc, notre boutique loue souvent des camion
Comment construire des gouttières de pluie artificielle pour votre chapeau de camion

Comment construire des gouttières de pluie artificielle pour votre chapeau de camion

Je suis dans le pétrin,Je vis dans une grande métropole américaine pour un certain temps et je n'ai mon espace de travail normal ou d'outils. J'ai aussi me guider une excursion en kayak dans un peu plus d'un mois et ont désespérément besoin d'être en
Comment construire l’Obstacle en évitant le Robot pour les débutants avec Arduino tutoriel

Comment construire l’Obstacle en évitant le Robot pour les débutants avec Arduino tutoriel

Ce tutoriel est fait pour toute personne mise en route avec arduino. Nous allons construire un obstacle en évitant le robot qui utilise un capteur à ultrason HC SR-04 pour détecter les objets et 2 servos continue (360 degrés) câblés à une alimentatio