Referaty

Zintegrowane ALM w chmurze

Maciej Głowa, Wojciech Jaszcz, Parasoft

In the workshop we are going to guide how to drive development process by policies and quality improvement routines, and based on the best Agile practices.
An overview of a solution for application lifecycle management will be given and practical usage will be exercised. Examples of actual possible problems and challenges in Agile software development will be presented, discussed and solved using various techniques for quality assurance.
Finally we try to summarize well known best development practices which prevent wide range of problems appearing during software development. Also we show how to control and manage the set of applied polices by deep analysis of your projects health/condition.

Key areas addressed:
– Coding Standards (Static Analysis)
– Unit testing
– Code Review
– Assurance that requirements are implemented on time and at high quality
– Development Process
– Project Metrics

Learning outcomes:
– Set of good practices and supporting technologies
– How to discover and prevent different kind of issues in software
– How to drive a project by development polices
– How to make strategy decisions based on project analysis
– How to manage risks
– How use the best Agile development practices

 

Zbiorowe testy eksploracyjne

Radosław Smilgin, 21CN

Testowanie eksploracyjne jest techniką równoczesnego uczenia się aplikacji i weryfikacji jej funkcjonowania.

Przyjdź na warsztat i potestujmy eksploracyjnie wspólnie. Przynieś własny laptop, tablet, telefon.

Podczas warsztatu pokażemy co o testowaniu eksploracyjnym mówią klasycy gatunku: James Bach, Cem Kaner, James Whittaker i Bret Pettichord.

Poszukamy błędów i nauczymy się jak bazując na wiedzy ogólnej identyfikować problemy.

Co będziemy testowali? Zaproponujemy aplikację, ale możecie testować własne aplikacje.

Narzędzia wspierające testowanie eksploracyjne?

  • Prnt Scr (Prnt Scr+Alt) + narzędzie do grafiki
  • psr.exe i Narzędzie wycinania [dla użytkowników Windows Vista i 7]
  • CamStudio http://camstudio.org/
  • Wink http://www.debugmode.com/wink/
  • FastStone Capture http://www.faststone.org/FSCaptureDetail.htm
  • i inne …

Raportowanie defektów? Mantis.”

(ściągnij prezentację)

 

Zaawansowane techniki wykorzystania JMetera

Jan Sabak, AmberTeam

Warsztat jest skierowany do wszystkich, którzy choć trochę poznali JMetera. Ma pomóc w poznaniu kilku sztuczek, które pozwalają na skuteczne użycie tego narzędzia w testach złożonych aplikacji.

Na warsztacie będą zaprezentowane następujące zagadnienia

  • zaawansowane elementy JMetera
  • sposoby generowania niestandardowych danych testowych
  • zaawansowane techniki analizy odpowiedzi systemu
    • BeanShell Script
    • analiza list
    • XPath
    • regexp
  • metody rozszerzania JMetera i dodawania do niego nowych elementów

Warsztat będzie wykonany w konwencji Bring Your Own Laptop. Ćwiczenia praktyczne będą wykonywane przez uczestników warsztatów, przez budowanie i uruchamianie skryptów na aplikacji ćwiczebnej.

(ściągnij prezentację)(ściągnij rozwiązania ćwiczeń)

 

Testowanie w środowisku Agile: specyfikacja poprzez przykłady

Remigiusz Dudek, Luxoft

(ściągnij prezentację)

 

Jak sprawić by Twoje testy automatyczne były bardziej zwinne

Marcin Złotowicz, Ceneo.pl

Od powstania manifestu Agile minęło już ponad 10 lat. W tym czasie metodyki zwinne zyskały na popularności i stały się codziennością w pracy wielu specjalistów w dziedzinie IT. W tym także testerów, którzy muszą odnaleźć się w tak różnym, od tradycyjnego  modelu kaskadowego, środowisku.

