Słowniczek podstawowych pojęć Quality Assurance & FAQ

A

Czym są testy manualne?

Projektowanie i wykonywanie scenariuszy testowych bez użycia narzędzi automatyzacji, wykonywane dla aplikacji webowych, mobilnych, desktopowych oraz rozwiązań Business Intelligence i Big Data.

A

Czym są testy automatyczne?

Testy te są wykonywane przy użyciu narzędzi, które uruchamiają odpowiednie skrypty testowe. Testy automatyczne służą usprawnieniu niektórych obszarów pokrywanych przez testy manualne, zapewniając przy tym powtarzalność i szybkość. Wykonywane w celu testowania aplikacji webowych, mobilnych, desktopowych oraz rozwiązań Business Intelligence i Big Data (poziom procedur SQL).

A

Czym są testy wydajnościowe?

Jest to rodzaj testów, który bada zachowanie aplikacji w warunkach przyjętego obciążenia. Wykonywane w aplikacjach webowych, mobilnych oraz w systemach Business Intelligence i Big Data

A

Czy możecie dostarczyć testerów „od zaraz”?

Jest to zależne od liczby aktualnie realizowanych projektów, ale zawsze staramy się odpowiedzieć na pilne potrzeby klientów. 

A

Czy macie doświadczenie w zakresie TEM (Test Environment Management)?

Posiadamy kompetencje w zakresie zarządzania środowiskiem testowym.

A

Czy w modelu outsourcingu dostarczacie całe zespoły, czy tylko pojedynczych testerów?

Dostarczamy zarówno całe zespoły, jak i pojedynczych testerów.

A

Jak szybko jesteście w stanie rozpocząć testy?

Jest to zawsze zależne od liczby projektów, jakie w danej chwili realizujemy i od tego, czy w danym momencie mamy dostępnych testerów „od zaraz”.

A

Czy posiadacie kompetencje w zakresie testowania aplikacji mobilnych?

Tak, posiadamy zarówno kompetencje, jak i doświadczenie w testowaniu aplikacji mobilnych.

A

W jakich językach komunikują się testerzy?

Nasi testerzy znają następujące języki:

  • Angielski
  • Polski
  • Francuski
  • Niemiecki

A

Jakie doświadczenie posiada Wasza firma w zakresie dostarczania rezultatów z wykorzystaniem podejść Test-Driven Development (TDD) i Behaviour-Driven Development (BDD)

Realizujemy dwa typy podejścia do projektów BDD. Pierwsze z nich to projekty, w których wykorzystujemy elementy BDD, takie jak  frameworki do automatyzacji testów (np. Serenity BDD, Cucumber czy Specflow). Drugi rodzaj to projekty oparte na podejściu BDD w bardziej złożony sposób. W tym przypadku dostarczamy / uzupełniamy dokumentację do analizy, rozwoju i testowania oprogramowania w oparciu o BDD. Naszym zdaniem podejście BDD powinno być połączone z podejściem TDD, gdzie BDD dostarcza funkcje opisane za pomocą języka naturalnego, a TDD jako proces powinien je pokryć. Dla dobrej współpracy wykorzystujemy narzędzia, takie jak Hiptest, z dynamiczną dokumentacją, czy frameworków testowych jak np. SpecFlow.

A

Czy posiadacie doświadczenie w testach w projektach scrumowych?

Tak, prowadzimy testy z wykorzystaniem metodyk zwinnych. Przykładowe projekty:

A

Czy jest możliwość doraźnego wsparcia w obszarze testów, np. na okres jednego miesiąca?

Tak, jest taka możliwość. Usługi testerskie realizujemy w elastycznym modelu as a service, dzięki czemu klient ma dostęp do usług bez względu na czas trwania projektu i ilość potrzebnych specjalistów.

A

Czy testerzy są gotowi na zagraniczne wizyty u klienta?

Tak, nasi testerzy są gotowi na wyjazdy zagraniczne do klientów, jednak ich długość każdorazowo jest ustalana zarówno z klientem, jak i pracownikiem.

A

Czy prowadzicie szkolenia dla testerów klienta?

Posiadamy niezbędne kompetencje do przeprowadzenia szkoleń dla testerów klienta.

A

Czy jest możliwa usługa okresowego kontrolowania procesu testowego u klienta?

