timetrack-pro/docs/TEST_CHECKLIST.md
StillHammer 317ca0904a Phase 6: Documentation + Guide formulaires
Documentation:
- CHANGELOG.md: v0.1.0 Initial Release
- README.md: Stats, installation, utilisation mise a jour
- PLAN.md: Status phases actualise (85% complete)
- docs/TEST_CHECKLIST.md: 61 tests manuels

Guide Formulaires:
- docs/FORMS_GUIDE.md: Guide complet creation formulaires Access
  - 5 formulaires principaux (Accueil, Clients, Projets, SaisieTemps, Historique)
  - 2 formulaires popup (ProjetDetail, TempsDetail)
  - Code VBA complet pour chaque formulaire
  - 800+ lignes de documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 13:34:14 +07:00

10 KiB

TimeTrack Pro - Checklist de Tests Manuels

Ce document decrit les tests manuels a effectuer pour valider le bon fonctionnement de TimeTrack Pro.


1. Tests Base de Donnees (BDD)

1.1 Table tbl_Clients

Test Action Resultat Attendu OK
CREATE Ajouter un nouveau client Enregistrement cree avec ID auto-incremente [ ]
READ Lire la liste des clients 4+ clients affiches [ ]
UPDATE Modifier l'email d'un client Email mis a jour [ ]
DELETE Supprimer un client sans projets Client supprime [ ]
FK CHECK Supprimer un client avec projets Erreur ou cascade selon config [ ]

Commandes MCP pour tester:

# CREATE
run_access_query(file_path, sql="INSERT INTO tbl_Clients (Nom, Email) VALUES ('Test Client', 'test@example.com')")

# READ
get_worksheet_data(file_path, "tbl_Clients")

# UPDATE
run_access_query(file_path, sql="UPDATE tbl_Clients SET Email = 'nouveau@example.com' WHERE Nom = 'Test Client'")

# DELETE
run_access_query(file_path, sql="DELETE FROM tbl_Clients WHERE Nom = 'Test Client'")

1.2 Table tbl_Projets

Test Action Resultat Attendu OK
CREATE Ajouter un projet lie a un client Projet cree avec FK valide [ ]
READ Lire les projets d'un client Projets filtres correctement [ ]
UPDATE Modifier le taux horaire Taux mis a jour [ ]
DELETE Supprimer un projet sans temps Projet supprime [ ]
FK CHECK Ajouter projet avec ClientID inexistant Erreur attendue [ ]

Commandes MCP pour tester:

# CREATE
run_access_query(file_path, sql="INSERT INTO tbl_Projets (ClientID, Nom, TauxHoraire) VALUES (1, 'Projet Test', 75)")

# READ avec filtre
get_worksheet_data(file_path, "tbl_Projets", where_clause="ClientID = 1")

# UPDATE
run_access_query(file_path, sql="UPDATE tbl_Projets SET TauxHoraire = 85 WHERE Nom = 'Projet Test'")

# DELETE
run_access_query(file_path, sql="DELETE FROM tbl_Projets WHERE Nom = 'Projet Test'")

1.3 Table tbl_Temps

Test Action Resultat Attendu OK
CREATE Ajouter une entree de temps Entree creee [ ]
READ Lire les entrees par date Filtrage correct [ ]
UPDATE Modifier la duree Duree mise a jour [ ]
DELETE Supprimer une entree Entree supprimee [ ]
VALIDATION Ajouter duree negative Erreur ou valeur positive [ ]

Commandes MCP pour tester:

# CREATE
run_access_query(file_path, sql="INSERT INTO tbl_Temps (ProjetID, Date, Duree, Description) VALUES (1, #2025-12-30#, 2.5, 'Test entree')")

# READ avec filtre date
get_worksheet_data(file_path, "tbl_Temps", where_clause="Date >= #2025-12-01#")

# UPDATE
run_access_query(file_path, sql="UPDATE tbl_Temps SET Duree = 3.0 WHERE Description = 'Test entree'")

# DELETE
run_access_query(file_path, sql="DELETE FROM tbl_Temps WHERE Description = 'Test entree'")

2. Tests Modules VBA

2.1 mod_Config

Test Verification OK
APP_NAME Constante definie = "TimeTrack Pro" [ ]
APP_VERSION Constante definie = "0.1.0" [ ]
DEFAULT_TAUX Constante definie = 50 [ ]

2.2 mod_Utils

