Archiwa tagu: testowanie

Tester oprogramowania. Jak zacząć pracę jako tester?

Czasem znajomi spoza branży IT pytają mnie, jak zacząć pracę jako tester oprogramowania, albo proszą, żebym opowiedziała im na czym polega moja praca. Żeby się nie powtarzać, postanowiłam spisać to w jednym wpisie. Liczę, że komuś jeszcze się to przyda <3

Tester w kropki

Tester w kropki. Foto: d9k, Beskidy

Jak zacząć pracę jako tester?

Spróbować! Na juniora/młodszego testera manualnego naprawdę często nie trzeba kosmicznych umiejętności. Trochę wiedzy technicznej, parę książek wprowadzających w temat i zdrowy rozsądek – i myślę można spokojnie startować na mniej wymagające stanowiska. Reszty i tak nauczy się „w praniu”. Jeśli jest się tuż po studiach informatycznych, naprawdę nie trzeba wiele, większość pytań na rozmowach dotyczy po prostu myślenia („jak przetestował/a byś program, który jako wejście pobiera x, a ma za zadanie przerobić te dane na y„).

Co to jest tester manualny, automatyczny?

Przyjęło się, że rozdziela się te dwie kwestie, jednakże w praktyce nie zawsze są one oddzielnymi stanowiskami. Czytaj dalej

Książki o testach automatycznych

