Test intégral. Bases du BDD : tests unitaires, d'intégration et de bout en bout

DÉVELOPPEMENT DE TECHNOLOGIE DE TEST POUR LE CONTRÔLE DU NIVEAU D'APPRENTISSAGE DES ÉTUDIANTS.

Belonogova Natalya Nikolaevna, professeur de mathématiques GBOU SPO MO "Collège humanitaire régional de Moscou"

Technologies éducatives il faut rester dans l'air du temps. Rythme la vie moderne impose de nouvelles exigences au processus d’apprentissage. Si plus tôt les examens finauxmathématiquesétaient en formeécrittravail d'essai, alors maintenant c'est déjà l'examen d'État unifié. Les tests offrent la possibilité de s'améliorer considérablement processus éducatif, car ils présentent un certain nombre d'avantages par rapport aux autres méthodes de contrôle des connaissances ; être partie obligatoire De nombreuses innovations pédagogiques, elles réduisent le temps passé à tester les connaissances, permettent d'identifier les taux d'apprentissage individuels, ainsi que les lacunes dans la formation actuelle et finale.

Auparavant, les tests étaient utilisés dans deux domaines principaux : dans l'éducation et dans le domaine de la sélection professionnelle et de l'orientation professionnelle. Des domaines aussi importants de la vie et influence directe Les résultats du contrôle des tests sur le sort de millions de personnes ont donné lieu à un large éventail d'opinions pour et contre les tests. Le grand enthousiasme de ceux qui les utilisaient, et le pessimisme non moins de ceux qui voyaient l'imperfection de cette méthode ou souffraient de son utilisation incorrecte, ont conduit certains à considérer le contrôle des tests comme un moyen de dévaloriser le rôle des l'enseignant, percevait les tests comme un moyen d'exprimer sa méfiance à l'égard des évaluations traditionnelles et faisait donc preuve d'une certaine méfiance, et seuls quelques-uns les considéraient comme un moyen de transformation radicale processus éducatif vers son objectivation - et se passionne pour cette méthode.

En combinaison avec un PC, les tests contribuent à évoluer vers la création de systèmes modernes d'apprentissage et de contrôle adaptatifs - les plus modernes dans l'organisation du processus éducatif. Sans tests, la transition vers une éducation progressive basée sur le système que nous avons adopté est impossible. assimilation complète connaissance. La formation commence par un test d'entrée, suivi d'un contrôle actuelà travers des tâches sous forme de test et se termine par des tests objectifs résultats scolaires. De plus, les tests permettent d'établir la maîtrise de soi - la forme la plus utile pour l'apprentissage et le contrôle humain des connaissances, ainsi que d'organiser une notation - recours efficace accroître la motivation éducative.

Le mot « test » évoque le plus différents points de vue. Certains pensent qu'il s'agit de questions ou de tâches avec une réponse toute faite qu'il faut deviner. D'autres considèrent le test comme une forme de jeu ou d'amusement. D'autres encore tentent d'interpréter cela comme une traduction de mot anglais"test", (échantillon, test, contrôle). De nos jours, il existe de nombreux types de tests, il est donc difficilement possible de donner une définition universelle pour tous ces types.

Il existe deux grandes classes de tests : traditionnels et non traditionnels.

Test traditionnel est une méthode standardisée pour diagnostiquer le niveau et la structure de préparation. Dans un tel test, tous les sujets répondent aux mêmes tâches, en même temps, dans les mêmes conditions et avec les mêmes règlesévaluation des réponses.

Test pédagogique est défini comme un système de tâches d'un certain contenu, d'une difficulté croissante et d'une forme spécifique, qui permet de mesurer qualitativement et efficacement le niveau et d'évaluer la structure de préparation des étudiants. Dans le test pédagogique, les tâches sont classées par ordre de difficulté croissante - du plus facile au plus difficile.

Les tests traditionnels incluent des testshomogène et hétérogène .

Tests homogènes

Un test homogène est un système de tâches de difficulté croissante, de forme spécifique et de contenu spécifique - un système créé dans un but objectif, qualitatif et méthode efficaceévaluer la structure et mesurer le niveau de préparation des étudiants dans une discipline académique.

Il est facile de voir que, fondamentalement, la définition d’un test homogène coïncide avec la définition d’un test traditionnel.

Les tests homogènes sont plus courants que les autres. En pédagogie, ils sont créés pour contrôler les connaissances dans une discipline académique ou dans une section d'une discipline académique volumineuse comme la physique, par exemple. Dans un test pédagogique homogène, l'utilisation de tâches révélant d'autres propriétés n'est pas autorisée. La présence de ce dernier viole l'exigence de pureté disciplinaire de l'épreuve pédagogique. Après tout, chaque test mesure quelque chose de prédéterminé.

Tests hétérogènes

Un test hétérogène est un système de tâches de difficulté croissante, de forme spécifique et de contenu spécifique - un système créé dans le but d'une méthode objective, de haute qualité et efficace pour évaluer la structure et mesurer le niveau de préparation des étudiants dans plusieurs domaines académiques. disciplines.

Objectif principal application de tests traditionnels - pour établir la relation d'ordre établie entre les matières en fonction du niveau de connaissances démontré lors des tests. Et sur cette base, déterminer la place (ou la note) de chacun sur un ensemble donné de sujets testés. Ils essaient d’en sélectionner le moins possible pour le test. quantité suffisante tâches, ce qui vous permet de déterminer de manière relativement précise le niveau et la structure de préparation. L'interprétation des résultats des tests est effectuée principalement sur la base de la moyenne arithmétique et des normes dites de pourcentage, qui montrent quel pourcentage de sujets ont un résultat de test pire que celui de tout autre sujet. Cette interprétation résultats des tests appeléorienté normatif .

Tests intégratifs

Un test intégratif peut être appelé un test composé d'un système de tâches qui répondent aux exigences de contenu intégratif, d'un formulaire de test et d'une difficulté croissante des tâches visant à un diagnostic final généralisé de l'état de préparation d'un diplômé d'un établissement d'enseignement.

L'avantage des tests intégratifs par rapport aux tests hétérogènes réside dans le contenu informatif plus important de chaque tâche et dans le plus petit nombre de tâches elles-mêmes.

Tests adaptatifs

Le test adaptatif fonctionne comme un bon examinateur. Tout d'abord, il « pose » une question de difficulté moyenne, et la réponse qui en résulte est immédiatement évaluée. Si la réponse est correcte, l’évaluation des capacités du candidat augmente. Dans ce cas, plus de question difficile. Si la réponse est positive, le PC sélectionne la tâche suivante comme étant plus difficile ; si la réponse échoue, la tâche suivante sera plus facile.

