Název: OpenTCM
Vedoucí: Mgr. Vladan Majerech, Dr. (Vladan.Majerech at mff.cuni.cz)
Řešitelé:
Ondřej Hanslík
Luděk Hlaváček
Martin Hlavatý
Martin Káldy
Marek Neťuka
Projekt OpenTCM si klade za cíl vytvořit
open source informační systém pro podporu procesů při testování. Název OpenTCM
je zkratkou ze slov Open Source Test Case Management. Požadavky na funkčnost
byly konzultovány s firmou Sun Microsystems a předpokládá se reálné nasazení
systému v této firmě (po drobných úpravách). V současné době je v této firmě
používán produkt TCM, který je ovšem špatně dokumentovaný a těžko se upravuje,
což vedlo k požadavku na kompletní přepsání celého systému a tedy i ke vzniku
projektu OpenTCM.
Build = Verze produktu, která splňuje předem specifikovanou podmnožinu požadavků. Zpravidla se jedná o zkušební sestavení produktu určené pro testy.
Consolidation = Konsolidace. Množina produktů tvořící jeden logický celek.
Například OpenSolaris či OpenOffice.org.
Produkt = Program, který je vyvíjen nebo testován.
Test Assignment = Přiřazení testovací úlohy konkrétnímu testerovi. Součástí jsou i informace o testovací platformě a jazykové mutaci.
Test Case = Testovací úloha (TC). Postup testování jedné konkrétní vlastnosti systému - včetně vstupních dat a očekávaného výstupu.
Projekt bude implementován v jazyce Java a bude dostupný pod některou z Open
Source licencí (konkrétní licence bude vybrána až v pozdějších fázích projektu
tak, aby byla kompatibilní se všemi použitými knihovnami a frameworky).
Použití jiných programovacích (skriptovacích) jazyků není vyloučeno.
Uživatelské rozhraní bude webové a bude lokalizováno do angličtiny a češtiny.
Veškerá dokumentace bude v anglickém jazyce, s výjimkou dokumentů určených pro
vnitřní potřebu týmu (například analýza rizik), které budou v češtině.
Funkce systému můžeme rozdělit do pěti základních skupin:
Administrace
Nejdůležitější funkcí administračního subsystému je správa produktů a
konsolidací. Uživatel s dostatečným oprávněním bude moci přidávat, měnit a
mazat produkty a konsolidace (a přiřazovat produkty do konsolidací).
Další velmi důležitou sekcí je správa uživatelů. Autentizace uživatelů bude
probíhat za pomoci uživatelského jména a hesla. Heslo se bude uchovávat v
zahashované podobě. Každý uživatel si bude moci změnit své heslo a údaje (s
výjimkou přihlašovacího jména) u svého uživatelského účtu, administrátor bude
moci změnit hesla i údaje (kromě přihlašovacího jména) u všech účtů.
Správa testovacích scénářů (TS) a
buildů
Systém bude u každého produktu uchovávat seznam plánovaných buildů. Uživatel s
rolí Technical Leader bude moci specifikovat, které testovací scénáře se mají
u každého buildu provést. Manažer produktu bude moci přidávat, měnit a mazat
buildy (u svého produktu).
OpenTCM bude umožňovat vytváření, editaci a mazání testovacích úloh a jejich
sdružování do testovacích scénářů.
Test Assignment Maintenance
K základním funkcím systému patří přidělování testovacích úloh jednotlivým
testerům. Uživatel s dostatečným oprávněním může specifikovat, na jaké
platformě má být test proveden, kdo je odpovědný za jeho provedení a jaká je
priorita tohoto úkolu. Stejný TC (případně TS) může být přidělen různým
testerům pouze za předpokladu, že se bude lišit platforma, na které mají být
testy provedeny.
Funkce poskytované testerům
Jedná se o funkce sloužící pro podporu procesu testování. Systém umožní testerům zjistit, které testovací úlohy jim byly přiděleny a na jakých platformách mají testy provádět. Dále bude možné ukládat výsledky testování (Test Result).
Vytváření a prohlížení reportů
Další velmi důležitou součástí systému bude generování dokumentů agregujících
výsledky testování (tzv. reportů). Každý uživatel bude moci zjistit, kolik
testů bylo dokončeno a s jakým výsledkem, jaká byla produktivita jednotlivých
testerů, kolik testovacích úloh nebylo dokončeno, kolik jich bylo přeskočeno,
...
Tento seznam je předběžný a může být kdykoliv změněn.
DB: MySQL 5.X
ORM: Hibernate
UI: Struts 2 + JSF
Ostatní: Spring 2.0 (+ EJB 3.0)
Návrh základního rozdělení zdrojů
Uživatelské rozhraní - Martin Káldy, Ondřej Hanslík
Logika aplikace - Luděk Hlaváček, Marek Neťuka
Persistence dat - Martin Hlavatý
![]() | ||
|