W swojej prezentacji chciałbym przedstawić kilka sposobów na zmniejszenie kosztów utrzymania i zwiększenie efektywności automatyzacji, nie tylko w zwinnym środowisku. Tak z perspektywy testera implementującego kolejne skrypty jak i managera/lidera zespołu testów odpowiedzialnego za organizację i zarządzanie wysiłkiem automatyzacji. Po omówieniu fundamentów jakimi jest definicja celów, wybór frameworka, organizacja i monitoring prac przejdę do sposobów osiągnięcia automatyzacji: generycznej, inteligętnej, lekkiej, ambitnej i efektywnej.

(ściągnij prezentację)

 

Programiści są z Marsa a testerzy z Wenus, czyli jak znaleźć wspólny język

Monika Konieczny, iLoop Mobile Inc

Optymalizacja procesu komunikacji w zespole składa się z kilku faz: analiza sytuacji początkowej, określenie elementów wymagających poprawy, projektowanie nowych procedur, weryfikacja i ewaluacja usprawnionego procesu, wdrożenie zmian.

Aby usprawnić realizację każdej z powyższych faz, warto zastosować grę symulacyjną. Jest to forma współzawodnictwa między ludźmi, w której reguły rywalizacji są z góry ustalone i zaakceptowane przez jej uczestników. Jest przykładem niejednorodnego modelu symulacyjnego, którego elementami są: uczestnicy gry, model systemu oraz scenariusz gry [Radosiński, 2001, s. 8].

Ze względu na cel gry można podzielić na afektywne (umożliwiające rozwój umiejętności interpersonalnych, niewymagające złożonej mechaniki) oraz kognitywne (wspomagające proces poznawania złożonych procesów i zjawisk, wymagające zaprojektowania mechaniki obrazującej poznawane zjawisko).

Mechanikę gry (czyli jej zasady) można dostosować do konkretnych potrzeb zespołu. Podczas rozgrywki uczestnicy wcielają się w określone role i realizują zdefiniowane cele (prywatne lub wspólne dla zespołu). Gdy celem jest optymalizacja procedur, w pierwszej fazie uczestnicy powinni wykorzystać dotychczasowe procedury, w kolejnych etapach ulepszyć je lub zaprojektować nowe, a na koniec zweryfikować nowy proces. Dzięki zastosowaniu gry uczestnicy będą mogli spojrzeć na wybrane zagadnienia z innej niż dotychczas perspektywy (np. z perspektywy osoby spełniającej odmienną rolę w zespole). Dzięki temu zespół zyskuje możliwość wspólnego wypracowania efektywniejszych metod komunikacji, usprawnienia wykorzystywanych procedur realizacji projektu oraz zintegrowania się.

(ściągnij prezentację)

 

Tests Taste Great!

Robert Kornaś, ATSI S.A.

Głównym celem prezentacji jest przedstawienie rozwoju procesu testowania oprogramowania, w którym współdziałanie zespołu umożliwiło przejście od znacznego chaosu w projekcie do ściśle uporządkowanego i wydajnego procesu. Stopniowe zmiany i usprawnienia zaowocowały wprowadzeniem procedury automatyzacji testów oraz narzędzi ciągłej integracji i ciągłego wdrożenia (continuous integration and continuous deployment). Zaproponowana została idea samowystarczalnego zespołu, w którego szeregach znajdują się zarówno deweloperzy, programiści testów automatycznych jak i testerzy testów manualnych. Wszyscy oni uzupełniają się wspólnie podczas wykonywania specyficznych testów wypracowując wysoką jakość produktów. Zwrócono szczególną uwagę na zaprezentowanie optymalnego sposobu testowania eliminującego poszczególne typy błędów w miarę jego przebiegu. Minimalizacja czasu wykonania oraz szybki zwrot rezultatów testów stały się podstawą do płynnej realizacji poszczególnych celów biznesowych. Analizowany proces umożliwia pracę w określonych, krótkich okresach czasowych, na których końcu klient otrzymuje w pełni przetestowany produkt. Wspierana jest również idea większej odpowiedzialności, samodzielności i zaangażowania programistów w cały proces testowy.

(ściągnij prezentację)

 

Organizacja i zarządzanie testami w projekcie prowadzonym metodyką Scrum

Grzegorz Marcjasz, Tieto Polska

