컴컴컴컴컴컴컴컴컴
TESTS DE DETECTION
컴컴컴컴컴컴컴컴컴
Tous les profs d'infos savent �a : un bon programme est un
programme non-plantable. Quelque soit le type de mat�riel ou la
configuration, le programme devra se terminer par un message
d'erreur plutot que par un bug. En effet, on ne peut pas
vraiment dire d'un programme qui d�tecte qu'il ne va pas
fonctionner et qui retourne au DOS sans planter qu'il ne
marche pas. Et donc on ne peut pas vraiment demander le
remboursement du produit dans un tel cas. Ainsi est-il
indispensable de savoir d�terminer la configuration hard
d'une machine, ainsi que la configuration soft. Mais il est
aussi parfois plus important de connaitre le type
d'utilisateur plutot que le type de processeur. Or il est
possible d'obtenir des renseignements tr�s r�v�lateurs par
soft, sans donc qu'il soit n�cessaire pour l'acheteur du
produit de se livrer � une longue et p�nible s�ance de
configuration.
Nous allons passer en revue plusieurs cas o� l'utilisateur �
une influence qu'il ne soup�onne pas sur le d�roulement du
programme.
1. Securit�e adaptative sensitive.
Vous �crivez une interface archi-surs�curis�e, mais vous vous
demandez � partir de quel niveau de r�cursion votre routine
demandant la confirmation ("Etes-vous sur ? (O/N)") de la
confirmation de la confirmation de la confirmation etc de
l'effacement du fichier "toto.bak" commence � irriter
l'utilisateur.
La solution : d�terminer le niveau en fonction de la patience
de l'utilisateur �valu�e lors du lancement du programme par
ce test :
Avant de d�marrer quoique ce soit, faites une pause de
quelques minutes, et lisez le clavier. Chaque touche press�e
rapporte un point, ESPACE ou ENTER rapportent deux points,
ESC en rapporte trois, les combinaisons CTRL+C et CRTC+Break
en rapportent cinq, et CTRL+ALT+DEL en rapporte dix. En
fonction du score obtenu pendant cette pause, le programme
d�termine la patience de l'utilisateur (plus le score est
�lev�, moins il faut de r�curence dans la confirmation pour
effacer un petit fichier).
2. Shell intelligent intuitif et personnalis�
Votre patron vous demande de programmer "un shell intuitif et
simple, c'est pour les secr�taires elles en ont marre de
perdre des fichiers dans leur disque dur, et pis pour moi
aussi faut que ca me permette de lancer doom dans
C:\RAPPORT.DAT\JEUX\DOOM1\SAVEGAME\DOOM2\BIN, c'est facile je
sais pas moi, d�brouilles toi".
Comment faire pour que les secr�taires ne perdent plus de
fichiers ? Simple : les cantonner � un r�pertoire (puisque la
simple id�e de r�essayer de leur apprendre quelques commandes
vous fait passer une nuit blanche). Et pour le patron alors,
comment va t'il aller jouer � DOOM ? Il faut un shell qui
s'adapte � l'utilisateur ! Si l'utilisateur est
inexp�riment�, il faut lui interdire les commandes CD, MD,
RD, etc...
Determiner l'exp�rience de l'utilisateur est chose ais�e.
Plusieurs choix s'offrent � vous, nous vous pr�sentons leurs
points forts/faibles. Choisissez :
* D�tournez l'IRQ1 sur un compteur qui d�terminera la cadence
de frappe de l'utilisateur. Note : Mais une cadence de frappe
tr�s �lev�e peut appartenir � une secr�taire qui s'�nerve, ou
� un sac � main pos� sur le clavier par inadvertance.
* Rajoutez dans l'int9 un TSR qui d�termine et comptabilise
les diff�rentes commandes tap�es. Si moins de cinq commandes
diff�rentes sont tap�es il s'agit d'une secr�taire (test
r�alis� sur un �chantillon de trois entreprises et deux facs,
mais de toute facon c'est partout pareil). Note : Mais si la
seule commande tapp�e est "CD", il s'agit du patron qui
cherche DOOM.
* Affichez un message d'erreur quelconque plus ou moins bidon,
du genre "Temp�rature ambiante trop �lev�e : (O)uvrir la
fen�tre ou (A)ugmenter la vitesse du ventilateur ?". Puis
chronometrez le temps de r�ponse. Lent : La secr�taire est
partie chercher un sp�cialiste (qui est absent, personne ne
l'a vu ce matin, peut-etre au caf� ?). Rapide : le patron
s'en fout de la temp�rature, il veut jouer � DOOM. Note :
Mais il est possible que la secr�taire n'ait pas vu le
message et ait appuy� sur ENTER par habitude.
* Testez la premi�re commande tap�e au clavier :
- dir : secr�taire v�rifiant on se sait trop quoi.
- azerty (puis delet� scrupuleusement et non valid�) :
secr�taire v�rifiant que le clavier fonctionne ou se mettant
en condition.
- CD RAPPORT.DAT
CD JEUX
CD DOOM1
CD SAVEGAME
CD DOOM2
CD BIN
DOOM.EXE : patron
- CD RAPPORT.DAT\JEUX\DOOM1\SAVEGAME\DOOM2\BIN : un intrus
(Note : vous remarquerez pour l'anecdote que le patron est
incapable d'avoir install� DOOM lui m�me. En fait il a
d�couvert ce jeu sur son disque dur alors qu'il cherchait �
installer Digger. On ne sait pas qui � install� DOOM. En
g�n�ral il s'agit d'un ancien employ� qui ne travaille plus
l� depuis longtemps. Mais de toute facon personne ne sait
comment effacer un fichier)
3. Detecteur de comp�tence.
Vous devez �crire un programme pour une boite, mais vous ne
savez pas s'il convient de s�curiser le programme � coup de
"Etes-vous sur ?", "F1 pour l'aide" et autres "Cliquez ici je
vous prie". En fait, il faudrait que le programme d�termine
le niveau du responsable informatique de la boite. Pas de
probl�me, ici encore des tests simples permettent de s'en
sortir :
* Testez le fichier de configuration de windows :
- Pr�sence d'une image de fond : impossible qu'un employ�
soit capable de personnaliser windows. Vous pouvez �tre sur
de la pr�sence d'un responsable qualifi�.
- le nom de l'image de fond est "claudia*.bmp" ou
"cyndy*.bmp". Victoire, il s'agit d'une boite d'informatique !
- l'image est une des images par d�faut de windows : Pas de
chance ! Une companie d'assurances !
- "C:\WINDOWS" : chemin invalide. Il n'y � pas de responsable
informatique. Ou bien s'il y en � un, il est tr�s fort : rares
sont ceux qui osent changer un nom de r�pertoire par d�faut.
* Recherchez r�cursivement le plus grand nombre de r�pertoires
imbriqu�s les uns dans les autres. S'il y � autant de
r�pertoires que de fichiers, ou si au contraire le programme
trouve des choses du genre DOS\TMP\WINWORD\BACKUP\DOOMSAVE\DOS
c'est que l'administrateur r�seau risque d'appeler votre
hot-line trois fois par jour (la premi�re fois pour demander
des explications au sujet de l'installation, la seconde pour
savoir dans quel sens introduire la disquette, et la
troisi�me pour gueuler parceque vous avez vendu des
disquettes double-face qu'on ne peut mettre que dans un seul
sens).
* Recherchez tous les ex�cutables dans les r�pertoires
"\BORLAND", "\BORLANDC", "\TURBOP", etc... Ex�cutez chacun de
ces fichiers en redirigeant la sortie vers un fichier.
Comparez le fichier de sortie � "Hello World".
* Comptez le nombre de fichier "*.DRV" sur le disque. Si vous
trouvez plus de 20 drivers graphiques et une quinzaine de
drivers sonnores diff�rents, vous �tes chez quelqu'un qui ne
sait pas � quoi servent les fichiers (ou, pire : qui le sait
mais qui n'ose pas les effacer) ...
* Recherchez un �ventuel r�portoire "\REP" :)
4. Programmes socio-adaptatifs
Vous �tes l'heureux auteur d'un jeu qui rel�gue DOOM et Wolf3d
au rang de Bubble-Bobble pour vieilles grands m�res
puritaines. Seul probl�me : interdire le jeu aux mineurs.
Premi�re chose � tester : le processeur ! Si le joueur dispose
d'un ORIC ou d'un VAX, il est probable qu'il ne soit pas n�e
d'hier (il est encore plus probable que le jeu ne tourne
pas).
Un autre test est de rechercher des fichiers "*.GIF" et
"*.FLI". Ce n'est pas tant le nombre de fichiers qui compte
mais plutot leur localisation. Si vous trouvez le fichier
"Z:\WINDOWS\TMP\TEXTES\AVION.GIF", il s'agit en fait du
fichier "PAMELA.GIF" renomm� et cach� dans cette partition
secr�te du disque dur de son popa par un petit ado de 15 ans.
Si vous trouvez plutot "C:\INZEBUTT.FLI" bien class� entre un
"CONFIG.SYS" et un "AUTOEXEC.BAT", vous �tes chez une
personne plus ag�e qui s'assume.
Vous pouvez aussi rechercher les autres jeux pr�sents sur le
disque. Voici une petite �chelle :
* de 1 � 5 ans : C:\NATHAN\BEBE1.COM (B�b� apprend � lire)
* de 6 � 10 ans : C:\NATHAN\BEBE2.COM (B�b� apprend � compter)
* de 11 � 15 ans : C:\JEUX\DOOM.EXE (B�b� apprend � d�couper
un alien mutant � la tron�onneuse)
* de 16 � 20 ans : C:\BORLAND\TP.EXE (Ca ne rigole plus,
l'utilisateur veux coder une d�mo)
* de 21 � 25 ans : C:\BORLANDC\BC.EXE (l'utilisateur en �
marre de se faire bassiner parcequ'il programme des d�mos en
Pascal)
* de 26 � 30 ans : C:\CIEL\COMPTA.EXE (l'employ� regrette le
temps ou il codait des d�mos en Pascal, mais il faut bien
manger)
* au del� : C:\RAPPORT.DAT\JEUX\DOOM1\SAVEGAME\DOOM2\BIN
Vous pouvez sans doute en trouver d'autres...