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.