Testować tradycyjnie według modelu V czy w sposób zwinny – główny temat konferencji TESTWAREZ 2011 często jest także przedmiotem rozważania w wielu projektach IT. Wychodząc na przeciw takim rozważaniom zamierzam przedstawić w swojej prezentacji, w jaki sposób zostały zorganizowane testy w jednym z projektów realizowanych przez firmę Tieto Polska. Organizacja testów została wypracowana przez zespół podczas rozwoju kilku następujących po sobie wersji systemu, który był przedmiotem projektu. Do prowadzenia projektu przyjęto metodykę Scrum, w związku z czym testy realizowane są w sposób zwinny. Wiąże się to z wieloma korzyściami, ale wymaga także sporej dyscypliny w przestrzeganiu pewnych ustalonych zasad. Rola test managera również musiała zostać dostosowana do nowych wymagań.

(ściągnij prezentację)

 

Automated Exploratory Tests

Zbyszek Moćkun, Cognifide Poland

W prezentacji „Automatyczne Testy Eksploracyjne” skoncentruję się na  problemach jakie mogą napotkać projekty automatyzacji testów w metodykach miękkich.  Następnie w oparciu o aspekty pokażę, iż same testy funkcjonalne nie dadzą nam pełnej odpowiedzi czy dana aplikacja zawiera błędy i dlaczego warto patrzeć z perspektywy zwykłego użytkownika oraz naszego klienta. Kolejnym punktem prezentacji jest próba przekonania czytelników dlaczego warto oprzeć testowanie o „wyszukiwanie symptomów”. Wyszukiwanie symptomów błędów nie musi być oparte na standardowych robotach – warto rozszerzyć nasze testy o porównanie aktualnej wersji aplikacji z poprzednią.  A to wszystko powinno pokazać jak wprowadzić testy automatyczne do projektów krótkich (małych lub średnich), gdzie standardowe podejście jest nieopłacalne (koszty inwestycji w automatyzację nie mają szans na zwrot), a może po prostu jak warto wzbogacić już istniejące testy funkcjonalne.

(ściągnij prezentację)

 

Jak uczynić testowanie lekkim i efektywnym dla społeczności?

Marcin Śliwa, Miłosz Wasilewski

W niniejszym artykule zaprezentowane zostało podejście do testowania zastosowane w projekcie MeeGo, realizowanym przez społeczność programistów i testerów z całego świata, pod patronatem firm Nokia i Intel.

Opisane zostały założenia poczynione przy realizacji systemu obsługującego ten proces, oraz metody wdrożenia tych założeń.

Oceniono również wady i zalety testów manualnych w środowiskach zwinnego tworzenia oprogramowania.

(ściągnij prezentację albo abstrakt)

 

Elastyczny dobór narzędzi opensource do testów systemów telekomunikacyjnych

Marcin Kowalczyk, Tieto Poland

Tematem prezentacji są open source’owe narzędzia, które mogą być wykorzystywane do testów systemów telekomunikacyjnych. Cieszą się one dużym zainteresowaniem ze względu na powszechną tendencję firm do obniżania kosztów. W czasie prezentacji opowiem także o narzędziach komercyjnych, konkurencyjnych do opisanych powyżej. Punktem wyjścia do przeglądu rozwiązań, będzie krótkie wprowadzenie prezentujące specyfikę testowych projektów telekomunikacyjnych realizowanych na zlecenie różnych klientów. Projekty różnią się między sobą pod wieloma względami i z tego też wynikają szczegóły realizacji takie jak metodologia, budowa laboratorium, skład zespołu, a w szczególności zastosowane narzędzia testowe. Ze względu na spełnianą funkcję, konkretne rozwiązania podzieliłem na 3 grupy. W pierwszej grupie znalazły się narzędzia bezpośrednio związane z teleinformatyką. Druga grupa to systemy, które pełnią istotną rolę podczas budowania laboratorium testowego. Do ostatniej, trzeciej grupy zakwalifikowałem narzędzia, które są powszechnie stosowane w testach oprogramowania do automatyzacji i mogą być także użyte w specyficznych testach systemów telekomunikacyjnych.