Test Fonction Resultat Attendu OK
Format date FormatDateFR(#01/15/2025#) "15/01/2025" [ ]
Format monnaie FormatMonnaie(1234.56) "1 234,56 EUR" [ ]
Validation email IsValidEmail("test@test.com") True [ ]
Email invalide IsValidEmail("invalid") False [ ]

2.3 mod_Calculs

Test Fonction Resultat Attendu OK
Total heures projet GetTotalHeuresByProjet(1) Nombre > 0 [ ]
Total heures client GetTotalHeuresByClient(1) Nombre > 0 [ ]
Montant projet GetMontantByProjet(1) Heures * TauxHoraire [ ]
Montant client GetMontantByClient(1) Somme projets [ ]

2.4 mod_DataAccess

Test Fonction Resultat Attendu OK
Get client GetClientByID(1) Recordset valide [ ]
Get projet GetProjetByID(1) Recordset valide [ ]
List clients GetAllClients() Recordset avec 4+ items [ ]
List projets actifs GetProjetsActifs() Recordset filtre [ ]

2.5 mod_Navigation

Test Fonction Resultat Attendu OK
Ouvrir accueil OpenFormAccueil() Formulaire ouvert [ ]
Ouvrir clients OpenFormClients() Formulaire ouvert [ ]
Fermer tout CloseAllForms() Tous fermes [ ]

2.6 mod_Export

Test Fonction Resultat Attendu OK
Export Excel ExportToExcel("tbl_Clients", path) Fichier .xlsx cree [ ]
Export PDF ExportToPDF("rpt_Recap", path) Fichier .pdf cree [ ]

3. Tests d'Integration

3.1 Requetes Agregees

Test Requete Resultat Attendu OK
Total global heures SELECT SUM(Duree) FROM tbl_Temps 58 heures [ ]
Total par client qry_TotalByClient Groupement correct [ ]
Total par projet qry_TotalByProjet Groupement correct [ ]
Montant total Heures * Taux 4732.50 EUR [ ]

Commandes MCP pour tester:

# Total heures
run_access_query(file_path, sql="SELECT SUM(Duree) AS TotalHeures FROM tbl_Temps")

# Total par client
run_access_query(file_path, sql="""
    SELECT c.Nom, SUM(t.Duree) AS Heures, SUM(t.Duree * p.TauxHoraire) AS Montant
    FROM (tbl_Clients c
    INNER JOIN tbl_Projets p ON c.ClientID = p.ClientID)
    INNER JOIN tbl_Temps t ON p.ProjetID = t.ProjetID
    GROUP BY c.Nom
""")

# Total par projet
run_access_query(file_path, sql="""
    SELECT p.Nom, SUM(t.Duree) AS Heures, p.TauxHoraire, SUM(t.Duree * p.TauxHoraire) AS Montant
    FROM tbl_Projets p
    INNER JOIN tbl_Temps t ON p.ProjetID = t.ProjetID
    GROUP BY p.Nom, p.TauxHoraire
""")

3.2 Coherence des Donnees

Test Verification OK
FK Integrite Tous les ProjetID dans tbl_Temps existent dans tbl_Projets [ ]
FK Integrite Tous les ClientID dans tbl_Projets existent dans tbl_Clients [ ]
Dates valides Toutes les dates sont dans le passe ou aujourd'hui [ ]
Durees positives Toutes les durees > 0 [ ]

Commandes MCP pour valider:

# Verifier FK projets orphelins
run_access_query(file_path, sql="""
    SELECT t.* FROM tbl_Temps t
    LEFT JOIN tbl_Projets p ON t.ProjetID = p.ProjetID
    WHERE p.ProjetID IS NULL
""")
# Resultat attendu: 0 lignes

# Verifier FK clients orphelins
run_access_query(file_path, sql="""
    SELECT p.* FROM tbl_Projets p
    LEFT JOIN tbl_Clients c ON p.ClientID = c.ClientID
    WHERE c.ClientID IS NULL
""")
# Resultat attendu: 0 lignes

# Verifier durees invalides
run_access_query(file_path, sql="SELECT * FROM tbl_Temps WHERE Duree <= 0")
# Resultat attendu: 0 lignes

4. Tests Formulaires (Apres Phase 5)

4.1 frm_Accueil

Test Action Resultat Attendu OK
Affichage stats Ouvrir formulaire Stats affichees (clients, projets, heures) [ ]
Navigation clients Clic bouton Clients Ouvre frm_Clients [ ]
Navigation projets Clic bouton Projets Ouvre frm_Projets [ ]
Navigation saisie Clic bouton Saisie Ouvre frm_SaisieTemps [ ]

4.2 frm_Clients

Test Action Resultat Attendu OK
Liste clients Ouvrir formulaire Tous clients affiches [ ]
Ajout client Remplir + Enregistrer Client ajoute [ ]
Edition client Modifier + Enregistrer Client modifie [ ]
Suppression Supprimer client Client supprime (si pas de projets) [ ]

4.3 frm_Projets

Test Action Resultat Attendu OK
Liste projets Ouvrir formulaire Tous projets affiches [ ]
Filtre client Selectionner client Projets filtres [ ]
Ajout projet Remplir + Enregistrer Projet ajoute [ ]
Edition projet Modifier taux Projet modifie [ ]

4.4 frm_SaisieTemps

Test Action Resultat Attendu OK
Saisie rapide Projet + Date + Duree + Save Entree creee en < 30s [ ]
Date par defaut Ouvrir formulaire Date = Aujourd'hui [ ]
Validation duree Entrer duree negative Erreur affichee [ ]

4.5 frm_Historique

Test Action Resultat Attendu OK
Liste entrees Ouvrir formulaire Toutes entrees affichees [ ]
Filtre date Selectionner periode Entrees filtrees [ ]
Filtre client Selectionner client Entrees filtrees [ ]
Export Clic Export Excel Fichier genere [ ]

5. Performance

Test Critere Seuil OK
Ouverture BDD Temps d'ouverture < 3 secondes [ ]
Requete agregee Temps d'execution < 1 seconde [ ]
Saisie temps Temps total operation < 30 secondes [ ]
Export Excel Temps de generation < 5 secondes [ ]

6. Validation Finale

Critere Verification OK
Toutes tables creees 3 tables presentes [ ]
Tous modules injectes 6 modules presents [ ]
Donnees de demo 4 clients, 6 projets, 58h [ ]
Montant total 4732.50 EUR [ ]
Aucune erreur BDD Pas d'erreurs SQL [ ]
Documentation complete README, PLAN, CHANGELOG [ ]

Notes

  • Chemin fichier: C:\Users\alexi\Documents\projects\timetrack-pro\db\TimeTrackPro.accdb
  • Date de creation: 2025-12-30
  • Version testee: 0.1.0
  • Testeur: _______________

Resultats

Section Tests Passes Echecs
BDD - Clients 5
BDD - Projets 5
BDD - Temps 5
VBA - Modules 16
Integration 8
Formulaires 18
Performance 4
TOTAL 61

Statut global: [ ] PASSE / [ ] ECHEC

Commentaires: