Regulamin Automated TestingCup 2016

Zasady ogólne

1. Warsztat dot. testowania oprogramowania przy użyciu narzędzi do automatyzacji testów „Automated Testing Cup 2016” (zwany dalej Zawody) organizowane są przez firmy: 21CN Radosław Smilgin oraz PGS Software S.A. (dalej zwani Organizatorami).
2. Zawody odbędą się podczas konferencji Agile & Automation Days (dalej zwaną Konferencją) dnia 21 listopada w Warszawie.
3. Organizatorzy powołają Komisję Sędziowską, która będzie czuwać nad przebiegiem Zawodów, oceniać przygotowane przez uczestników skrypty testowe oraz wyłoni zwycięzców Zawodów.
4. Celem Zawodów jest:
4.1. Promocja testowania oprogramowania, w szczególności z wykorzystaniem narzędzi do testów automatycznych.
4.2. Rywalizacja między drużynami.
4.3. Edukacja
5. W Zawodach mogą uczestniczyć wszyscy bez względu na doświadczenie w dziedzinie testowania oprogramowania.
6. W Zawodach mogą uczestniczyć tylko osoby pełnoletnie.
7. W Zawodach nie mogą uczestniczyć osoby bezpośrednio zaangażowane w ich przygotowanie i organizację.
8. Zadania oraz dokumentacja dla uczestników Zawodów zostaną przygotowane w języku polskim.

Zapisy

1. W Zawodach mogą brać udział zarejestrowane drużyny składające się z trzech osób.
2. Warunkiem uczestnictwa w Zawodach jako drużyna jest:
2.1. Zarejestrowanie się na Konferencję.
2.2. Wniesienie opłaty za uczestnictwo w Konferencji.
3. Aby zarejestrować swój udział w Zawodach należy wybrać opcję udziału w Automated TestingCup w systemie rejestracyjnym bądź zgłosić go drogą mailową na adres aadays@aadays.pl.
4. Zapisy będą prowadzone do momentu wyczerpania limitu miejsc.
5. Uczestnictwo w Zawodach wyklucza uczestnictwo w innych mini warsztatach w ramach agendy Agile & Automation Days.
6. Rezygnacji z udziału w Zawodach na rzecz udziału w innych mini warsztatach zgodnie z agendą Agile & Automation Days należy dokonać nie później niż do 26 października 2016r. Po tym terminie nie będzie możliwości zapisu na inne miniwarsztaty.
7. Rezygnacji z udziału w Zawodach można dokonać poprzez konto w systemie rejestracyjnym bądź kontaktując się z nami drogą mailową na adres aadays@aadays.pl.
8. O zakwalifikowaniu się drużyn do zawodów będzie decydować kolejność zgłoszeń.
9. Każda z drużyn zostanie poinformowana o zakwalifikowaniu się do Zawodów.
10. Drużyna oznaczona jest nazwą zaaprobowaną przez Organizatorów. Nazwa musi być unikalna.
11. W Zawodach może wziąć udział maksymalnie 20 drużyn. Chyba że Organizatorzy podejmą decyzję o zwiększeniu liczby uczestników.
12. Warunkiem organizacji zawodów jest zgłoszenie się przynajmniej 10 drużyn.

Przebieg zawodów