(ściągnij prezentację)

 

W poszukiwaniu zwinnych testerów

Wiktor Żołnowski, blog.testowka.pl

Podczas, gdy coraz więcej firm decyduje się na wytwarzanie oprogramowania według tzw. “Zwinnych Metodyk Zarządzania Projektami” pojawia się pytanie jaka w nowej “zwinnej” rzeczywistości jest rola testera.

Zwinny tester musi wykazywać się między innymi kreatywnością i pro-aktywnością, musi też ciągle rozwijać swoje umiejętności oraz dostosowywać się do zmiennych warunków i wymagań.

Często od testera w Agile wymaga się znacznie więcej niż od testerów pracujących według modelu V – zwinni testerzy muszą pracować bliżej klienta, muszą brać udział także w projektowaniu rozwiązań, często muszą także samodzielnie precyzować wymagania co do produktu. To z czego wynika ta różnica, oraz próba przedstawienia głównych cech osobowości „zwinnego testera” takich jak: ciągłe rozwijanie swoich umiejętności, chęć poszerzania swojej wiedzy nie tylko z zakresu testowania, umiejętności miękkie pozwalające na lepszą komunikację w zespole i z klientem, wykazywanie się poczuciem odpowiedzialności za produkt oraz umiejętność bliskiej współpracy z programistami będą głównymi tematami poruszanymi podczas prezentacji. Omówionych zostanie także kilka sprawdzonych metod rozwijania własnych umiejętności nie tylko testerskich.

(ściągnij prezentację)

 

Testy wydajnościowe telekomunikacyjnych systemów OSS

Adam Marciszewski, Tieto Poland

Mówiąc o testach wydajnościowych, przychodzi nam na myśl testowanie aplikacji webowych, stron WWW lub baz danych, badając ich parametry czasowe oraz wykorzystanie zasobów. W swojej prezentacji, zamierzam odkryć przed słuchaczami inną stronę planowania, projektowania oraz wykonania testów wydajnościowych. Prelekcja będzie dotyczyć aspektów technicznych i organizacyjnych testów wydajnościowych telekomunikacyjnych systemów OSS – ang. Operation Support System. Przedstawione zostaną techniki symulacji sieci telekomunikacyjnych, obsługujących setki tysięcy abonentów, generowania ruchu sieciowego i obciążenia, któremu poddawany jest testowany system. Zwieńczeniem prezentacji będzie próba odpowiedzi na pytanie, czy testy wydajnościowe należy wykonywać zwinnie, czy tradycyjnie.

(ściągnij prezentację)

 

Praktyka rekrutacji testerów w metodykach klasycznych i zwinnych

Michał Kujałowicz, Lufthansa Systems Poland

Rekrutacja to bardzo istotny element tworzenia jakiegokolwiek zespołu. Bardzo często od dobrej rekrutacji zależy powodzenie całego przedsięwzięcia. Rekrutacja testerów jest na tyle szczególna iż jej podstawowym zadaniem jest weryfikacja predyspozycji i umiejętności miękkich kandydatów przez co staje się bardzo trudna. Prezentacja stara się odpowiedzieć na pytanie kogo powinno się rekrutować na stanowiska testerskie i jak taką rekrutację można przeprowadzać. Podejmuje temat różnic osób rekrutowanych i sposobu przeprowadzenia rekrutacji w metodykach klasycznych i zwinnych. Obejmuje praktyczne aspekty tak kluczowych elementów rekrutacji jak:

charakterystyka poszukiwanych osób (kogo poszukujemy)

  • strategia rekrutacji (kogo zdecydujemy się przyjąć)
  • model rekrutacji (w jaki sposób będziemy rekrutować)
  • dobór osób rekrutujących (kto będzie rekrutował)

Prezentacja przedstawia również praktyczne przykłady zadań weryfikujących pozwalających na lepsze poznanie predyspozycji i umiejętności kandydatów.

(ściągnij doc’a)

 

Automatyzacja testów oprogramowania dla urządzeń mobilnych

Tomasz Watras, Test Benefit

 

(ściągnij pdf’a)

 

Usprawniać albo nie usprawniać …