Tester le contenu peut être défini commeaffichage optimal du matériel pédagogique dans le système tâches de test . Contenu extrascolaire (par exemple, tests de niveau développement intellectuel) n’est pas inclus dans l’épreuve pédagogique. C’est un sujet de dimension psychologique.

Étant donné que dans un test pédagogique, les tâches sont ordonnées selon le principe de difficulté croissante, certains candidats « échouent » déjà à la première tâche la plus facile, tandis que d'autres échouent aux tâches suivantes. Les étudiants ayant un niveau de préparation moyen ne peuvent répondre correctement qu'à la moitié des items du test et, enfin, seuls les plus compétents sont capables de donner eux-mêmes la bonne réponse aux items. haut niveau difficultés situées à la fin de l’épreuve.

Réponse à la tâche L'épreuve pédagogique est un court jugement lié dans son contenu et sa forme au contenu de la tâche. Chaque tâche se voit attribuer des réponses correctes et incorrectes. Les critères de précision sont déterminés à l'avance par les auteurs des tests. La probabilité d’obtenir une réponse correcte à une tâche dépend du rapport entre le niveau de connaissances du sujet testé et le niveau de difficulté de la tâche. Si des échelles comparables sont disponibles, cette probabilité est exprimée comme une valeur de zéro à un. Grâce aux tests, plus souvent que d'autres signes, les connaissances, les capacités, les compétences et les idées sont testées. Du point de vue dimensions pédagogiques Il est utile d'introduire deux indicateurs principaux de la qualité des connaissances -niveau et structure des connaissances . Ils sont évalués en enregistrant les scores à la fois pour la connaissance et l'ignorance de tous les composants requis du matériel testé. Pour objectiver ce processus, tous les composants doivent être identiques. Les règles de notation des matières sont également les mêmes. Ces conditions ouvrent la voie à une comparaison objective des structures individuelles de connaissance et d’ignorance.

Niveau de connaissance est révélé en analysant les réponses de chaque élève à tous les éléments du test. Plus les réponses sont correctes, plus les résultats des tests individuels des sujets sont élevés. Le même niveau de connaissances peut être obtenu en répondant à différentes tâches.

La mise en œuvre systématique du contrôle des tests permet à l'enseignant et à l'établissement d'enseignement d'évaluer le degré de maîtrise du matériel pédagogique par les étudiants sur une certaine période, d'identifier les réussites d'apprentissage, les lacunes et les lacunes dans les connaissances, les compétences et les capacités des étudiants individuels et de l'ensemble du groupe, ainsi que dans son ensemble, déterminer la qualité de la maîtrise du matériel complété et le niveau de conformité aux exigences de formation des normes de l'État. Une analyse objective des résultats du suivi des tests des activités éducatives des étudiants sert de base aux enseignants et aux chefs d’établissement pour déterminer l’état du travail éducatif et les mesures nécessaires pour l’améliorer. Le contrôle des tests effectué par l'enseignant, en combinaison avec d'autres formes de contrôle et de maîtrise de soi, donne à chaque élève la possibilité de voir les résultats de l'étude et de prendre des mesures pour éliminer les éventuelles lacunes constatées.

Le contrôle des tests objectifs, fiables et valides a une importance éducative et développementale importante, contribuant à une étude complète du programme, à l’expansion, à l’approfondissement et à l’amélioration des connaissances, des compétences et au développement des intérêts cognitifs des étudiants. Chaque étudiant est obligé de participer activement et de manière motivée au processus de contrôle du test, car la technologie d'un test pédagogique scientifiquement organisé ne permet pas aux sujets d'être inattentifs à l'accomplissement des tâches.

Le contrôle objectif des tests dans le processus d'apprentissage est également caractérisé par une grande importance pédagogique, carcomment cela augmente la responsabilité du travail effectué non seulement par les étudiants, mais aussi par l'enseignant, habitue les étudiants à un travail systématique et à une précision d'exécution missions pédagogiques, forme positif qualités morales et crée une opinion publique saine.

Utilisation complexe les formes de contrôle, tests et non-tests, sur les activités éducatives des étudiants visent en fin de compte à améliorer la qualité de l'éducation.

Analyser recherche théorique scientifiques nationaux et étrangers, ainsi que la pratique des tests de masse, on peut affirmer que les tests pédagogiques qui répondent à des critères de qualité élevés présentent des avantages incontestables par rapport aux tests traditionnels. formes subjectives surveiller le niveau d’apprentissage des élèves. Un test pédagogique fiable et valide répond pleinement aux exigences technologiques pour contrôler les connaissances et les compétences des étudiants à toutes les étapesentraînement.

Aux avantages technologie de test les contrôles comprennent :

    Caractère individuel le contrôle, la capacité d'exercer un contrôle sur le travail de chaque élève, sur ses activités éducatives personnelles.

    Possibilité de contrôle systématique et régulier de tests à toutes les étapes du processus d'apprentissage.

    Possibilité de le combiner avec d'autres formes traditionnelles contrôle pédagogique.

    L'exhaustivité, ce qui signifie que le test pédagogique peut couvrir toutes les sections du programme, fournissant ainsi une vérification complète connaissances théoriques, intellectuel et compétences pratiques et les compétences des étudiants.

    Objectivité du contrôle des tests, à l'exclusion des jugements de valeur subjectifs (souvent erronés) et des conclusions de l'enseignant fondées sur une étude insuffisante du niveau de formation des étudiants ou attitude partialeà certains d'entre eux.

    Tenir compte des spécificités de chaque matière académique et de ses sections individuelles grâce à l'utilisation de techniques modernes développement et variété de formes de tâches de test.

    Possibilité de réaliser des travaux traditionnels (« papier ») et informatisés (en réseau local) tests.

    Possibilité de candidature technologie moderne tests adaptatifs informatiques.

    Possibilité de tests standardisés de masse à grande échelle en imprimant et en reproduisant des formes parallèles (options) du test et en les livrant à divers établissements d'enseignement.

    Prise en compte des caractéristiques individuelles d'un échantillon spécifique de sujets, nécessitant l'utilisation de diverses méthodes pour développer un test et des tâches de test conformément à ces caractéristiques.

    Uniformité des exigences pour tous les candidats, quels que soient leurs résultats scolaires antérieurs.

    Standardisation du contrôle des tests, possibilité de développer un test unique pour différents établissements d'enseignement basé sur les exigences du GOS SPO.

    Différenciation de l'échelle des résultats aux tests, qui permet de classer le niveau de réussite scolaire des élèves dans une large fourchette.

    Haute fiabilité du contrôle des tests, permettant de parler d'une mesure pédagogique à part entière du niveau de formation.

    Validité élevée du contenu du contrôle des tests, basée sur l'inclusion de tous unités didactiques programmes de formation en missions de test.

    Haute validité prédictive des tests d'entrée, permettant de prédire la réussite future des étudiants.

    Critère élevé de validité (actuelle) des tests de certification finaux.

    L'efficacité du test pédagogique, permettant de contrôler n'importe quel échantillon de sujets, par peu de temps avec des coûts minimes.

    Avec une bonne organisation des tests et de l'application des méthodes sécurité des informations Il est possible d'exclure l'attitude malhonnête de certains étudiants à l'égard de la réalisation d'examens écrits (triche, utilisation d'indices, d'aide-mémoire, etc.).

    Le contrôle des tests stimule le travail constant de tous les étudiants, et cela est dans une certaine mesure est obtenu en effectuant des tests à grande échelle inattendus pour les sujets.

    Possibilité de prendre en compte les caractéristiques régionales des normes éducatives de l'État lors des tests.

