Príklad
V systémoch na správu dokumentov sa často používa mechanizmus check-in / check-out. Keď používateľ začne dokument upravovať, dokument sa zamkne, aby nedošlo k súčasnej úprave viacerými ľuďmi.
Cieľ je jednoduchý – zabrániť strate zmien a prepísaniu práce iného používateľa. Ak však zamykanie nefunguje správne, môže dôjsť k blokovaniu práce alebo naopak k prepísaniu údajov.
Takéto riešenie je praktické, ale vyžaduje dôsledné testovanie. Na čo všetko sa zamerať?
1. Zamknutie dokumentu
- Dokument sa po otvorení na úpravu správne zamkne
- Ostatní používatelia vidia, že dokument je obsadený
- Je zrejmé, kto dokument zamkol
- Zobrazí sa informácia o čase zamknutia
2. Správanie ostatných používateľov
- Iný používateľ môže dokument iba čítať
- Úprava je korektne zablokovaná
- Používateľ dostane zrozumiteľné upozornenie
- Nie je možné obísť zámok cez URL alebo API
3. Check-in a uloženie zmien
- Po uložení sa dokument odomkne
- Zmeny sa správne uložia
- Vytvorí sa nová verzia dokumentu
- Ostatní používatelia môžu pokračovať v práci
4. Prerušená práca
- Správanie pri zatvorení prehliadača
- Správanie pri strate internetového spojenia
- Správanie po odhlásení používateľa
- Automatické uvoľnenie zámku po stanovenom čase
5. Administrátorské zásahy
- Administrátor môže dokument odomknúť
- Odomknutie je zaznamenané v audite
- Bežný používateľ nemá tieto oprávnenia
- Systém zabráni neoprávnenému odomknutiu
6. Logy a audit
- Eviduje sa, kto dokument zamkol
- Eviduje sa, kto dokument odomkol
- Evidujú sa vykonané zmeny
- História je dostupná pre audit
Tip pre testerov:
Pri testovaní check-in / check-out nestačí overiť samotné zamknutie dokumentu. Najviac chýb sa objavuje pri pádoch aplikácie, strate spojenia alebo situáciách, keď používateľ dokument zabudne odomknúť. Práve tieto scenáre často odhalia problémy, ktoré sa pri bežnom používaní neprejavia.