Rafał Dobrosielski, Pomorska Akademia Optymalizacji Procesów

Skupienie się na zarządzaniu procesem i czynnościami dość mocno zazębia się z jakością produktu i bardzo często ogranicza ryzyko powstania produktu złej jakości. Proces wytwórczy jest czwartym wymiarem trójkąta ograniczeń (obok czasu, kosztu i zakresu). Usprawnianie procesu pozwala na zwiększanie zakresu projektu lub wytworzenie produktów wyższej jakości. W prezentacji przedstawię co oznacza tak naprawdę usprawnianie procesu. Przez długi czas panowało przekonanie, że im „cięższa”, sprawdzona już w poprzednich projektach metodologia, trzymanie się zdefiniowanych w początkowej fazie projektu wymagań i planu, tym większa szansa na odniesienie sukcesu (wytworzenia pożądanego przez rynek oprogramowania o zadowalającym poziomie jakości). Obecnie, coraz bardziej wymagający klient i rynek wymuszają na zespołach wytwórczych stosowanie nieszablonowych zachowań i metod np.dynamicznego i elastycznego zrównoleglania prac w ramach podzespołów projektowych czy też pomijania nieistotnych i niepotrzebnych pośrednich produktów pracy. Niestety metodyki zwinne nie pasują do wszystkich rodzajów projektów i nie każdy zespół wytwórczy może je zastosować – opowiem do jakich projektów i przez kogo mogą być stosowane. Oddają one jednak dużo większe pole do działania zespołom QA, których prace powinny i muszą rozpocząć się bardzo szybko. Jednocześnie stosowanie usprawnionych modeli wytwórczych obarcza zespoły QA dużą odpowiedzialnością, a większość tzw. usprawnień znacznie utrudnia ich pracę (ograniczona dokumentacja, częste zmiany, ryzyko regresji…). Wszystko to jednak czyni pracę w zespole QA jeszcze bardziej ciekawą gdyż rola tzw. “testera” zaczyna zmieniać się w rolę wysoce interdyscyplinarną. Na zakończenie, chciałbym przedstawić jakie główne wyzwania stawiane są zespołom QA przez metodyki zwinne, jak sobie z nimi radzić i jak osiągnąć najwyższą efektywność zespołów z punktu widzenia sukcesu projektu.

(ściągnij prezentację)

 

Zastosowanie teorii niezawodności do estymacji parametrów procesu testowania oprogramowania

Krzysztof Senczyna, Tieto/ Czech Republic

W artykule jest przedstawiona propozycja wykorzystania modeli z zakresu teorii niezawodności, konkretnie funkcji Weibulla do estymacji parametru wartości TTF ( Time to Failure) w procesie projektowania oprogramowania.  Metoda może być wykorzystana dla przypadku tworzenia oprogramowania z wykorzystaniem metodyk iteracyjnych, cyklicznych dla zespołu: urządzenie i oprogramowanie, czyli ( HW+SW) razem. To podejście jest stosowalne tam gdzie jest możliwość wstępnego, niezależnego oszacowania początkowych wartości TTF, a potrzebne jest estymacja wartości TTF późniejszych wersji SW w kolejnych cyklach rozwojowych.

 

Co my wiemy o programistach i ich testowaniu? Fakty i mity.

Radosław Smilgin testerzy.pl

Z czego większość testerów czerpie wiedzę na temat testowania programistycznego? Moim zdaniem od innych testerów i trenerów testowania. Czy może to oznaczać, że nasz obraz tego jak testowanie komponentowe wygląda jest wypaczone? Nie sięgamy do źródła, więc istnieje taka szansa. Aby zweryfikować ogólny obraz testowania programistów przy pomocy kilku zaprzyjaźnionych programistów oraz podczas wielu prezentacji przeprowadzonych dla programistów wykonałem badanie ich znajomości testowania oprogramowania. Wyniki badania okazały się szokujące nie dla tego, że pokazały, że programiści nie wiedzą za wiele. Okazało się, że wpaja nam się zupełnie inny obraz niż wyłania się z badania.

 

 

Organizator