Garantir et réaliser les avantages de la technologie de test ne peut être obtenu qu'en tenant compte des exigencesthéorie des tests classique et moderne. Ce n'est que sur la base de la théorie des tests et des méthodes modernes de développement de tests que la fiabilité et la validité peuvent être garanties. 1 et l'efficacité du contrôle, l'accomplissement de leurs tâches dans le processus d'apprentissage et la certification finale des étudiants.

Le contenu de l'épreuve pédagogique est déterminé par des tâches didactiques aux différentes étapes de la formation, les spécificitésmatières académiques, niveau de préparation et de développement des étudiants. Il est très important que le contrôle des tests ne se limite pas à tester les connaissances des élèves en reproduisant simplement les informations qu’ils ont reçues de l’enseignant ou des manuels. Dans le processus de contrôle des tests, une vérification complète de l'ensemble de l'activité éducative de l'étudiant est d'une grande importance, y compris la dynamique de son développement général, la formation de compétences et d'aptitudes particulières, son activité, ses intérêts cognitifs et ses méthodes créatives. l'activité éducative et cognitive des étudiants s'exprime dans son évaluation. Au sens large du terme, une évaluation est une caractéristique de la valeur, du niveau ou de l'importance de tout objet ou processus. Évaluer signifie déterminer le niveau, le degré ou la qualité de quelque chose. En ce qui concerne les activités éducatives et cognitives, l'évaluation consiste à établir le degré avec lequel les étudiants ont accompli les tâches qui leur ont été assignées.eux dans le processus d'apprentissage, le niveau de leur formation et de leur développement, la qualité des connaissances acquises, les compétences et aptitudes développées. L'évaluation étant étroitement liée au contrôle et en étant la conséquence, elle intègre pleinement les exigences pédagogiques du contrôle : objectivité, systématique, approche individuelle, etc.

LISTE DES SOURCES UTILISÉES

    Zh.N. Zaitseva, V.I. Soldatin Informatisation de l'éducation : état de la problématique et perspectives M. ; ICPKPS, 1998, 38 p.

    Khristovsky S.A. Bases méthodologiques conception manuel électronique,Conception de ressources, de systèmes et de technologies d'information éducative. Assis. rapports et communications - M., ICPCP, 1998, 75 p.

    Avanessov V.S. " Bases scientifiques tester le contrôle des connaissances". M. Research Center, 1994.

    http://www.usatic.narod.ru

1 VALIDITÉ désigne l'adéquation des résultats des tests aux fins pour lesquelles les tests ont été effectués.

Nombre total de demandes. Mais entre ces deux étapes de tests, d’autres surviennent. Comme beaucoup d’autres, j’appelle de tels tests intégration.

Quelques mots sur la terminologie

Après avoir beaucoup discuté avec des passionnés du développement piloté par les tests, je suis arrivé à la conclusion qu'ils ont une définition différente du terme « tests d'intégration ». De leur point de vue, un test d'intégration teste le code "externe", c'est-à-dire celui qui interagit avec " monde extérieur", le monde des applications.

Ainsi, si leur code utilise Ajax ou localStorage ou IndexedDB et ne peut donc pas être testé avec des tests unitaires, ils enveloppent cette fonctionnalité dans une interface et simulent cette interface pour les tests unitaires, et tester l'implémentation réelle de l'interface est appelé un "test d'intégration". De ce point de vue, un « test d'intégration » teste simplement le code qui interagit avec le « monde réel » en dehors des unités qui fonctionnent sans égard au monde réel.

Comme beaucoup d'autres, j'ai tendance à utiliser le terme « tests d'intégration » pour désigner des tests qui testent l'intégration de deux ou plusieurs unités (modules, classes, etc.). Ce n'est pas grave si tu te caches monde réel via des interfaces verrouillées.

Ma règle générale pour savoir s'il faut utiliser des implémentations réelles d'Ajax et d'autres opérations d'E/S (entrée/sortie) dans les tests d'intégration est la suivante : si vous pouvez le faire et que les tests s'exécutent toujours rapidement et ne se comportent pas étrangement, alors testez I /O. Si l'opération d'E/S est complexe, lente ou simplement étrange, utilisez des objets fictifs dans vos tests d'intégration.

Heureusement, dans notre calculatrice, la seule véritable entrée/sortie est le DOM. Il n'y a pas d'appels Ajax ou d'autres raisons d'écrire des simulations.

Faux DOM

La question se pose : est-il nécessaire d’écrire un faux DOM dans les tests d’intégration ? Appliquons ma règle. L'utilisation du vrai DOM ralentira-t-elle les tests ? Malheureusement, la réponse est oui : utiliser le vrai DOM signifie utiliser le vrai navigateur, ce qui rend les tests lents et imprévisibles.

Nous nous séparerons la plupart coder du DOM ou tout tester ensemble dans les tests E2E ? Les deux options ne sont pas optimales. Heureusement, il existe une troisième solution : jsdom. Ce package merveilleux et étonnant fait exactement ce que vous attendez de lui : implémente le DOM dans NodeJS.

Ça marche, c'est rapide, ça fonctionne en Node. Si vous utilisez cet outil, vous pouvez arrêter de traiter le DOM comme des « E/S ». Et c’est très important, car séparer le DOM du code front-end est difficile, voire impossible. (Par exemple, je ne sais pas comment faire cela.) Je suppose que jsdom a été écrit spécifiquement pour exécuter des tests frontaux sous Node.

