Giter Site home page Giter Site logo

test's Introduction

Test logiciel

Niveau de test

On peut tester plusieurs niveaux d'un logiciel

  • Tester le logiciel complet en se métant à la place d'un utilisateur. (test d'acceptation)
  • Tester les fonctions et classes composant le logiciel. (test unitaire)

Et entre ces 2 niveaux il existe des niveau intermédiare, dont la dénomination change en fonction des années et des normes. L'idée à retenir et que si un logiciel est un aggregat de composants, on peut aussi tester ces composants indépadaments.

Boite noire / boite blanche

En boite noire on se base uniquement sur les spécifications en boite blanche on se base sur le code source.

  • Quelle sont selon vous, les avantages/inconvénients des tests en boite blanche/boite noire ?
  • Quelle impacte il y a t'il si la personne qui écrit les tests est celle qui à écrit le programme ?

Test manuel / Test automatique

Les tests manuels sont couteux à executer, les tests automatiques sont couteux à mettre en place mais peuvent être rejoué très facilement.

Test unitaire, exo:

Dans cet exercice, on va tester une application de gestion de chambres d'hotel.

I - Executer des tests:

Allez dans le répertoire unittest_training est executer la commande:

python3 -m unittest -v

II - Ecrire des tests:

Nous allons completer les tests dans le fichier unittest_training/tests/test_model.py Avans ça, jetez un oeuil sur la documentation de la classe Hotel:

python3 -c 'from hotels import model; help(model.Hotel)'

Le fichier test_model.py importe la classe Hotel et va executer divers opérations avec afin de la tester.

L'écriture de test ce fait généralement comme ceci:

  1. Hériter de la classe unittest.TestCase.
  2. Redéfinir la méthode setUp dans laquelle on initialisera l'objet à tester.
  3. Définir plusieur méthodes dont le nom commence par test et qui controleront que l'objet à tester est bien comme on l'attend. Dans ces méthodes on appelera self.assertEqual pour faire ces vérifications, mais il existe d'autre posibilités: https://docs.python.org/3/library/unittest.html#assert-methods

Dans le fichier unittest_training/tests/test_model.py completez l'écriture des méthodes.

test's People

Contributors

maillol avatar

Watchers

James Cloos avatar  avatar

Forkers

vramius1017

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.