Tak, na podstawie TPI NEXT (Test Process Improvement) możemy dokonać analizy obszarów, które wymagają poprawy.

A

Czy testerzy mogą pracować w siedzibie klienta?

Tak, w niektórych sytuacjach jest taka możliwość. W przypadku projektów międzynarodowych głównie jest to realizowane w postaci onboardingu w siedzibie klienta, rozpoczęcia nowych projektów czy okresowych spotkań organizacyjnych.

A

W jakich obszarach testów posiadacie doświadczenie?

Posiadamy doświadczenie w następujących obszarach:

  • Automatyczne testy GUI end-to-end
  • Automatyczne testy API
  • Testy manualne
  • Testy wydajnościowe (na podstawowym poziomie)

A

Jakie są koszty?

Koszty i stawki ustalane są indywidualne i są uzależnione od wymagań projektowych, kompetencji testera niezbędnych do realizacji projektu oraz czasu jego trwania.

A

W jaki sposób Wasz zespół QA poszerza swoje umiejętności?

Poszerzamy wiedzę poprzez udział w konferencjach, szkoleniach zewnętrznych i wewnętrznych. JCommerce prowadzi też wiele ciekawych dedykowanych projektów dla testerów, które umożliwiają dzielenie się wiedzą i jej zdobywanie, jak m.in.: Akademia JTestera, JStaż, ShareIT, BiteIT. Wszyscy testerzy zatrudnieni w JCommerce mają także dostęp do platformy Pluralsight i wsparcia mentorskiego.

A

Czy posiadacie odpowiednie kompetencje, żeby przeprowadzić audyt procesu testowego, ocenić proces testowy oraz dać wskazówki, co należy zmienić?

Tak, posiadamy niezbędne kompetencje, aby przeprowadzić audyt procesu testowego. Testerzy JCommerce posiadają następujące certyfikaty:

  • ISTQB Advance – Test Manager
  • ISTQB Advance – Test Analyst
  • ISTQB Advance – Technical Test Analyst
  • ITIL® Foundation Certificate in IT Service Management
  • PSPO I (Professional Scrum Product Owner)

A

Jakich narzędzi używacie?

Do zarządzania projektami wykorzystujemy Gitlab, JIRA, Azure DevOps Server, X-Ray, TestRail, QATouch, HipTest. Używamy też narzędzi do automatyzacji testów. Oczywiście wszystko zależy od rodzaju projektu i od potrzeb. Mamy doświadczenie w automatyzacji z wykorzystaniem takich języków jak: Java, Python, C#, JavaScript, jednak w większości wykorzystujemy Javę i C#.


W zależności od przypadku wykorzystujemy różne frameworki. Mamy doświadczenie w automatyzacji testów aplikacji mobilnych, webowych, API, desktopowych dla oprogramowania Windows oraz aplikacji macOS. W większości przypadków frameworki te bazują na Selenium, ale nie tylko. W naszym portfolio można znaleźć projekty, w których wykorzystujemy takie narzędzia, jak: Selenium Webdriver, WebDriverIO, Serenity BDD, Serenity ScreenPlayPattern, Cucumber, Spock, Specflow, Selenide, Watir, Atata, PyTest, Appium, TestComplete, Postman, RestAssured, JUnit, TestNG, BrowserStack

A

Proszę opisać infrastrukturę, narzędzia i doświadczenie związane z przeprowadzeniem testów wydajnościowych i testów bezpieczeństwa

Do przeprowadzenia testów wydajnościowych wykorzystujemy:

  • JMeter
  • Gatling
  • BlazeMeter
  • Flood.io
  • LoudUI na poziomie podstawowym

Przeprowadzamy we własnym zakresie podstawowe testy bezpieczeństwa w zgodzie z dobrymi praktykami dostarczanymi np. przez OWASP. Bardziej złożone testy są zlecane zewnętrznym wykonawcom, aby zwiększyć niezależność testów.  

A

Jakie standardy stosujecie, jeśli chodzi o dokumentację?