1. Zawody przeprowadzone zostaną w Warszawie w dniu 21 listopada 2016r. zgodnie z opublikowanym harmonogramem.
2. Każdy z członków drużyn zapewnia sobie we własnym zakresie komputer (laptop bądź inny komputer mobilny) będący niezbędnym narzędziem do udziału w Zawodach. Na jedną osobę w drużynie przypadać może tylko jeden komputer musi spełniać wymagania techniczne, t.j. komputer użytkownika powinien mieć conajmniej 2GB RAM oraz conajmniej 5GB wolnego miejsca na dysku. Dodatkowo uczestnik zawodów powinien przez Zawodami zaistalować na swoim komputerze program Oracle VM VirtualBox, dostepny do pobrania pod linkiem https://www.virtualbox.org/wiki/Downloads. Organizatorzy podejmą wszelkie próby, aby testowane podczas Zawodów aplikacja działały na komputerach zawodników, ale nie bierze odpowiedzialności za niepoprawne działanie komputera lub też niemożność uruchomienia aplikacji będącej podstawą testów.
3. Przedmiotem testów będzie aplikacja webowa przygotowana specjalnie na potrzeby Zawodów. Aplikacja zostanie przygotowana w dwóch wersjach: wersji 0.1 udostępnionej Uczestnikom tydzień przed zawodami (14 listopada 2016r) oraz w wersji 0.2, udostępnionej podczas zawodów.
4. Na tydzień przed Zawodami, Uczestnikom zostanie udostępniona aplikacja webowa w wersji 0.1 wraz z dokumentacją opisującą jej działanie. Uczestnicy będą musieli założyć w tym czasie konto na Github, gdzie umieszczą przygotowany kod testujący kluczowe funkcjonalności wskazane przez Organizatorów. Skrypty testowe powinny być napisane w technologii dopuszczonej przez Organizatorów. Konto Github powinno zostać wysłane do Organizatorów na 3 dni przed Zawodami (18 listopada 2016r).
5. Podczas Zawodów udostępniona zostanie wersja 0.2 aplikacji webowej wraz z zauktalizowaną dokumentacją opisującą jej działanie. Zawody będą polegać na zaktualizowaniu napisanych automatycznych skryptów testowych oraz dopisanie nowych automatycznych skryptów testowych, weryfikujących działanie nowej funkcjonalności.
6. Uczestnicy powinni aktualizować kod w repozytorium Github na bieżąco. W przypadku problemów z dostępem do internetu, lokalne repozytorium powinno zostać wgrane na dostarczony przez organizatorów pendrive.
7. W przypadku braku problemów z dostępem do internetu, Organizatorzy udostępnią serwer do ciągłej integracji Jenkins, na którym każda Drużyna będzia miała założone swój projekt, gdzie będzie skonfigurowany job, który będzie uruchamiał napisane testy po każdym commicie.
8. Skrypty automatyczne utworzone podczas Zawodów muszą być oparte na Selenium WebDriver w jednym z wybranych przez Organizatorów języków programowania: Java, C#, Python, Groovy, Ruby. Dopuszczalne są również frameworki oparte na Selenium WebDriver, czyli: Geb, Selenide, Protractor. Drużyna musi zadecydować oraz poinformować Organizatorów w trakcie rejestracji w jakim języku programowania będzie tworzyć testy oraz jakich dodatkowych frameworków zamierza użyć podczas Zawodów. Wybór języka programowania oraz frameworków powinien się odbyć drogą mailową na adres aadays@aadays.pl do 26 października 2016r. Brak takiej informacji daje podstawę do dyskwalifikacji drużyny.
9. Organizator nie bierze odpowiedzialności za kradzież czy uszkodzenie sprzętu jaki zawodnicy przynoszą na zawody.
10. W trakcie Zawodów komunikacja jest dopuszczalna tylko i wyłącznie pomiędzy członkami drużyny. Dodatkowo wyznaczeni kapitanowie drużyn mogą komunikować się z Komisją Sędziowską.
11. W przypadku wykrycia próby niedozwolonej komunikacji, uczestnicy zawodów zostaną zdyskwalifikowani. Decyzję o dyskwalifikacji podejmuje Komisja Sędziowska.
12. W przypadku korzystania z niedozwolonego sprzętu (innym niż opisany w punkcie 2) lub oprogramowania, osoby lub drużyny biorące w tym udział zostaną zdyskwalifikowane. Decyzję o dyskwalifikacji podejmuje Komisja Sędziowska.
13. Po dyskwalifikacji drużyna musi opuścić zajmowane stanowisko.
14. Decyzje Komisji Sędziowskiej podczas trwania Automated TestingCup są ostateczne.
4. Punktacja
1. Klasyfikacja generalna zostanie ustalona na podstawie sumy punktów uzyskanych za :
– wykrycie znanych Organizatorom defektów przez dostarczone testy automatyczne
– wykrycie nieznanych Organizatorom defektów przez dostarczone testy automatyczne
– pokrycie dostarczonych przez Organizatorów scenariuszy testowych.
2.Jeśli na nagradzanym miejscu znajdzie się więcej niż /drużyna, rozstrzygnięcie nastąpi na podstawie subiektywnej oceny jakości kodu przez Komisję Sędziowską pod kątem czytelności kodu, utrzymywalności oraz zastosowanych wzorców.
3. Jeśli dodatkowa ocena podana w punkcie 3 nie rozstrzygnie zawodów, pod uwagę będzie brany czas trwania testów. Drużyna z szybciej wykonującymi się testami otrzymuje dodatkowy punkt.

Wyniki i nagrody

1. Wyniki (rozumiane jako klasyfikacja końcowa wszystkich uczestników (drużyn) wraz z ilością przyznanych punktów) zostaną podane 21 listopada 2016 r. po zakończeniu Konferencji zgodnie z harmonogramem.
2. Jeśli z powodów niezależnych od Organizatora wyniki nie będą mogły być podane przed zakończeniem się Konferencji zostaną one podane w ciągu kolejnych 7 dni od zakończenia Konferencji.
3. Nagrody konkursowe będą przyznawane za 3 pierwsze miejsca i przekazane uczestnikom w trakcie ogłaszania wyników.
4. Jeśli któryś z nagrodzonych uczestników nie odbierze nagrody w trakcie Konferencji, będzie to możliwe w późniejszym terminie w biurze Organizatora (PGS Software S.A. ul. Klecińska 123 piętro II , 54-413 Wrocław) w okresie 1 miesiąca od dnia zakończenia Konferencji. Po tym terminie prawo do nagrody przechodzi na rzecz Organizatora.
5. Organizatorzy nie ponoszą odpowiedzialności za brak możliwości odbioru nagrody z przyczyn leżących po stronie uczestników Zawodów.

Postanowienia końcowe

1. Organizatorzy zastrzegają sobie prawo do zmiany Regulaminu.
2. W sprawach nieuregulowanych przez postanowienia niniejszego Regulaminu zastosowanie mają przepisy prawa powszechnie obowiązującego, w szczególności przepisy Kodeksu Cywilnego oraz Regulaminu Konferencji.
3. Organizatorzy nie ponoszą odpowiedzialności za opóźnienia lub jakiekolwiek przeszkody w komunikacji z uczestnikami Zawodów wynikające z przyczyn od niego niezależnych.
4. Regulamin obowiązuje od dnia 10 września 2016r. do czasu opublikowania nowego Regulaminu.
5. Poprzez akceptację Regulaminu uczestnik Zawodów oświadcza, że wszystkie postanowienia niniejszego Regulaminu są jasne, zrozumiałe i akceptuje je bez zastrzeżeń. Osoba zgłaszająca inne osoby do uczestnictwa oświadcza, że wszystkie zgłaszane przez nią osoby zapoznały się i akceptują postanowienia niniejszego Regulaminu oraz wyrażają zgodę na przetwarzanie danych osobowych zgodnie z zapisami formularza rejestracyjnego.