Voyons comment cela fonctionne. Comme d'habitude, il y a le code d'initialisation et le code de test, mais cette fois nous commencerons par le code de test. Mais avant cela, une retraite.

Retraite

Cette partie est la seule de la série qui se concentre sur un cadre spécifique. Et le framework que j'ai choisi est React. Pas parce que c'est le meilleur framework. Je crois fermement qu’une telle chose n’existe pas. Je ne pense même pas qu'il existe de meilleurs frameworks pour des cas d'utilisation spécifiques. La seule chose en laquelle je crois, c’est que les gens doivent utiliser l’environnement dans lequel ils se sentent le plus à l’aise.

Et le framework avec lequel je suis le plus à l'aise est React, donc le code suivant y est écrit. Mais comme nous le verrons, les tests d’intégration front-end utilisant jsdom devraient fonctionner dans tous les frameworks modernes.

Revenons à l'utilisation de jsdom.

Utiliser jsdom

const React = require("react") const e = React.createElement const ReactDom = require("react-dom") const CalculatorApp = require("../../lib/calculator-app") ... décrire( "composant d'application de calculatrice", function () ( ... it("devrait fonctionner", function () ( ReactDom.render(e(CalculatorApp), document.getElementById("container")) const displayElement = document.querySelector(" .display") expect(displayElement.textContent).to.equal("0")

Les plus intéressantes sont les lignes 10 à 14. Sur la ligne 10, nous restituons le composant CalculatorApp, qui (si vous suivez le code dans le référentiel) restitue également les composants Display et Keypad.

Ensuite, nous vérifions qu'aux lignes 12 et 14 l'élément du DOM apparaît sur l'écran de la calculatrice valeur initiale, égal à 0.

Et ce code, qui s'exécute sous Node, utilise document ! La variable globale du document est une variable du navigateur, mais la voici dans NodeJS. Pour faire fonctionner ces lignes, une très grande quantité de code est nécessaire. Cette très grande quantité de code qui réside dans jsdom est essentiellement une implémentation complète de tout ce qui se trouve dans le navigateur, moins le rendu lui-même !

La ligne 10, qui appelle ReactDom pour restituer le composant, utilise également le document (et la fenêtre), puisque ReactDom les utilise fréquemment dans son code.

Alors, qui crée ces variables globales ? Test - regardons le code :

Avant(fonction () ( global.document = jsdom(`

`) global.window = document.defaultView )) après(function () ( delete global.window delete global.document ))

Sur la ligne 3, nous créons un document simple qui contient juste un div.

À la ligne 4, nous créons une fenêtre globale pour l'objet. React en a besoin.

La fonction de nettoyage supprimera ces variables globales et elles n'occuperont pas de mémoire.

Idéalement, les variables de document et de fenêtre ne devraient pas être globales. Sinon, nous ne pourrons pas exécuter de tests en parallèle avec d'autres tests d'intégration, car ils écraseront tous les variables globales.

Malheureusement, ils doivent être globaux - React et ReactDom ont besoin que le document et la fenêtre soient exactement cela, puisque vous ne pouvez pas les leur transmettre.

Gestion des événements

Et le reste du test ? Voyons:

ReactDom.render(e(CalculatorApp), document.getElementById("container")) const displayElement = document.querySelector(".display") expect(displayElement.textContent).to.equal("0") const digit4Element = document. querySelector(".digit-4") const digit2Element = document.querySelector(".digit-2") const OperatorMultiply = document.querySelector(".operator-multiply") const OperatorEquals = document.querySelector(".operator-equals" ) digit4Element.click() digit2Element.click() OperatorMultiply.click() digit2Element.click() OperatorEquals.click() Expect(displayElement.textContent).to.equal("84")

Le reste du test teste un scénario dans lequel l'utilisateur appuie sur "42 * 2 =" et devrait obtenir "84".

Et il le fait d'une manière agréable : il récupère les éléments en utilisant fonction connue querySelector puis utilise click pour cliquer dessus. Vous pouvez même créer un événement et le déclencher manuellement en utilisant quelque chose comme :

Var ev = new Event("keyup", ...); document.dispatchEvent(ev);

Mais la méthode de clic intégrée fonctionne, nous l'utilisons donc.

C'est si simple !

Les astucieux remarqueront que ce test vérifie exactement la même chose que le test E2E. C'est vrai, mais notez que ce test est environ 10 fois plus rapide et est de nature synchrone. C'est beaucoup plus facile à écrire et beaucoup plus facile à lire.

Pourquoi, si les tests sont les mêmes, avons-nous besoin d’un test d’intégration ? Eh bien, juste parce que c'est le cas projet pédagogique, pas le vrai. Deux composants composent l’ensemble de l’application, donc les tests d’intégration et E2E font la même chose. Mais dans une application réelle, un test E2E se compose de centaines de modules, tandis que les tests d'intégration incluent quelques modules, voire 10. Ainsi, dans une application réelle, il y aura environ 10 tests E2E, mais des centaines de tests d'intégration.



Le troisième article parlait de tests traditionnels. Des définitions de tests homogènes et hétérogènes y étaient également données. L'article d'aujourd'hui contient des informations sur les tests non traditionnels, qui comprennent des tests intégratifs, adaptatifs, en plusieurs étapes et des tests dits avec interprétation des résultats axée sur des critères.

1. Tests intégratifs
Un test intégratif peut être appelé un test composé d'un système de tâches qui répondent aux exigences de contenu intégratif, d'un formulaire de test et d'une difficulté croissante des tâches visant à un diagnostic final généralisé de l'état de préparation d'un diplômé d'un établissement d'enseignement. Le diagnostic est réalisé en présentant de telles tâches, dont les réponses correctes nécessitent une connaissance intégrée (généralisée, clairement interdépendante) de deux et plus disciplines éducatives. La création de tels tests est réservée aux enseignants qui connaissent un certain nombre de disciplines académiques et comprennent rôle important les connexions interdisciplinaires dans l'apprentissage, sont capables de créer des tâches dont les réponses correctes nécessitent que les étudiants aient des connaissances dans diverses disciplines et la capacité d'appliquer ces connaissances.

Les tests intégratifs sont précédés de l'organisation d'une formation intégrative. Malheureusement, la forme actuelle de conduite des cours en classe, combinée à une fragmentation excessive des disciplines académiques, ainsi qu'à la tradition d'enseignement de disciplines individuelles (plutôt que de cours généralisés), entravera pendant longtemps la mise en œuvre d'une approche intégrative dans les processus. d’apprentissage et de suivi de la préparation. L'avantage des tests intégratifs par rapport aux tests hétérogènes réside dans le contenu informatif plus important de chaque tâche et dans le plus petit nombre de tâches elles-mêmes. La nécessité de créer des tests intégratifs augmente à mesure que le niveau d'éducation et le nombre de disciplines académiques étudiées augmentent. Par conséquent, les tentatives visant à créer de tels tests sont principalement observées dans l'enseignement supérieur. Les tests intégratifs sont particulièrement utiles pour accroître l'objectivité et l'efficacité du résultat final. certificat d'étatélèves et étudiants.

La méthodologie de création de tests intégratifs est similaire à la méthodologie de création de tests traditionnels, à l'exception du travail de détermination du contenu des tâches. Pour sélectionner le contenu des tests intégratifs, utilisez méthodes expertes est obligatoire. Cela est dû au fait que seuls des experts peuvent déterminer l'adéquation du contenu des tâches aux fins du test. Mais avant tout, il sera important que les experts eux-mêmes décident des objectifs de l'éducation et de l'étude de certains programmes éducatifs, puis s'accordent entre eux sur des questions fondamentales, ne laissant pour examen que les variations dans la compréhension du degré d'importance éléments individuels V structure générale préparation. Une composition convenue, sur des questions fondamentales et sélectionnées, d'experts en littérature étrangère souvent un panneau. Ou étant donné les différences de sens dernier mot, en russe, une telle composition peut être appelée un groupe d'experts représentatif. Le groupe est sélectionné pour représenter adéquatement l’approche utilisée pour créer le test en question.

2. Tests adaptatifs
La faisabilité du contrôle adaptatif découle de la nécessité de rationaliser les tests traditionnels. Chaque enseignant comprend qu'un élève bien préparé n'a pas besoin de lui confier des tâches faciles ou très faciles. Parce que la probabilité de prendre la bonne décision est trop élevée. De plus, les matériaux légers n'ont pas de potentiel de développement notable. Symétriquement, en raison de la forte probabilité mauvaise décision Cela ne sert à rien de confier des tâches difficiles à un élève faible. On sait que les tâches difficiles et très difficiles réduisent motivation d'apprentissage de nombreux étudiants. Il fallait trouver une mesure comparable, sur une même échelle, de la difficulté des tâches et une mesure du niveau de connaissance. Cette mesure a été trouvée dans la théorie de la mesure pédagogique. Le mathématicien danois G. Rasch a appelé cette mesure le mot « logit » (1). Après l’avènement des ordinateurs, cette mesure a constitué la base de la méthodologie adaptative de contrôle des connaissances, qui utilise des méthodes pour réguler la difficulté et le nombre de tâches présentées, en fonction de la réponse des étudiants. Si la réponse est positive, l'ordinateur sélectionne la tâche suivante, plus difficile ; si la réponse est infructueuse, la tâche suivante sera plus facile. Naturellement, cet algorithme nécessite des tests préalables de toutes les tâches, déterminant leur degré de difficulté, ainsi que la création d'une banque de tâches et d'un programme spécial.

L'utilisation de tâches qui correspondent au niveau de préparation augmente considérablement la précision des mesures et minimise la durée des tests individuels à environ 5 à 10 minutes. Les tests adaptatifs permettent d'émettre des tâches par ordinateur au niveau optimal d'environ 50 %. probabilité de la bonne réponse pour chaque élève.

DANS Littérature occidentale Il existe trois options pour les tests adaptatifs. Le premier est appelé test pyramidal. En l'absence d'évaluations préliminaires, toutes les matières se voient confier une tâche de difficulté moyenne et ensuite seulement, en fonction de la réponse, chaque matière se voit confier une tâche plus facile ou plus difficile ; A chaque étape, il est utile d'utiliser la règle consistant à diviser l'échelle de difficulté en deux. Dans la deuxième option, le contrôle commence par n'importe quel niveau de difficulté souhaité par le sujet testé, avec une approche progressive du niveau réel de connaissances. La troisième option est lorsque les tests sont effectués à travers une banque de tâches divisées par niveaux de difficulté.

Ainsi, un test adaptatif est une variante d'un système de test automatisé dans lequel les paramètres de difficulté et de capacité de différenciation de chaque tâche sont connus à l'avance. Ce système est créé sous la forme d'une banque informatique de tâches, ordonnées en fonction des caractéristiques des tâches d'intérêt. La caractéristique la plus importante des tâches de tests adaptatifs est leur niveau de difficulté, obtenu empiriquement, ce qui signifie : avant d'arriver à la banque, chaque tâche est soumise à des tests empiriques sur un nombre suffisamment grand d'étudiants types de la population d'intérêt. Les mots « contingent d’intérêt » visent à représenter ici le sens du concept plus rigoureux de « population générale » connu en science.

Les origines de l’approche adaptative remontent à l’émergence de ouvrages pédagogiques Comenius, Pestalozzi et Disterweg, qui sont unis par les idées de conformité à la nature et d'humanité du savoir. Au centre d'eux systèmes pédagogiquesétait étudiant. Par exemple, dans l'ouvrage peu connu de A. Disterweg (2) « Règles didactiques » (Kiev, 1870), on peut lire les mots suivants : « Enseigner conformément à la nature... Enseigner sans lacunes... Commencer à enseigner là où le l’élève s’est arrêté… Avant de commencer à enseigner, il faut explorer le point de départ… Sans savoir où l’élève s’est arrêté, il est impossible de lui enseigner décemment. Le manque de conscience du niveau réel de connaissances des étudiants et les différences naturelles dans leur capacité à assimiler les connaissances proposées sont devenus la principale raison de l'émergence de systèmes adaptatifs, basé sur le principe d’individualisation des apprentissages. Ce principe est difficile à mettre en œuvre sous la forme d’un cours traditionnel en classe.

Avant l'avènement des premiers ordinateurs, la plupart système connu, proche de l’apprentissage adaptatif, était ce qu’on appelle le « Système d’assimilation complète des connaissances ». Cela a déjà été écrit dans l'école n° 26/99.

3. Les tests dits « basés sur des critères »
Il s'agit d'un nom très conventionnel et, en principe, incorrect pour un groupe de tests qui ont reçu une certaine diffusion et reconnaissance dans notre pays. Malheureusement, une tentative a même été faite pour introduire cette appellation dans le texte de nos lois sur la certification et les normes, à laquelle l'auteur de cet article s'est opposé (3). Il ne s’agit essentiellement pas de tests, mais d’une interprétation unique des résultats des tests.

Si tâche principale est le désir de savoir - quels éléments du contenu de la discipline académique ont été maîtrisés par l'un ou l'autre sujet de test, alors il s'agit d'un cas de matière - approche pédagogiqueà l'interprétation des résultats des tests. Dans ce cas, il est déterminé lequel des population tâches (en anglais Domain) que le sujet connaît et ce qu'il ne sait pas. L'interprétation des résultats est effectuée par les enseignants, dans la langue de la discipline académique.

La conclusion se construit selon une chaîne logique : le contenu de la discipline académique ® (c'est une flèche, voici à quoi cela ressemble ici) la population générale des tâches de mesure des connaissances ® test, comme échantillon de tâches de cette population , les réponses du sujet de test ® une conclusion probabiliste sur sa connaissance de la discipline académique. Lorsqu'on se concentre sur de tels tests, un grand nombre de tâches et une définition assez complète du contenu de la discipline étudiée sont nécessaires. L'interprétation des résultats est effectuée par les enseignants des matières.

Le débat s’articule autour de deux questions principales :

1) l'exactitude du contenu du test, c'est-à-dire l'exactitude de la formulation de ses tâches, la validité scientifique disciplinaire et l'admissibilité du test pour tester les connaissances d'intérêt dans un groupe de matières donné. Pour plaider en faveur d'un test particulier, les enseignants d'une matière s'appuient sur l'appareil conceptuel, les principes linguistiques et, en général, sur la connaissance de la discipline académique qu'ils enseignent. Dans de tels cas, on parle de tests avec une interprétation des résultats orientée vers le contenu (4). C'est ce qu'on appelle les tests référencés par domaine, qui peuvent être traduits par la corrélation des connaissances issues des résultats de tests avec les connaissances. liste complète qui sont représentés dans la population générale (domaine).

2) la validité de l'évaluation des connaissances tout au long matière académique, sur la base des résultats des sujets testés sur un petit échantillon d'éléments de test ; un échantillon d'une population potentiellement ou réellement existante de toutes les tâches qui pourraient être confiées aux sujets pour une évaluation sûre et raisonnable. En fait, il s'agit de justifier l'exactitude de l'inférence inductive sur la connaissance d'un grand nombre de questions basée sur les réponses à un petit nombre d'items de test.

Le deuxième type de tests est associé à une focalisation sur de tels objectifs spécifiques et des tâches, telles que la vérification du niveau de maîtrise d'une liste relativement courte de connaissances, compétences et aptitudes requises, servant de norme ou de critère de maîtrise donné. Par exemple, pour la certification des diplômés établissements d'enseignement Il est important d'avoir des tâches qui permettent de tirer une conclusion sur la compétence minimale acceptable des diplômés. À l’étranger, ils sont appelés : Tests de compétences minimales. Lors de la vérification du niveau minimum acceptable de connaissances, le contenu des tâches est fondamentalement simplifié. Étant donné que de telles tâches doivent être accomplies par tous les diplômés admis par l'établissement d'enseignement pour la certification, il est impossible de parler de tests comme d'une méthode de mesure objective et efficace des matières avec différents niveaux préparation, au sens strict de la notion de « test ». Cette approche a été développée pour les autorités éducatives confrontées à la nécessité de vérifier rapidement l'état de l'éducation dans un grand nombre d'établissements d'enseignement, et de ne pas permettre à ces derniers de tomber en dessous du niveau d'exigences maximum autorisé.

Dans de tels cas, la littérature occidentale parle de tests avec une interprétation des résultats axée sur des critères. La conclusion se construit selon une chaîne logique : tâches - réponses - conclusions sur la conformité du sujet à un critère donné. Par interprétation critériée, nous entendons une comparaison du contenu des documents de certification avec les résultats des tests et une conclusion : qu'est-ce qui a été réellement appris dans une norme donnée, en termes d'exigences, et à quel niveau.

L’interprétation basée sur des critères nécessite plusieurs plus petit nombre tâches à travers lesquelles on détermine ce que le sujet sait et ce qu'il ne sait pas à partir d'une norme donnée. En d'autres termes, ici, les réponses ne sont pas évaluées par rapport à l'ensemble du domaine (domaine) des connaissances requises, mais uniquement à partir du domaine limité par une norme ou un niveau (critère) de connaissances spécifique. Comme c'est le cas pour les tests référencés par domaine, l'interprétation des résultats est effectuée dans la langue de la discipline académique, mais principalement par les employés des autorités éducatives et les enseignants sur lesquels les gestionnaires s'appuient lors de la certification.

De l’avis de l’auteur, les « tests » utilisés dans ce cas ne répondent pas aux véritables exigences des tests traditionnels et adaptatifs. Avec une interprétation critériée, pour diagnostiquer un niveau de préparation prédéterminé, on n'utilise essentiellement pas de tests, au sens traditionnel de cette méthode, mais des ensembles de tâches sous forme de test et autres, rien de plus. Le mot est un, mais le sens est différent. Les « tests » avec une interprétation critériée sont souvent opposés aux tests avec une interprétation des résultats dite normative. En fait, ces derniers sont des tests traditionnels, dont certains comportent des variantes parallèles.

Littérature
  1. Rasch, G. Modèles probabilistes pour certains tests d'intelligence et de réussite. Avec un avant-propos et une postface de B.D. Wright. L'Univ. de Chicago Press. Chicago et Londres, 1980. 199 p. Pour une perception plus précise du sens du concept « logit », certains formalismes peuvent être utiles. Essentiellement, G. Rush a introduit deux mesures : le « logit du niveau de connaissance » et le « logit du niveau de difficulté de la tâche ». Il a défini le premier comme logarithme népérien le rapport entre la proportion de réponses correctes d'un sujet à tous les éléments du test et la proportion de réponses incorrectes, et le second - en tant que logarithme népérien d'un autre rapport - la proportion de réponses incorrectes à un élément du test par rapport à la proportion de réponses correctes à la même tâche, pour un ensemble de sujets.
  2. Disterweg A. « Règles didactiques » (Kyiv, 1870)
  3. Voir, par exemple, l'article : Avanesov V.S. " Normes éducatives il faut changer." USh, n° 46, décembre 1998
  4. Animé W. (éd.). Tests référencés par domaine. Publications de technologie éducative. Falaises d'Englewood, New Jersey, 1974.
  5. Berk R.A. (Éd.). Un guide sur les critères - Construction de tests référencés. L'Université John Hopkins. Presse, Baltimore, 1984.

12 réponses

Tests d'intégration c'est lorsque vous testez plusieurs composants et comment ils fonctionnent ensemble. Par exemple, la façon dont un autre système interagit avec votre système ou une base de données interagit avec la couche d'abstraction des données. Cela nécessite généralement un système entièrement installé, bien qu'il ne fonctionne pas sous sa forme pure.

Les tests fonctionnels consistent à tester un système par rapport aux exigences fonctionnelles du produit. La gestion de produit/projet enregistre généralement ces données, et l'assurance qualité formalise le processus de ce que l'utilisateur devrait voir et expérimenter, et ce que résultat final ces processus. Selon le produit, cela peut être automatisé ou non.

Tests fonctionnels : Oui, nous testons fonctionnellement le produit ou le logiciel dans son ensemble, qu'il fonctionne fonctionnellement ou non (tester les boutons, les liens, etc.)

Par exemple : page de connexion

vous fournissez un nom d'utilisateur et un mot de passe, vous vérifiez si cela vous amène à la page d'accueil ou non.

Tests d'intégration : Oui, vous testez uniquement le logiciel intégré, mais vous vérifiez où se produit le flux de données et si des modifications se produisent dans la base de données.

Par exemple : Envoi d'un e-mail

Vous envoyez un message à quelqu'un, il y a un flux de données, et aussi un changement dans la base de données (le tableau envoyé augmente la valeur de 1)

J'espère que cela vous a aidé.

Il s’agit d’une distinction importante, mais malheureusement vous ne parviendrez jamais à un accord. Le problème est que la plupart des développeurs les définissent avec leur propre point vision. Ceci est très similaire au débat sur Pluton. (Si elle était plus proche du Soleil, serait-ce une planète ?)

Les tests unitaires sont faciles à définir. Il teste CUT ( Code en cours de test) et rien d'autre. (Enfin, le moins possible.) Cela signifie qu’il s’agit de moqueries, de contrefaçons et d’accessoires.

À l’autre extrémité du spectre se trouve ce que beaucoup appellent les tests d’intégration de systèmes. Il s'agit de tester autant que possible, tout en recherchant des bugs dans votre propre CUT.

Mais qu’en est-il du vaste espace intermédiaire ?

  • Par exemple, que se passe-t-il si vous cochez un peu plus que CUT ? Et si vous activiez la fonction Fibonacci au lieu d'utiliser le luminaire que vous avez entré ? J'appellerais cela des tests fonctionnels, mais le monde n'est pas d'accord avec moi.
  • Et si vous incluiez time() ou rand() ? Et si vous appeliez http://google.com ? J'appellerais cela des tests de système, mais encore une fois, je suis seul.

Pourquoi est-ce important ? Parce que les tests système ne sont pas fiables. Ils sont nécessaires, mais ils peuvent parfois échouer pour des raisons indépendantes de votre volonté. D’un autre côté, les tests fonctionnels doivent toujours réussir et non au hasard ; s'ils s'avèrent rapides, ils peuvent également être utilisés dès le début pour utiliser le développement piloté par les tests sans écrire trop de tests pour votre implémentation interne. En d’autres termes, je pense que les tests unitaires peuvent être plus compliqués qu’ils ne valent la peine, et je suis en bonne compagnie.

J'ai défini les tests sur 3 axes, avec tous des zéros lors des tests unitaires :

  • Tests fonctionnels : utiliser du code réel de plus en plus profondément dans votre pile d'appels.
  • Tests d'intégration : votre pile d'appels est de plus en plus élevée ; en d'autres termes, tester votre CUT en exécutant le code qui l'utilisera.
  • Tests système : opérations de plus en plus uniques (planificateur O/S, horloge, réseau, etc.).

Le test pourrait facilement être les 3 à des degrés divers.

Test fonctionnel : il s'agit d'un processus de test dans lequel chaque composant d'un module est testé. Par exemple : si une page Web contient un champ de texte, vous devez cocher les cases, les boutons et les listes déroulantes du radiobot, etc.

Test d'intégration : processus dans lequel le flux de données entre deux modules est testé.

Tests d'intégration. Les tests d'intégration ne sont rien d'autre que tester divers modules. Vous devriez vérifier la relation entre les modules. Par exemple, vous ouvrez Facebook, puis vous voyez la page de connexion. Après avoir entré l'identifiant de connexion et le mot de passe, vous pouvez voir la page d'accueil de Facebook, donc la page de connexion est un module et la page d'accueil est un autre module. vous ne devez vérifier la connexion entre eux que lorsque vous êtes connecté, alors seule la page d'accueil doit être ouverte et non la boîte de message ou quoi que ce soit d'autre. Il existe deux principaux types de tests d'intégration : l'approche TOP-DOWN et l'approche BOTTOM UP.

Tests fonctionnels. Lors des tests fonctionnels, vous ne devez penser qu’aux entrées et aux sorties. Dans ce cas, vous devez penser comme un véritable utilisateur. Tester ce que vous avez donné et le résultat que vous avez obtenu est un test fonctionnel. il vous suffit de surveiller la sortie. Avec les tests fonctionnels, vous n'avez pas besoin de tester le codage de l'application ou logiciel.

Un test de test fonctionnel se concentre sur la fonctionnalité et les fonctionnalités de support de l'application. La fonctionnalité de l'application doit fonctionner correctement ou non.

Dans un test de test d'intégration, vous devez vérifier la dépendance entre les modules ou sous-modules. L'exemple d'entrées de module doit être rendu correctement et affiché dans un autre module.

Test d'intégration : - Lorsque les tests unitaires sont effectués et que les problèmes avec les composants associés sont résolus, alors tous composants nécessaires doit être intégré dans un seul système pour pouvoir effectuer l’opération. Après avoir intégré les composants du système Pour vérifier si le système fonctionne correctement ou non, ce type de test est appelé test d'intégration.

Tests fonctionnels : - Les tests sont principalement divisés en deux catégories : 1. Tests fonctionnels 2. Tests non fonctionnels ** Tests fonctionnels : - Pour vérifier si le logiciel fonctionne selon les exigences de l'utilisateur ou non. ** Tests non fonctionnels : - Pour vérifier si le logiciel répond à des critères de qualité tels que stress test, test de sécurité, etc.

Habituellement, le client fournit les exigences uniquement pour le test fonctionnel et pour le test non fonctionnel, les exigences ne doivent pas être mentionnées, mais l'application est requise pour effectuer ces activités.

Je dirais que les deux sont étroitement liés l’un à l’autre et qu’il est très difficile de les différencier. À mon avis, les tests d'intégration sont un sous-ensemble des tests fonctionnels.

La vérification des fonctionnalités est basée sur les exigences initiales que vous recevez. Vous testerez le comportement de l’application comme prévu par rapport aux exigences.

Lorsqu'il s'agit de tests d'intégration, il s'agit de l'interaction entre les modules. Si un module envoie une entrée, le module B peut la traiter ou non.

Tests d'intégration

Vous pouvez voir comment les différents modules du système fonctionnent ensemble. Nous nous référons principalement à la fonctionnalité intégrée des différents modules plutôt qu'aux différents composants du système. Pour travail efficace tout système ou produit logiciel chaque composant doit être synchronisé les uns avec les autres. Dans la plupart des cas, l'outil que nous avons utilisé pour les tests d'intégration sera celui que nous avons utilisé pour les tests unitaires. Il est utilisé dans situations difficiles lorsque les tests unitaires ne suffisent pas à tester le système.

Tests fonctionnels

Il peut être défini comme le test des fonctionnalités individuelles des modules. Il s'agit de tester un produit logiciel pour niveau individuel pour vérifier sa fonctionnalité. Les cas de test sont conçus pour tester le logiciel pour les résultats attendus et inattendus. Ce type de test est effectué davantage du point de vue de l'utilisateur. Autrement dit, il prend en compte les attentes de l'utilisateur en matière de saisie de type. On l'appelle également test en boîte noire et également appelé test en boîte fermée.

Aucun développement logiciel n'est complet sans tester le code exécutable. En fait, cela prend la moitié du temps total de développement et plus de la moitié du coût du projet. Cependant, cela fait partie intégrante du processus de création de nouvelles applications, programmes et systèmes.

Tests d'intégration dans le cadre d'un gros travail

L'un des moyens de contrôler la qualité des logiciels consiste à tester l'intégration, dont les données proviennent de modules individuels testés à l'étape précédente.

Contrairement à l'option modulaire, qui identifie les erreurs localisées dans chaque fonction ou classe individuelle, les tests d'intégration sont la recherche de défauts associés à la mise en œuvre de l'interaction entre en parties séparées produit créé. Les tests fonctionnels d'intégration utilisent la méthode de la « boîte blanche », c'est-à-dire que l'ingénieur qualité a accès et connaît les textes de chaque module individuel, ainsi que les principes d'interaction entre eux.

Méthodes d'assemblage des modules

La méthode monolithique signifie que tous les modules qui seront soumis à des tests d'intégration à l'avenir sont assemblés en même temps. Des situations surviennent presque certainement lorsqu'une partie du complexe testé n'est pas encore prête.

Dans ce cas, il est remplacé par des « stubs » ou pilotes développés en plus.

A côté de la méthode monolithique, il existe une méthode incrémentale (on l'appelle aussi pas à pas), puisque le volume du code testé augmente progressivement, permettant de localiser les zones présentant des défauts dans les relations entre les différentes parties.

La méthode incrémentielle comprend deux manières d'ajouter des modules :

  • descendant ou ascendant,
  • de bas en haut - descendant.

Caractéristiques des tests monolithiques et incrémentaux

Le principal inconvénient du type d'assemblage monolithique est grand nombre du temps et des coûts de main-d'œuvre sont consacrés à la simulation des parties manquantes du complexe testé. Il semblerait que les stubs soient un outil de test assez pratique, mais des situations surviennent lorsque, au cours du processus, il est nécessaire de recréer des parties simulées du programme. Par exemple, si la composition des modules testés change. De plus, l'efficacité de la détection des défauts n'est pas si élevée lorsque le travail ne porte pas sur un produit réel, mais uniquement sur un composant fictif. Le même inconvénient accompagne également les tests incrémentiels avec une méthode de construction ascendante.

Dans le même temps, l'un des inconvénients de la méthode étape par étape est la nécessité d'organiser et de créer un environnement pour exécuter les modules dans un ordre donné. Il est également pratiquement impossible de développer en parallèle les niveaux supérieur et inférieur.

Bien entendu, les deux méthodes d’assemblage, monolithique et incrémental, présentent non seulement des inconvénients, mais aussi des avantages. Dans le premier cas, il existe d'excellentes opportunités de développement parallèle de toutes les classes et fonctions impliquées dans les tests, comme dans étape initiale, et après modification. La méthode étape par étape demande moins de travail : les modules sont ajoutés progressivement et les erreurs et défauts sont également progressivement découverts. Ceci est connu pour réduire le temps passé à les rechercher.

Avantages des tests d'intégration

À ce stade, un travail colossal est effectué pour vérifier les relations à tous les niveaux, sans lequel, bien entendu, des tests plus approfondis sont impossibles.

Les tests d'intégration logicielle présentent de nombreux avantages :

  • vérifier l'interface d'interaction entre les modules de programme individuels ;
  • contrôle des relations entre les solutions logicielles complexes testées et tierces ;
  • tester le fonctionnement des composants externes de la solution ;
  • contrôle de la conformité de la documentation du projet concernant l'interaction des modules individuels.

Correction des défauts

Les tests d'intégration sont terminés, mais ce n'est pas tout. Les erreurs trouvées sont enregistrées et envoyées au développeur pour correction, après quoi le processus recommence.

Tout d'abord, il est nécessaire de vérifier si les défauts identifiés ont été éliminés. Deuxièmement, lorsque le code source était modifié, de nouvelles erreurs pouvaient survenir dans le fonctionnement du programme et dans l'interaction avec des logiciels tiers.

Bien qu’il existe actuellement un grand nombre de méthodes de contrôle qualité, les tests d’intégration jouent toujours un rôle important. Un exemple de ce type de vérification peut clairement démontrer les goulots d'étranglement dans le développement de logiciels et la documentation.

Automatisation des tests

En fonction du volume du complexe de données d'origine et domaine développement, le problème du temps de test et de l'intensité de travail de l'événement dans son ensemble peut se poser.

Pour la plupart vérification efficace le développement doit être utilisé quantité énorme données et conditions d’entrée, impossibles à gérer « manuellement ». L'automatisation des tests est utilisée pour résoudre ce problème. Comme d’autres types, les tests d’intégration peuvent également être automatisés. Cela réduira le temps de développement global et augmentera également l’efficacité du processus de détection des erreurs.

Cependant, l’automatisation des tests ne peut pas remplacer complètement le travail d’un ingénieur qualité, mais seulement le compléter.

Ainsi, les tests d'intégration font partie intégrante du développement de tout logiciel et l'une des étapes de l'ensemble du processus de vérification de la qualité du produit. Comme toute méthode, elle présente un certain nombre d’avantages et d’inconvénients, mais sans son utilisation, le développement de logiciels de haute qualité devient impossible.



Avez-vous aimé l'article? Partagez avec vos amis !