Brevet FR2984061A1 — publié le 20130614

La présente invention concerne un procédé de test pour dispositif de réception de contenu audiovisuel. Elle trouve des applications dans les tests de non régression mis en oeuvre après la modification de dispositifs tels que les terminaux numériques connus sous l'appellation anglo-saxonne « Set Top Box ». Les tests de non régression visent à s'assurer que la modification d'une fonctionnalité du dispositif n'a pas altéré une autre fonctionnalité. Ces tests peuvent être mis en oeuvre après une mise à jour du logiciel de contrôle du dispositif (« firmware » en terminologie anglo-saxonne), par exemple pour corriger des dysfonctionnements ou pour améliorer des fonctionnalités. La mise en oeuvre de ces tests constitue un coût important dans le processus de développement des dispositifs de réception de contenu audiovisuel. En effet, elle nécessite l'utilisation d'automates dédiés, chargés de mettre en oeuvre des scripts de test. Du fait de ce coût important, la mise en oeuvre de ces automates de test est limitée et réservée aux aspects de robustesse et de performance des dispositifs. Or, les tests de non régression peuvent être tout aussi utiles pour la vérification du bon fonctionnement d'autres aspects des dispositifs de réception de contenu audiovisuel, comme par exemple l'interface graphique de ceux-ci. Le document EP 0 896 483 A2 divulgue un test de décodeur vidéo comportant la fourniture d'un flux vidéo numérique encodé de manière parallèle à un décodeur à tester et à un décodeur de référence. Les performances du décodeur à tester sont ensuite déterminées par un automate chargé de comparer des flux vidéo décodés par le décodeur de référence d'une part et par le décodeur à tester d'autre part. Selon ce document, le test est limité à la capacité à décoder de la vidéo, c'est-à-dire les performances du dispositif, et ne porte pas par exemple sur son interface. Le document WO 2010/133699 Al divulgue un test de « Set Top Box » comportant la mise en oeuvre d'un script de test et, lors de cette mise en oeuvre l'enregistrement des commandes en entrée et des données vidéo de sortie du Set Top Box. Il est ensuite prévu de restituer une vidéo montrant le déroulement du script, et, de manière synchronisée, la séquence des commandes en entrée. Selon ce document, le script de test n'est mis en oeuvre que sur un seul dispositif, c'est-à-dire le dispositif à tester. La personne chargée de tester le dispositif doit connaître l'effet escompté de chaque commande du script sur le Set Top Box pour détecter un problème. Il existe donc un besoin pour améliorer les tests pour dispositifs de réception de contenu audiovisuel, notamment les tests de non régression. L'invention s'inscrit dans ce cadre. Un premier aspect de l'invention concerne un procédé de test d'au moins un dispositif de réception de contenu audiovisuel, comportant les étapes suivantes de : - lancement d'au moins un scénario de test de manière parallèle, sur un dispositif de référence et sur au moins un dispositif à tester, - premier contrôle du déroulement du au moins un scénario de test sur le dispositif de référence, et - deuxième contrôle du déroulement du au moins un scénario de test sur le au moins un dispositif à tester, ledit deuxième contrôle étant synchronisé au premier contrôle selon au moins un point de contrôle dans le au moins un scénario de test, dans lequel les premier et deuxième contrôles comportent respectivement la lecture de données de sortie du dispositif de référence et du au moins un dispositif à tester, en vue de leur comparaison. Ainsi, contrairement aux outils de tests automatiques actuels, il n'est 25 pas nécessaire de développer des images de référence et de développer des scripts de test à l'avance. Le processus de test est simplifié et moins coûteux. En effet, les images de référence peuvent être produites à la volée, étant donné que le dispositif de référence et le dispositif à tester mettent en oeuvre le scénario de test en parallèle. 30 Le temps de développement des scénarii de test est ainsi réduit. La présente invention permet également de rendre les scénarii de test indépendants des données dynamiques. Il est ainsi plus simple de tester une interface graphique, un guide de programme, un catalogue de produits de vidéo à la demande ou toute autre fonctionnalité qui évolue quotidiennement. La présente invention permet d'automatiser facilement des phases de non régression en matière logicielle et /ou matérielle. Elle s'applique à divers systèmes gérant des données mises à jour régulièrement (dispositifs TNT, sigle de « Télévision Numérique Terrestre », ADSL, sigle de « Asymmetric Digital Subscriber Line », « Set Top Box » ou autre. Le procédé peut en outre comporter une étape de définition du scénario de test par navigation dans une interface utilisateur du dispositif de référence. L'utilisateur peut ainsi optimiser le test en le focalisant sur des fonctionnalités qu'il souhaite vérifier. Le procédé peut aussi comporter une étape de définition du ou des points de contrôle dans le au moins un scénario de test. L'utilisateur peut ainsi choisir en configurant le système les instants qui lui semblent critiques dans le scénario pour opérer la comparaison des données de sortie du dispositif de référence et du dispositif à tester. La définition du scénario de test peut se faire via une télécommande pilotée par le système.. Ainsi, la définition du scénario est simple et intuitive pour l'utilisateur. Le scénario de test peut être crée à la volée permettant ainsi une génération du script de test. Le code de ce script de test peut ensuite être repris pour faire des ajustements temporels dans la séquence des actions du scénario ou pour ajuster le nombre d'itérations du scénario. Les étapes de lancement, de premier contrôle et de deuxième contrôle peuvent être mises en oeuvre de manière cyclique et plusieurs cycles peuvent être effectués. Ainsi, il est possible de moyenner le test et ne pas tenir compte d'éventuelles erreurs de lecture des données de sortie. Les données de sortie du dispositif de référence et du dispositif à tester peuvent être affichées. Ainsi, il est possible pour un utilisateur de comparer à la volée les images issues des deux dispositifs et détecter un dysfonctionnement sur le dispositif à tester. Lors des points de vérification opérés pendant les phases de test automatique entre le dispositif de référence et le dispositif à tester, les comparaisons peuvent être faites sur la totalité de l'écran ou sur une partie de l'écran en appliquant des masques prédéfinis. Les données de sortie du dispositif de référence et du dispositif à tester au point de contrôle peuvent être archivées. Ainsi, il est possible d'effectuer une analyse ultérieure de ces données. Le test mis en oeuvre peut par exemple être un test de non régression du dispositif à tester. Un deuxième aspect de l'invention concerne un programme d'ordinateur ainsi qu'un produit programme d'ordinateur et un support de stockage pour de tels programme et produit, permettant la mise en oeuvre d'un procédé selon le premier aspect lorsque le programme est chargé et exécuté par un processeur d'un dispositif de test de dispositif de réception de contenu audiovisuel. Un troisième aspect de l'invention concerne un dispositif de test de dispositif de réception de contenu audiovisuel configuré pour la mise en oeuvre d'un procédé selon le premier aspect de l'invention. Par exemple, un tel dispositif comporte une unité de traitement configurée pour lancer au moins un scénario de test de manière parallèle, sur un dispositif de référence et sur au moins un dispositif à tester, pour contrôler le déroulement du au moins un scénario de test sur le dispositif de référence et sur le au moins un dispositif à tester de manière synchronisée selon au moins un point de contrôle dans le au moins un scénario de test, le contrôle comportant la lecture de données de sortie du dispositif de référence et du au moins un dispositif à tester, en vue de leur comparaison. Les objets selon les deuxième et troisième aspects de l'invention procurent au moins les mêmes avantages que ceux procurés par le procédé selon le premier aspect. Le dispositif selon le troisième aspect peut comporter des moyens pour la mise en oeuvre de caractéristiques optionnelles évoquées pour le premier aspect en termes de procédé. D'autres caractéristiques et d'autres avantages de la présente invention apparaîtront à la lecture de la description non-limitative suivante, faite en référence aux figures suivantes parmi lesquelles : - la figure 1 illustre un contexte général de mise en oeuvre de modes de réalisation de l'invention, avec un dispositif selon un mode de réalisation ; - les figures 2a et 2b illustrent des images issues d'un dispositif de référence et d'un dispositif à tester ; et - la figure 3 est organigramme d'étapes mises en oeuvre dans un procédé selon un mode de réalisation. Comme décrit dans la suite de la description, les modes de réalisation de l'invention offrent un moyen de simplifier et d'automatiser les tests de dispositif de réception de contenu audiovisuel, notamment les tests de non régression, en permettant la définition de scénarii de test indépendamment des données affichées par le dispositif, qui peuvent évoluer quotidiennement (guide de programme, portails de vidéo à la demande ou autre). Dans la suite, de la description, on entend par « scénario de test », un ensemble d'opérations à faire exécuter par le dispositif à tester. Ces opérations sont choisies pour vérifier que le dispositif à tester réagit de manière prévisible. Par exemple, un scénario de test peut consister à effectuer un certain nombre d'entrées dans une interface pour lancer une fonctionnalité. Ainsi, le but de ce scénario est de vérifier que la fonctionnalité se lance bien et au bon moment dans la navigation dans l'interface. La figure 1 illustre un contexte général de mise en oeuvre de modes de réalisation de l'invention, ainsi qu'un dispositif de test selon un mode de réalisation. Un dispositif de réception de contenu audiovisuel à tester 100 et un dispositif de réception de contenu audiovisuel de référence 101 sont connectés à un dispositif de test 102. Le dispositif de référence et le dispositif à tester peuvent être commandés via une télécommande 103. Le dispositif de test est connecté à un écran 104 pour afficher des données de sortie des dispositifs 100 et 101. La télécommande peut notamment être utilisée pour définir un scénario de test sur le dispositif de référence. Par exemple, il est proposé de mettre en oeuvre un test de non régression sur le dispositif à tester. Il est supposé que le dispositif à tester à fait l'objet d'une modification sur une fonctionnalité donnée et le test de non régression vise à vérifier que cette modification n'a pas entraîné un dysfonctionnement non souhaité et non prévu sur une autre fonctionnalité du dispositif à tester. Par exemple, le dispositif de référence est un dispositif identique au dispositif à tester, qui reçoit les mêmes signaux de diffusion de contenu audiovisuel et qui dispose des mêmes droits de réception et de décodage. Le dispositif de référence peut être dans la même configuration que le dispositif à tester, c'est-à-dire qu'il a été l'objet de la même modification que le dispositif à tester. Dans ce cas, il a été préalablement vérifié que la modification n'a aucunement altéré le dispositif de référence sur les autres fonctionnalités. Alternativement, le dispositif de référence est dans la configuration initiale du dispositif à tester, c'est-à-dire qu'il n'a pas subi la modification de la fonctionnalité donnée. Ainsi, il est possible de vérifier que les fonctionnalités autres que celle qui a fait l'objet de la modification n'ont pas évolué. Chacun des dispositifs 100 et 101 est connecté au dispositif de test 102 via une unité d'acquisition 105 du dispositif de test. L'unité d'acquisition est configurée pour recevoir des données de sortie des dispositifs 100 et 101, notamment des données de sortie vidéo. A cet effet, l'unité d'acquisition comporte une unité de communication 106 dédiée à la réception de données provenant du dispositif à tester 100 et une unité de communication 107 dédiée à la réception de données provenant du dispositif à tester 101. Les données acquises par les unités de communication 106 et 107 peuvent faire l'objet de traitements dans l'unité d'acquisition, par exemple, en vue de leur adaptation pour leur traitement ultérieur au sein du dispositif de test. Les données acquises par l'unité d'acquisition, éventuellement traitées, sont ensuite transmises à une unité de traitement 108 du dispositif de test. L'unité de traitement 108 contrôle de manière générale le fonctionnement du dispositif de test, elle est chargée de mettre en oeuvre un procédé comme décrit dans la suite, par exemple en faisant exécuter, par un processeur (non représenté) de l'unité de traitement, un programme d'ordinateur stocké dans une unité de mémoire 109 du dispositif de test. L'unité de mémoire 109 comporte une mémoire vive pour stocker de manière non durable des données de calcul utilisées lors de la mise en oeuvre d'un procédé selon un mode de réalisation. L'unité de mémoire comporte par ailleurs une mémoire non volatile (par exemple du type EEPROM) pour stocker notamment le programme d'ordinateur selon un mode de réalisation pour son exécution par le processeur de l'unité de traitement. L'unité de traitement 108 contrôle une unité d'affichage 110, configurée pour commander l'affichage sur l'écran 104 de données de sortie des dispositifs 100 et 101. A cet effet, l'unité d'affichage reçoit des données de l'unité de traitement, les met éventuellement en forme pour les adapter à l'écran 104, puis les transmet à l'écran 104 via une unité de communication 111. L'unité de traitement contrôle en outre une unité de création de rapport 112 configurée pour, à partir des données de sortie des dispositifs 100 et 101 et du traitement de l'unité 108, de créer un rapport de test comportant par exemple des résultats de comparaison des données de sortie et éventuellement un premier diagnostic en cas de problème détecté. Une fois le rapport crée, il est transmis à une base d'archivage 113 (qui peut être distante ou non) via une unité de communication 114. Le rapport peut en outre comporter la liste des commandes du scénario de test, provenant de la télécommande lors de la définition du scénario de test par envoi au dispositif d'une série de commandes de navigation via la télécommande. L'unité de traitement contrôle en outre une unité de pilotage 115 configurée pour gérer les cycles de lancement de scénarii de test sur les dispositifs 100 et 101. Par exemple, selon le nombre de cycles à mettre en oeuvre, l'unité de pilotage peut commander de relancer un scénario de test ou au contraire arrêter un cycle. La mise en oeuvre de cycles de lancement de plusieurs scénarii de test permet de réaliser une moyenne afin de ne pas tenir compte, par exemple de faux positifs ou d'erreurs de lecture de données de sortie des dispositifs 100 et 101. L'unité de pilotage et en outre configurée pour enregistrer un scénario de test lorsqu'un utilisateur définit un tel scénario via la télécommande 103. A cet effet, l'unité de pilotage peut disposer d'une unité de mémoire propre (non représentée) ou procéder à l'enregistrement du scénario dans l'unité de mémoire 109. Les figures 2a et 2b représentent des données de sortie pour respectivement le dispositif de référence 101 et le dispositif à tester 100, dans le but d'illustrer la détection de dysfonctionnement. L'exemple donné en référence à ces figures est purement illustratif et d'autres exemples auraient pu être pris. Sur la figure 2a est représenté un écran d'image 200 tel qu'il est affiché à un utilisateur. Cette image comporte une interface graphique 201 comportant des icônes 202 (RECHERCHE), 203 (GUIDE), 204 (ZAP), 205 (INFO), 206 (VIDEOS), 207 (EVENEMENT) et 208 (MA TV) sélectionnables par l'utilisateur pour accéder à des fonctionnalités du dispositif. Sur la figure 2b est représenté le même écran d'image, à la différence que l'interface graphique ne fonctionne pas correctement et n'affiche pas l'icône 207 de la figure 2a. L'image 200' de la figure 2b diffère donc de l'image 200 de la figure 2a par l'absence de l'icône 207. Ainsi, par comparaison des images 200 et 200', il est possible de déterminer que le dispositif à tester comporte un dysfonctionnement dans sn interface graphique. La comparaison peut se faire à l'oeil par un utilisateur via l'écran 104 en affichant côte à côte les images 200 et 200', ou automatiquement par le dispositif de test en comparant les images 200 et 200' pixel par pixel. La comparaison peut également être partielle en considérant une partie de l'écran. Cela peut par exemple se faire par l'exclusion de zone par application d'un masque préalablement défini En référence à la figure 3, il est décrit un procédé selon un mode de réalisation. Lors d'une étape S300, un scénario de test est défini. Par exemple, ce scénario de test est défini par un utilisateur au moyen d'une télécommande en naviguant dans l'interface du dispositif à test. L'utilisateur peut ainsi focaliser le test sur des fonctionnalités particulières. En parallèle, lors de l'étape S301, un nombre N de points de contrôle dans le scénario de test sont définis. Les points de contrôle peuvent correspondre à des instants particuliers auxquels des informations devraient s'afficher à l'écran si le dispositif à tester fonctionne correctement. Alternativement, les points de contrôle peuvent correspondre à des intervalles de temps réguliers. Les étapes S300 et S301 peuvent être mise en oeuvre dans une même étape. Une fois le scénario de test et les points de contrôle définis, le scénario de test est lancé de manière parallèle sur le dispositif de référence et sur le dispositif à tester lors d'étapes parallèles S302 et S303 respectivement. Une fois le scénario lancé sur les deux dispositifs, les données de sortie de ces dispositifs sont affichées, par exemple sur un même écran, lors 20 d'une étape S304. Il convient de noter que le procédé peut être mis en oeuvre pour plus d'un dispositif à tester. Dans ce cas, il comporte d'autres étapes de lancement parallèles et les données de sorties peuvent être affichées sur plusieurs écrans, afin que le rendu reste lisible. 25 Au fur et à mesure du déroulement du scénario de test, il est déterminé lors d'une étape S305 si le scénario en est à un point de contrôle. Si ce n'est pas le cas, le scénario de test suit son cours. Si un point de contrôle est détecté les données de sorties sont lues pour chacun des dispositifs de référence et à tester à l'instant du point de 30 contrôle, lors de l'étape S306. Ces données sont ensuite comparées lors d'une étape S307. Par exemple, il s'agit de comparer les images respectivement issues des dispositifs à l'instant du point de contrôle. La comparaison peut par exemple se faire pixel par pixel. Les données de sortie lues sont ensuite stockées lors d'une étape S308. Le résultat de la comparaison peut également être stocké lors de cette étape. Un compteur de points de contrôle est ensuite mis à jour lors de l'étape S309. Le compteur est ensuite testé lors de l'étape S310 pour vérifier s'il a atteint le nombre N de points de contrôle. Si ce n'est pas le cas, l'étape S305 et les suivantes sont ré- exécutées. Si c'est le cas, tous les points de contrôle ont été rencontrés et un cycle de test se termine. L'étape S311 permet alors de déterminer si un autre cycle doit être lancé, par exemple en vérifiant un compteur de cycle ou en demandant à l'utilisateur via une interface dédiée. Si un cycle doit être relancé, les étapes S302 et S303, ainsi que les suivantes sont relancées. Si ce n'est pas le cas, un rapport de test est établi lors d'une étape S312. Le rapport de test est établi sur la base des données stockées lors de l'étape S308. Par exemple, il est déterminé si des différences de pixels sont identifiées dans des zones d'intérêt, comportant par exemple l'affichage d'une fonctionnalité particulière. Alternativement, le rapport de test comporte des données brutes, envoyées à une base d'archivage pour analyse approfondie. Un programme d'ordinateur pour la mise en oeuvre d'un procédé selon un mode de réalisation de l'invention peut être réalisé par la personne du métier à la lecture de l'organigramme de la figure 3 et de la présente description détaillée. Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites, d'autres variantes et combinaisons de caractéristiques sont possibles. La présente invention a été décrite et illustrée dans la présente description détaillée en référence aux figures jointes. Toutefois la présente invention ne se limite pas aux formes de réalisation présentées. D'autres variantes et modes de réalisation peuvent être déduits et mis en oeuvre par la personne du métier à la lecture de la présente description et des figures annexées. Dans les revendications, le terme "comporter" n'exclut pas d'autres éléments ou d'autres étapes. L'article indéfini « un » n'exclut pas le pluriel. Un seul processeur ou plusieurs autres unités peuvent être utilisées pour mettre en oeuvre l'invention. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes, n'exclut pas en effet la possibilité de les combiner. Les signes de référence ne sauraient être compris comme limitant la portée de l'invention. REVENDICATIONS1. Procédé de test d'au moins un dispositif (100) de réception de contenu audiovisuel, comportant les étapes suivantes de : - lancement (S302, S303) d'au moins un scénario de test de manière parallèle, sur un dispositif de référence (101) et sur au moins un dispositif à tester (100), - premier contrôle (S306) du déroulement du au moins un scénario de test sur le dispositif de référence, et - deuxième contrôle (S306) du déroulement du au moins un scénario de test sur le au moins un dispositif à tester (100), ledit deuxième contrôle étant synchronisé au premier contrôle selon au moins un point de contrôle dans le au moins un scénario de test, dans lequel les premier et deuxième contrôles comportent respectivement la lecture de données de sortie du dispositif de référence et du au moins un dispositif à tester, en vue de leur comparaison (S307). 2. Procédé selon la revendication 1, comportant en outre une étape de définition (S300) du scénario de test par navigation dans une interface utilisateur du dispositif de référence. 3. Procédé selon la revendication 2, comportant en outre une étape de définition (S301) dudit au moins un point de contrôle dans le au moins un scénario de test. 4. Procédé selon l'une des revendications 2 et 3, dans lequel la définition du scénario de test se fait via une télécommande (103) du dispositif de référence. 5. Procédé selon l'une des revendications précédentes, dans lequel les étapes de lancement (S302, S303), de premier contrôle et de deuxième contrôle (S306) sont mises en oeuvre de manière cyclique et dans lequel plusieurs cycles sont effectués. 6. Procédé selon l'une des revendications précédentes, comportant en outre une étape d'affichage (S304) des données de sortie du dispositif de référence et du au moins un dispositif à tester. 7. Procédé selon l'une des revendications précédentes, comportant en outre une étape d'archivage (S308) des données de sortie du dispositif de référence et du au moins un dispositif à tester audit au moins un point de contrôle. 8. Procédé selon l'une des revendications précédentes, dans lequel le test mis en oeuvre est un test de non régression du au moins un dispositif à tester. 9. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications précédentes lorsqu'il est chargé et exécuté par un processeur d'un dispositif de test de dispositif de réception de contenu audiovisuel. 10. Dispositif de test de dispositif de réception de contenu audiovisuel comportant une unité de traitement (108) configurée pour lancer au moins un scénario de test de manière parallèle, sur un dispositif de référence (101) et sur au moins un dispositif à tester (100), pour contrôler le déroulement du au moins un scénario de test sur le dispositif de référence et sur le au moins un dispositif à tester (100) de manière synchronisée selon au moins un point de contrôle dans le au moins un scénario de test, le contrôle comportant la lecture de données de sortie du dispositif de référence et du au moins un dispositif à tester, en vue de leur comparaison.