Pracujemy w oparciu o z ISO 29119 i tworzymy dokumentację zgodną z tą normą. W większości tworzymy:

  • Dokumentację zarządzania procesem testowym
    • Plany testów (w tym strategia)
    • Raporty o statusach testów
    • Raporty z ukończenia testów
  • Dynamiczną dokumentację procesu testowego:
    • Specyfikacje projektów testowych
    • Specyfikacje przypadków testowych
  • Dokumentacje bieżących wyników testów
    • Wyniki testów
    • Wykonane testy
    • Raporty incydentów testowych

A

Czy możecie wdrożyć u klienta proces testowy i nauczyć jego zespół, jak powinien on działać?

Tak, specjaliści JCommerce wdrażali już u klientów procesy testowe od podstaw. W jednym z takich projektów rozwoju oprogramowania klient potrzebował wsparcia we wdrożeniu zarówno testów, jak i metodyki pracy w Scrumie. Było to wyzwanie zarówno dla nas, jak i dla klienta, jednak udało się z sukcesem wdrożyć zarówno nowe procesy, jak i dobre praktyki. Aktualnie zespół testerów z JCommerce z powodzeniem wspiera klienta, wdrażając zarówno testy automatyczne, jak i manualne oraz wprowadzając dobre praktyki projektowe pracy w Scrumie.

A

Z jakimi negatywnymi sytuacjami macie do czynienia w projektach?

Najczęstszym problemem, z jakim się mierzymy, są presja czasu i wysokie priorytety zadań.

Żeby zapobiec problemom z realizacją projektu na czas, nasi testerzy reagują od razu, kiedy pojawia się takie zagrożenie. Ważna w takiej sytuacji jest otwarta komunikacja z resztą zespołu i przełożonym, a także z osobami odpowiedzialnymi za projekt po stronie klienta. Konieczne jest również takie ustalanie priorytetów zadań w całym procesie rozwoju oprogramowania, żeby nie dopuścić do sytuacji, w której nie ma czasu na testy. Jeśli jest to konieczne, organizowane są także spotkania zespołu developerskiego z klientem, żeby przedstawić problem i plan działania. Pozwala to zrealizować projekt w taki sposób, żeby najważniejsze funkcjonalności zostały oddane w uzgodnionym terminie bez uszczerbku na ich jakości.



A

Czym różni się tester manualny od testera automatyzującego? Kiedy w projektach lepiej postawić na testy manualne, a kiedy na automatyczne?

Test automatyczny jest to scenariusz przygotowany przez inżyniera automatyzującego w postaci skryptu, który można uruchomić w danym środowisku, przez co wykonywany jest bez ingerencji użytkownika:

Zalety:

  • Odpowiednio przygotowane skrypty pozwalają szybko ocenić jakość całej aplikacji po wprowadzonych zmianach
  • Testy automatyczne pozwalają uniknąć problemu nawarstwiania się funkcjonalności
  • Pozwalają sprawdzić dużą ilość danych naraz, co byłoby pracochłonne lub wręcz niemożliwe w przypadku testów manualnych
  • „Żyjąca” (dynamiczna) dokumentacja – scenariusze testowe muszą być aktualizowane wraz ze zmianami w aplikacji
  • Automatyczne generowanie raportów z testów
  • Łatwiejsze łączenie testów na wielu poziomach (UI, API, bazy danych itp.)

Wady:

  • Wysoki koszt początkowy przygotowania skryptów automatycznych
  • Testy automatyczne sprawdzają tylko to, co chcemy, aby sprawdziły – mała szansa na znalezienie nowych błędów
  • Konieczność utrzymywania testów w kontekście zmian w aplikacji
  • Konieczność przygotowania infrastruktury aplikacji pod testy automatyczne (osobna baza danych, środowisko, konta użytkownika)

Testy automatyczne sprawdzają się najlepiej, kiedy konieczna jest regresja (ponowne przetestowanie systemu po wprowadzonych zmianach) w projektach utrzymaniowych. Sprawdzają się także jako testy regresyjne w dużych skomplikowanych projektach, gdzie regresja zajmuje tak dużo czasu, że byłaby po prostu nieopłacalna.

Load More

Chcesz wiedzieć więcej?

    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
    Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
    W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
    2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
    • w celach handlowych,
    • w celach marketingowych,
    • w celach rekrutacyjnych;
    • w celach przyszłych rekrutacji.
    3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
    4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
    5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
    6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
    7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
    8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
    9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
    10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.