nobugteam tes

Transkrypt

nobugteam tes
t
e
s
t
o
w
a
n
i
e
j
e
s
t
ł
a
t
w
e
testerzy.pl
KOMPLEKSOWE ROZWIĄZANIA TESTOWE
Przedstawiamy Państwu ofertę, która prezentuje, szeroki wachlarz naszych usług.
Są to poszczególne elementy, które mogą być zamawiane pojedynczo, lub w bardziej
złożonych pakietach. Dokument ten nie zawiera cen i nie jest ofertą handlową. Po więcej
szczegółów zapraszamy do naszego działu handlowego [email protected]
Tworzenie zespołów testowych. Rekrutacja i outsourcing, jeśli szukają Państwo
ludzi mogących udźwignąć ciężkie zadanie, jakim jest pilnowanie jakości Państwa
produktu, to jest to właściwe miejsce, aby zacząć! Ciężko zdefiniować, jakimi
wyuczonymi umiejętnościami powinien cechować się tester lub specjalista ds. jakości.
Wiadomo za to dokładnie, jakie powinien przejawiać zdolności. My potrafimy wyławiać ich
spośród rzeszy kandydatów i stworzyć z nich sprawną maszynę do wyszukiwania
defektów.
Prosty przykład:
Zadanie: firma zatrudniająca 30 programistów, pięciu szefów grup, jednego kierownika
projektów, tworząca oprogramowanie biurowe dla małych przedsiębiorstw; pragnie
stworzyć grupę 4 testerów z jednym liderem.
Rozwiązanie: definiujemy potrzeby klienta. Załóżmy, że ma to być grupa potrzebna, jak
na razie, dla jednego projektu i jeśli się sprawdzi, zostanie rozszerzona na dalsze
projekty. W związku z tym nasza oferta będzie się koncentrować na usługach
outsourcingowych firm, z którymi współpracujemy. Takie rozwiązanie będzie tańsze i
pozwoli łatwiej rozwiązać grupę w przypadku, gdy ta się nie sprawdzi.
Tworzymy zapytanie handlowe do naszych partnerów z prośbą o przedstawienie
kandydatów. Zakładamy, że skoro firma jest mała, muszą oni mieć następujące
kwalifikacje: podstawowe umiejętności programowania, umiejętność posługiwania się
narzędziami do śledzenia wersji oprogramowania oraz to „coś”, co spowoduje, że będą w
stanie testować wydajnie. Proces rozpoczyna się od wyboru doświadczonego lidera grupy.
Po otrzymaniu CV dokonujemy selekcji odpowiednich osób i razem z przedstawicielem
firmy podejmujemy decyzję. W następnej kolejności wybrana osoba będzie uczestniczyła
w doborze kandydatów na testerów.
Zadanie wykonane.
Outsourcingowe grupy testowe stworzone do przetestowania pojedynczego
narzędzia – bazując na naszych doświadczeniach, wiemy, iż czasami firmy tworząc
pojedyncze narzędzia, nie mają własnej grupy testerów. W tym przypadku nasza oferta
polega na przyjęciu zlecenia na przetestowanie go (nie definiując, czym to narzędzie jest
dokładnie, może to być zarówno oprogramowaniem jak i hardware). Odbywa się to w
siedzibie klienta lub też w naszej siedzibie. Może przyjmować dowolne formy: white-box
lub black-box, doświadczenia (testerzy lub potencjalna grupa końcowych użytkowników),
testów systemowych lub komponentowych etc. W zależności od umowy sprawdzone
mogą zostać następujące czynniki – awaryjność, stabilność, defekty, przyjazność
Wyłączne prawa autorskie do tego dokumentu posiadają „testerzy.pl”. Rozpowszechnianie dla celów komercyjnych jak i
niekomercyjnych jest dozwolone tylko pod warunkiem podania źródła.
t
e
s
t
o
w
a
n
i
e
j
e
s
t
ł
a
t
w
e
interfejsu graficznego, lub wzornictwa przemysłowego, wydajność, praca w warunkach
granicznych, praca w środowisku stresowym, reakcja na duże obciążenia itp.
Formy raportowania nie są również niczym ograniczone. Dla przykładu może to być
końcowy raport z użytkowania narzędzia w formie papierowej, lub elektronicznej, ale
może być to również jedno z wielu narzędzi(raport będzie narzędziem? Błąd logiczny),
służące do wymiany informacji między programistami, a testerami, takie jak komercyjny
Rational ClearQuest czy niekomercyjna Bugzilla.
Projektowanie i wdrażanie środowisk testowych, jeśli stoją Państwo przed
zadaniem stworzenia właściwego środowiska testowego nie mając w tym temacie zbyt
dużego doświadczenia, właściwym miejscem by zacząć jest skonsultowanie się z
testerzy.pl
Nasza oferta jest tak szeroka, że nie sposób przedstawić wszystkich opcji. Posłużymy się,
więc kolejnym przykładem.
Zadanie: przetestowanie portalu internetowego.
Wymagania: black-box testing z perspektywy końcowego użytkownika plus sprawdzenie
wydajności.
Założenie: istnieje już narzędzie zarządzające wersjami oprogramowania.
Rozwiązanie: nasze zadanie nie jest trudne, ma jedynie pokazać mechanizmy naszej
pracy. Pierwszym krokiem będzie przygotowanie sprzętu komputerowego, mającego na
celu przetestowanie wszelkich kombinacji hardware– oprogramowanie. Posłużą one do
sprawdzenia kooperacji portalu z różnymi systemami operacyjnymi (Windows – wszystkie
wersje, Linux – różne dystrybucje), przeglądarkami (IE, Opera, FireFox itp.), możliwymi
trybami wyświetlania itd.
Zainstalowanie dodatkowego komputera z aplikacjami mającymi na celu obciążanie
serwera, czyli sprawdzaniem, co się stanie, gdy naraz zaloguje się więcej niż
przewidziana ilość użytkowników pomoże nam sprawdzić zachowanie systemu w
warunkach stresowych.
Narzędzia to jednak nie wszystko. Testerzy muszą mieć możliwość dostępu do
specyfikacji i wymagań dostępnych dla portalu. Tu przyda się jedno z wielu narzędzi
dostępnych na rynku, zaczynając od SharePointa (dostępnego za darmo z Windows
Server), po skomplikowane aplikacje SAP, jak np. easyDM. Wiele tego rodzaju aplikacji
dostępnych jest w wersjach, opensource czyli całkowicie za darmo.
Ważnym zadaniem będzie też stworzenie punktu komunikacyjnego styku między
programistami i testerami. Tu, dla dużych projektów, niezbędne stają się narzędzia typu
Bugzilla i ClearQuest, ale dla małych wystarczą małe aplikacje bazodanowe, lub zwykłe
tabele arkuszy kalkulacyjnych np. Open Office-a.
Skoro założono na wstępie, że istnieje już narzędzie do sprawdzania najnowszych wersji,
należy zdefiniować komórkę/osobę odpowiedzialną za udostępnianie kolejnych odsłon
portalu dla testerów. Przeciwdziała to potencjalnemu chaosowi. Takie działanie może
zostać również zautomatyzowane.
Należy tu dodać, że nie zajmujemy się bezpośrednio zagadnieniami bezpieczeństwa
takowych serwerów czy aplikacji. Na życzenie klienta możemy zaopiniować, którąś z
dostępnych na rynku firm zajmujących się tym tematem
Implementacja narządzi wymiany danych programista <-> tester – jest to jedno
z najważniejszych i najtrudniejszych w implementacji zadań. Ma na celu przede
wszystkim stworzenia kanału komunikacyjnego między różnymi działami Państwa firmy.
Daje też możliwość ciągłej kontroli czynników takich, jak: Ile czasu upłynie od momentu,
kiedy defekt zostanie znaleziony, do czasu, kiedy zostanie naprawiony?, Ile defektów jest
w stanie znaleźć tester, a ile programista naprawić? Tworzenie charakterystyk, w jakiej
fazie projektu błędów pojawia się najwięcej? Na bazie znanych defektów, określić jakość
produktu w każdym momencie trwania projektu.
Wyłączne prawa autorskie do tego dokumentu posiadają „testerzy.pl”. Rozpowszechnianie dla celów komercyjnych jak i
niekomercyjnych jest dozwolone tylko pod warunkiem podania źródła.
t
e
s
t
o
w
a
n
i
e
j
e
s
t
ł
a
t
w
e
Ważne jest by zdolność do przekazywania informacji była jak najszybsza i aby interfejs
był jak najwygodniejszy dla każdej ze stron. Oferujemy, wcześniej wspomniane,
komercyjne narzędzie- > ¤¤¤¤¤¤¤¤¤¤¤¤¤¤Rational ClearQuest, lub darmowe - Bugzilla.
Nasze doświadczenie pozwala twierdzić, że na razie nie ma na rynku lepszych rozwiązań.
Jednak nie zamykamy się tylko w tym wąskim gronie aplikacji. Na potrzeby klienta
możemy zaprojektować, stworzyć i przetestować aplikację bazodanową, dokładnie
dopasowaną do potrzeb danej firmy.
Audyty środowisk testowych. Konsultacje wewnętrzne – czy mają Państwo czasmi
wrażenie, że choć wydaje się, że wszystko powinno działać doskonale, coś ciągle jest nie
tak?! Próby nazwania problemu po imieniu nie dają wyraźnych rezultatów, a sprawy idą
ciągle w złym kierunku?! Jeśli dotyczy to testowania tu możemy pomóc.
Bazując na doświadczeniu i zgromadzonej wiedzy, możemy zidentyfikować źródło
problemu i przedstawić konkretne rozwiązania. W zależności od potrzeb możemy
sprawdzić:
- dokumentację testową i wymagania na bazie, jakich została ona stworzona,
- środowiska pracy testerów i kanały komunikacyjne z programistami,
- kooperację, zarówno wewnątrz, jak i na zewnątrz grupy,
- obszary, w których pracownicy mają niedostateczną wiedzę i zaproponować pakiety
szkoleń,
- możemy uczestniczyć w wewnętrznych spotkaniach, sprawdzając ich wartość
merytoryczną itd.
W przypadku zdefiniowania niewłaściwego podejścia do testowania oferujemy
prezentację różnych metodologii poprawy środowiska pracy, jak np.:
- Proces poprawy testowania (Test Process Improvement) – zdefiniowane przez
doświadczonych zachodnioeuropejskich, oraz amerykańskich naukowców,
- Proces tworzenia oprogramowania oparty na testowaniu (Test Driven Development) –
metodologia wywodząca się z XP (extreme programming),
- lub zupełnie nową jakość dopasowaną do realiów pracy naszego klienta,
Przykład: duża firma, produkuje m.in. przenośne odtwarzacze muzyki. Około 30%
produktów wraca do firmy z powodu błędów znalezionych przez użytkowników. Podważa
to renomę marki i zniechęca użytkowników do kupna innych produktów tej firmy.
Kierownictwo prosi o radę zewnętrzną firmę.
Okoliczności: w tym konkretnym przypadku rozwiązanie okazuje się skomplikowane.
Analiza dokumentacji udowadnia, że pokrycie testowe wynosi więcej niż 95% przypadków
użycia, więc nie może być przyczyną kłopotów. W określeniu powodów ważny okazuje się
udział w spotkaniach wewnętrzych. Testowanie rozpoczyna się w bardzo późnej fazie
tworzenia produktu. Testerzy znajdują wiele błędów, ale nie są one możliwe do naprawy
przed datą dostarczenia produktu na rynek. Presja kierownictwa ukierunkowana na
czasowość dostaw powoduje, że niższy szczebel zarządzający na własną rękę podejmuje
decyzję o pozostawieniu defektów.
Sugerowane rozwiązanie: wprowadzenie testów we wczesnej fazie produkcji. Dla
programistów zdefiniowano testy akceptacyjne dla poszczególnych komponentów.
Sprawdzany jest każdy fragment oprogramowania metodą white-box przez innych
programistów. Testowanie zostaje zautomatyzowane wewnętrznym narzędziem. Testerzy
otrzymują nie jak było wcześniej, końcowy produkt, ale specjalnie dla nich przygotowane
prototypy. W konsekwencji, więcej defektów zostaje znalezione we wczesnej fazie
projektu. Ilość zwrotów produktów spada do akceptowalnego przez zarząd poziomu 5%.
Tworzenie, przegląd i zarządzanie dokumentacją testową – dokumentacja
testowa, oparta na wymaganiach klienta, jest najważniejszym punktem odniesienia do
wszystkich czynności testowych, odbywających się w Państwa firmie. Wiemy jak o nią
zadbać.
Wyłączne prawa autorskie do tego dokumentu posiadają „testerzy.pl”. Rozpowszechnianie dla celów komercyjnych jak i
niekomercyjnych jest dozwolone tylko pod warunkiem podania źródła.
t
e
s
t
o
w
a
n
i
e
j
e
s
t
ł
a
t
w
e
Stworzenie dobrej dokumentacji ma bezpośrednie przełożenie na jakość końcową
produktu. Im więcej przypadków użycia uda nam się przewidzieć, tym dokładniej
możemy sprawdzić zachowania potencjalnego użytkownika i reakcję urządzenia.
Drugi krok, to tak zwany przegląd dokumentacji. Pod tym pojęciem kryją się dwa
zagadnienia. Pierwsze to całościowe sprawdzenie przygotowanych szkiców dokumentacji i
ich zaaprobowanie. Drugi to uwzględnianie zmian, wymagań i utrzymywanie ciągle
aktualnej specyfikacji testowej.
Posługujemy się tu dwoma językami: naszym narodowym, polskim, oraz
międzynarodowym, biznesowym- angielskim.
Zarządzanie dokumentacją polega głównie na użyciu narzędzi wersjonowania, oraz
limitowaniu dostępu do pewnej części dokumentacji, np. u podstaw jednej z metodologii
leży przekonanie, że specyfikacja testów pod żadnym pozorem nie może dostać się do
rąk programistów.
Służymy obsługą sprawdzonymi już narzędziami, zarówno komercyjnymi jak i
darmowymi.
Implementacja narzędzi służących do automatyzacji testów – automatyzacja
testów jest zagadnieniem bardzo szerokim. Odnosi się przede wszystkim do
oprogramowania, ale w szczególnych przypadkach może być także zrealizowana
sprzętowo przez np. robota symulującego przyciskanie klawiszy.
Możliwość stworzenia narzędzia idealnie dopasowanego do potrzeb naszych klientów jest
naszym priorytetem. W pewnych specyficznych warunkach można oczywiście zastosować
istniejące rozwiązania, ale ich użycie jest ograniczone. Przykładowo, WinRunner może
być użyty do obciążania dowolnej aplikacji. Oprogramowianie typu „zapamiętywanie i
odtwarzanie”, powszechnie używane przy testach regresyjnych, Fitnesse, może być użyte
jako narzędzie do tworzenia testów akceptacyjnych dla komponentów.
W szeregu rozwiązań znajdziemy jeszcze między innymi te służące do zarządzania
konfiguracją, sprawdzania pokrycia testów, debuggowania kodu, sterownia, analizy
statycznej i dynamicznej kodu, zarządzania przypadkami, przeciążania, modelowania,
monitorowania, sprawdzania wydajności, próbkowania, tworzenia wymagań, tworzenia
sytuacji stresowych, porównywania, tworzenia przypadków testowych, zarządzania
testami.
Testowanie według precyzji metod – metod i metodologii testowanie jest równie
wiele, jak tych dotyczących tworzenia kodu. Na potrzeby Państwa firmy możemy
przygotować testy dokładne, tj. white- i black-box testing, testy integracyjne, lub też
powierzchowne: alfa/beta, smoke test, freestyle.
To nie jest koniec naszej oferty. Jeśli Państwa zdaniem nie zawiera ona
tego, co jest specyficzne dla Państwa działalności, proszę nam o tym
powiedzieć. Nasz wyspecjalizowany konsultant pomoże w każdej
dziedzinie związanej z testowaniem i jakością, oraz dostarczy Państwu
niezbędnych informacji o naszej ofercie.
testerzy.pl czekają na Państwa zlecenie!
Wyłączne prawa autorskie do tego dokumentu posiadają „testerzy.pl”. Rozpowszechnianie dla celów komercyjnych jak i
niekomercyjnych jest dozwolone tylko pod warunkiem podania źródła.