Kontynuując serię wpisów księgarskich (pierwsza część tu: Ksiażki o testowaniu oprogramowania – po polsku i dla początkujących a druga tu: Książki o testowaniu oprogramowania – po polsku, część #2) nadal przyglądam się książkom o testowaniu. Oto książki o testach automatycznych, które udało mi się znaleźć. Są to pozycje o testach automatycznych ale nie o testach jednostkowych – niestety w księgarniach bywają one wrzucane do jednej kategorii, a niestety jest to sprawa oddzielna – według większości znanych mi praktyk (podkreślam: praktyk, nie teorii 😉 ), testy jednostkowe piszą programiści, a pozostałe testy – testerzy.

Książki o testach

Książki. Foto: d9k

Czytaj dalej

Ksiażki o testowaniu oprogramowania – po polsku i dla początkujących

Jako że Helion raz po raz rzuca ciekawymi promocjami (niedawno można było złapać całkiem fajne zniżki: -40% na wybrane ebooki i -20% na niektóre książki), zaczęłam przeglądać, co mają ciekawego w kategorii: Książki o testowaniu. Muszę przyznać, że oferta jest niezła (a na pewno lepsza niż jeszcze jakiś czas temu) i jeśli nadal tak będą nęcić promocjami, to chyba skuszę się na pozycje, których jeszcze nie czytałam 🙂

Ksiażki o testowaniu

Ksiażki o testowaniu, dla początkujących

Postaram się uszeregować ksiażki wg stopnia zaawansowania, choć zastrzegam, że nie każdą miałam w ręku:

Czytaj dalej

Dzień Testera Oprogramowania!

Dziś Dzień Testera Oprogramowania! Święto to obchodzone jest 9 września, na pamiątkę pierwszego zarejestrowanego „buga”.

Ćma - idealna na Dzień Testera

Witrażowa ćma na witrażowym oknie. Foto: moje, Chatka pod Potrójną, czerwiec 2015

Dzień Testera i jego historia

Wydarzenie miało mieć miejsce w roku 1945 lub 1947. „Bugiem” była… ćma, która zaplątała się we wnętrznościach komputera Mark II. Rejestracji problemu (w najprawdziwszym papierowym dzienniku!) miała dokonać  sama Grace Hopper, pionierka informatyki. Grace zasłynęła m.in. dzięki swym pracom nad prototypem języka Cobol (1960) i pierwszymi kompilatorami (A-0 system, 1952). Źródła każą jednak traktować to tylko jako anegdotkę – Grace lubiła przytaczać ową historyjkę, a faktycznej rejestracji błędu dokonał któryś z operatorów komputera. Co ciekawe, dziennik można oglądać w Narodowym Muzeum Historii Amerykańskiej  (a jeśli się akurat do Stanów nie wybieracie, jego fotografia jest tu: http://americanhistory.si.edu/collections/search/object/nmah_334663).

Nie zmienia to jednak faktu, że w tamtych czasach owady te były prawdziwym utrapieniem. Pomieszczenia, w których znajdowały się ówczesne komputery, emitowały mnóstwo ciepła, co wabiło wszelkie żyjątka. Stanowiło to spory problem, bo plątające się w obwodach owady wprowadzały autentyczne zakłócenia w działaniu komputerów. Trzeba je było więc odpluskwiać (debugować) i to w faktycznym znaczeniu tego słowa 😉

Drodzy Testerzy, wszystkiego dobrego! Mnóstwa cierpliwości, bystrego oka i żeby tych bugów było jednak jak najmniej, a oprogramowanie cechowało się wysoką jakością. Bo to chyba w całym tym ambarasie jest najważniejsze 🙂

Jak zacząć z testowaniem – artykuł od Girls Who Test

Ilekroć zabieram się za wpis dla początkujących testerów opisujący jak zacząć z testowaniem, natrafiam w sieci na artykuł, który już temat opisuje! Jeszcze nie tak dawno w sieci mało można było znaleźć materiałów na ten temat, a teraz – proszę. Nic tylko czytać! 🙂

Tym razem w oko wpadła mi broszurka przygotowana przez Aleksandrę Kornecką z Girls Who Test.

Jak zacząć z testowaniem - artykuł od Girls who test

Dokument do przeczytania tutaj: https://docs.google.com/document/d/1e9IVt5x_W8FW24R-7BaQh3xf3jShHfJGzMEjm0E1sWg, a w nim:

  • co to jest oprogramowanie i co oznacza termin „testowanie oprogramowania”
  • kompetencje miękkie u testera
  • obowiązki testera
  • ścieżki rozwoju
  • skąd czerpać wiedzę
  • i inne.

Jeśli chodzi natomiast o same Girls Who Test, polecam śledzić ich stronę: http://www.girlswhotest.pl/events/, większość wydarzeń organizują w Warszawie lub Poznaniu. Dziewczyny, trzymam kciuki! 🙂

Kiedy skończyć testowanie

Testowanie oprogramowania to proces teoretycznie nieskończony. Zawsze można znaleźć warunki lub ścieżki, które nie zostały jeszcze sprawdzone.

Kowal bezskrzydły. Foto: moje, 2016

W warunkach biznesowych proces testowania jest jednak ograniczony (czasem, budżetem, możliwościami). Często pojawia się pytanie: kiedy można zakończyć testowanie, uznając że produkt jest dostatecznie dobrze sprawdzony?

Odpowiedź nie jest jednoznaczna – zakończenie testów jest umowne i zależy od spełnienia jakiegoś warunku:

  • Budżet – kwestia dość prosta.
  • Czas – może produkt „pudełkowy” ze sztywną datą wydania, może wytwarzany w modelu kaskadowym (a może w Scrumie), może trzeba gonić konkurencję, a może po prostu osoba decyzyjna stwierdza, że czas na testy ubiegł – kończymy.
  • Metryki. Tu zaczyna się robić ciekawie, o czym w dalszej części wpisu.

Ciekawy materiał na ten temat od IBM:
[ftp://public.dhe.ibm.com] – kopia [IBM_Kiedy_mozna_zakonczyc_testowanie].

Metryki

Metryki są pewnym założeniem i są to wartości dość względne. Mogą zostać ustalone na początku testowania. Niektóre z nich to np.:

  • Wykonanie założonego procentu przypadków testowych zakończyło się sukcesem (nie zostały wykryte błędy).
  • Ilość wykrytych błędów (lub krzywa wykrywanych błędów) spadła poniżej założonego progu.
  • Pokrycie funkcjonalności testami (manualnymi, automatycznymi) osiągnęło założony zakres, np.:
    • przetestowano ręcznie najważniejszą ścieżkę,
    • pokrycie testami jednostkowymi na poziomie 90%.

Prasówka #3 – Linki o testowaniu (i nie tylko;))

Garść linków – głównie są to linki o testowaniu. Ale nie tylko! Zapraszam do lektury.

linki o testowaniu

Nasosznik trzęś. Foto: moje, 2017

  1. Forum Forum Stowarzyszenia Jakości Systemów Informatycznych, gdzie poruszane są różne tematy o jakości oprogramowania i testowaniu: http://sjsi.org/forum/index.php
  2. Blog o testowaniu: http://www.testingminded.com/
  3. Bardzo duży zbiór różnych materiałów dotyczących testowania: https://github.com/ligurio/awesome-software-quality
  4. WebInject, jedno z darmowych narzędzi do automatycznego testowania, podobne nieco do JMetera. Jeśli dobrze pamiętam, próbowałam się nim bawić, ale „chemii między nami nie było”, zwłaszcza że nie chciało współpracować z proxy;) http://www.webinject.org/ . Ale to było dawno (2014) i nieprawda. Może już zostało naprawione 🙂
  5. Ciekawy artykuł „Signs that you’re a bad programmer”https://sites.google.com/site/yacoset/Home/signs-that-you-re-a-bad-programmer .
  6. Przykład tzw. Yoda condition:
    !"".equals(id)
    co stanowi krótszą formę od:
    !(id == null || id.equals(""))
  7. Artykuł o equals w Java: http://www.jakubiak.eu/2007/06/prawdy-o-equals.html.
  8. Zbiór linków o wzorcach projektowania stron, w kontekście usabilityhttp://www.webusability.pl/2008/05/13/design-patterns-czyli-wzorce-projektowe/.
  9. I na deser – fajne przykłady animowanych wykresów stworzonych w TeX: http://tex.stackexchange.com/questions/158668/nice-scientific-pictures-show-off.

Dobre praktyki w testach Selenium

Selenium jest narzędziem pozwalającym pisać testy automatyczne aplikacji webowych. Dzięki szerokiej gamie możliwości, sporej społeczności i kompatybilności od lat cieszy się dużą popularnością. Na oficjalnej stronie można znaleźć wiele materiałów: https://www.seleniumhq.org/.

Kawa i Selenium. Czemu nie?

Foto: moje, 2016

Dobre praktyki w automatycznych testach w Selenium:

  • Podstawowa zasada – używanie aktywnego czekania (WebDriverWait, wait.Until, ImplicitlyWait itd.) zamiast Thread.Sleep, który spowalnia testy, nie dając jednocześnie gwarancji, że zastosowana przerwa jest odpowiednio długa (jest wiele artykułów na ten temat w sieci).
  • Wyszukiwanie elementów na stronie za pomocą selektorów CSS (By.CssSelector) lub identyfikatorów ID lub name (By.Id, By.Name) – taka metoda jest o niebo szybsza niż wyszukiwanie przez XPATH.
  • Używanie wzorca Page Object.

Dobre praktyki w testach automatycznych

Czytaj dalej