Idź do:
- 1. QA a transformacja cyfrowa w 2020
- 2. Quality Assurance i testy – najważniejsze trendy w 2021
- 3. Szybko, szybciej… QA!
- 4. Lepiej zapobiegać niż leczyć. Czym jest Quality Assurance?
- 5. Quality Control (QC) vs Quality Assurance (QA)
- 6. QA vs tester oprogramowania
- 7. Czy zapewnienie jakości i outsourcing mogą iść w parze?
- 8. Case study
- 9. Outsourcing usług QA: największe korzyści
- 10. QA a rozwój projektów – podsumowanie
QA a transformacja cyfrowa w 2020
W 2020 roku wzrosła rola systemów i aplikacji umożliwiających cyfryzację przedsiębiorstw. Digitalizacją zainteresowało się wiele firm z sektora publicznego, dla których jest to szansa na wprowadzenie usprawnień w czasach pandemii. Rynek po 2020 roku wymusza jeszcze szybsze dostarczanie produktów cyfrowych i wielu IT managerów zachodzi w głowę, jak przy zawrotnym tempie pracy zagwarantować jakość w projektach rozwoju oprogramowania. W artykule wyjaśniamy, dlaczego nie możesz pominąć roli Quality Assurance w 2021 roku, jak praca specjalistów i zespołów QA wpływa na procesy w projekcie oraz czy outsourcing usług Quality Assurance to dobry pomysł dla firm, którym zależy na zapewnieniu jakości rozwijanego oprogramowania.
Quality Assurance i testy – najważniejsze trendy w 2021
Jakie trendy ukształtują rynek, na którym będzie wysokie zapotrzebowanie na testerów oprogramowania i zespoły zarządzania jakością? Firma Capgemini badająca trendy „Predictions 2021: Quality Assurance and testing” mówi wręcz o „Need for speed” w dostarczaniu produktów cyfrowych. Dynamika rynku i przyspieszona transformacja cyfrowa w firmach (nawet 25-krotnie, wg raportu McKinsey) sprawiają, że rośnie rola Time to Market, a żadna firma nie chce przecież wybierać między jakością produktów a szybkością realizacji projektów.
W zapewnieniu jakości rozwijanego oprogramowania ważniejsze niż kiedykolwiek będą zatem takie trendy jak:
- Zwinność (Agile i techniki DevOps) – iteracyjne dostarczanie produktów ma na celu zapewnienie ciągłości procesu i pozwala na stałe ulepszanie funkcjonalności rozwijanego systemu / aplikacji
- Automatyzacja i wykorzystanie technologii (AI i Machine Learning) – automatyzacja testów jest coraz ważniejszym wsparciem w zakresie dostarczania produktów cyfrowych wysokiej jakości
- Posiadanie specjalistów o wszechstronnych kompetencjach – coraz częściej projekty są realizowane przez wszechstronne kompetencyjnie Zespoły Developerskie
- Wykorzystanie chmurowych środowisk testowych – szybki dostęp i skalowalność.
- Szybkość i efektywność – nieprzewidywalny rynek wymusił szybkie reagowanie i sprawne wdrażanie innowacyjnych rozwiązań cyfrowych i aplikacji
- Zacieranie się granicy między Quality Assurance i Quality Control – naszym zdaniem szerokie doświadczenie projektowe testerów sprawia, że standardowe podejście do testów się zmienia, a testerzy coraz częściej przejmują obowiązki QA
Szybko, szybciej… QA!
W kontekście powyższych trendów firmy w dobie transformacji muszą odpowiedzieć sobie dziś na 3 kluczowe pytania:
- W jaki sposób szybko wdrażać produkty dobrej jakości w czasie, gdy wszystko dzieje się „tu i teraz”?
- Czy rekrutacja stała pozwoli wystarczająco szybko dostarczyć testerów oprogramowania?
- Czy standardowa rola testera oprogramowania odpowiada na nasze potrzeby i czy testerzy mogą się w naszym projekcie skupiać wyłącznie na sprawdzaniu jakości oprogramowania?
Odpowiedzią na te pytania może być outsourcing specjalistów zarządzania jakością. Zacznijmy jednak od wyjaśnienia kilku podstawowych pojęć związanych z QA.
Przeczytaj również: Testy niefunkcjonalne – co warto o nich wiedzieć?
Lepiej zapobiegać niż leczyć. Czym jest Quality Assurance?
Zgodnie z normą ISO 9000 Quality Assurance to obszar zarządzania jakością mający na celu zapewnienie, że wymagania jakościowe w firmie zostaną spełnione.
Pojęcie Quality Assurance budzi wiele wątpliwości i często jest nadużywane, na przykład w przypadku ofert pracy dla testerów oprogramowania. Specjalista Quality Assurance zapewnia jakość w całym procesie wytwarzania oprogramowania. Testowanie oprogramowania dostarcza informacji dla QA, który zajmuje się także propagowaniem jakości.
Quality Control (QC) vs Quality Assurance (QA)
Każda firma dostarczająca usługi IT zapewnia, że „dostarcza usługi wysokiej jakości”. Jednak takie zapewnianie, a faktyczne zapewnienie jakości to dwie różne sprawy. Na dbanie o jakość oprogramowania składają się nie tylko takie działania jak testy oprogramowania. To także wszystkie aktywności związane z realizacją strategii i wartości firmy. Aby działania zapewnienia jakości przynosiły efekty, powinniśmy mieć wyznaczone cele, miary związane z jakością. Punktem wyjścia do wszelkich działań jest strategia jakości, czyli wiedza, jaki jest stan oczekiwany, a jaki rzeczywisty.
Różnice pomiędzy procesem Quality Assurance a Quality Control najprościej można ująć w ten sposób:
Quality Control
- Dostarcza informacji o jakości w projekcie
- To planowanie, analiza, projektowanie, wykonanie i ocena testów
- Przygotowanie zestawów testów
- Planowanie aktywności testowych
- Archiwizowanie artefaktów testowych
Quality Assurance
- Odpowiada na pytanie, co zrobić, aby jakość była jak najlepsza
- To wykonywanie analiz, dobór narzędzi, podejmowanie decyzji oraz ustalanie standardów
- Propagowanie roli jakości
QA vs tester oprogramowania
W skład zespołów czuwających nad jakością oprogramowania wchodzą różne role projektowe. Zarówno tester oprogramowania, jak i specjalista Quality Assurance mają w codziennej pracy jeden cel: oddać klientowi produkt możliwie jak najwyższej jakości. Czynności nad rozwojem oprogramowania powinny się odbywać pod pieczą project managera, a praca nad jakością nie ogranicza się do samego testowania systemów i aplikacji.
Jakie czynności wykonuje QA Specialist / QA Engineer, a jakie tester?
Specjalista QA
Ta rola może dotyczyć dbania o jakość w całym projekcie. Specjalista QA może też realizować zadania z obszaru Quality Control.
- Buduje strategie i podejmuje decyzje
- Współpracuje ze specjalistami DevOps, zleca im budowę środowisk
- Wyznacza standardy lub współpracuje przy ich wyznaczaniu, może zasugerować wykorzystanie określonych narzędzi do sprawdzania jakości
- Wprowadza i nadzoruje procesy
- Wybiera frameworki do wykorzystania w projekcie
- Dba o świadomość jakości
- Jest osobą informującą odpowiednich interesariuszy o rzeczywistej jakości
- Może też zajmować się testami
Tester oprogramowania
Quality Control skupia się na dostarczaniu informacji o jakości. Świat się zmienia, a testerzy razem z nim. Rola ta powoli zanika w zakresie samej kontroli jakości, a testerzy coraz bardziej rozwijają się w stronę szeroko pojętego QA. Bardziej kompletny tester oprogramowania to tester, który patrzy na proces jako całość.
- Szuka defektów – w tym celu wykonuje testy oprogramowania, aby sprawdzić jego funkcjonowanie
- Pomaga zminimalizować ryzyko wystąpienia błędów
- Raportuje o stanie oprogramowania
- Jego zadaniem jest dostarczenie informacji do procesu zarządzania jakością w projekcie
Czy zapewnienie jakości i outsourcing mogą iść w parze?
Mając większą świadomość tego, czym jest, a czym nie jest Quality Assurance, możemy zacząć się zastanawiać, czy należy powierzać proces pracy nad jakością firmom zewnętrznym. Firma Inetum dostarcza zespoły do zarządzania jakością, które mają na celu optymalizację procesów testowych. Takie firmy często mają dostęp i wiedzę na temat najnowszych frameworków, przeprowadzają audyty i szkolenia z zakresu zarządzania jakością procesu testowego. A dzięki niezależnemu spojrzeniu są w stanie zaproponować nowe rozwiązania.
Case study
Usługi zapewniania jakości dla Stanusch Technologies
Przykładem jest projekt, zrealizowany dla Stanusch Technologies, klienta z branży IT dostarczającego rozwiązania sztucznej inteligencji. Specjaliści QA z Inetum poprawili proces testowy, co pozwoliło skrócić czas wykonywania testów automatycznych o połowę, ale też zaproponowali nowe narzędzia. Dlaczego oddelegowanie tych zadań przyniosło klientowi tyle korzyści?
Firmy wytwarzające oprogramowanie swój główny wysiłek skupiają na wytwarzaniu i rozwoju aplikacji i jest to ich główna domena. Dla firm outsourcingowych, które specjalizują się w dostarczaniu zespołów QA, priorytetem jest przygotowanie, wyszkolenie specjalistów, inwestycja w ich rozwój oraz dostarczenie im najnowszych narzędzi.
Usługi Quality Assurance dla TVP Technologie
Firmy z sektora publicznego stawiają na digitalizację. Pod koniec 2020 roku, a więc w momencie, który dla wielu firm oznacza dopinanie budżetów oraz nieobecność wielu pracowników w związku ze zbliżającym się okresem świątecznym, do Inetum zgłosił się Ośrodek TVP Technologie. Klient pracował nad rozwojem aplikacji i serwisów internetowych i potrzebował pilnego wsparcia m.in. w obszarze Quality Assurance. Głównym wymogiem było sfinalizowanie prac przed końcem 2020 roku, tak żeby klient mógł oddać w pełni funkcjonalną i działającą na wszystkich platformach aplikację.
Specjaliści Inetum pracowali zdalnie z różnych lokalizacji, dzięki czemu w ciągu tygodnia do projektu dołączyło 8 osób. Tym samym odciążyliśmy klienta, który nie musiał rozpoczynać żmudnego procesu rekrutacji i poszukiwać specjalistów na rynku oraz zażegnaliśmy ryzyko wydania przez klienta aplikacji niespełniającej oczekiwanych standardów jakości.
Outsourcing usług QA: największe korzyści:
- Zewnętrzna firma gwarantuje niezależność testów, czyli rzetelne wykonanie zadania. Podstawą jest jednak zaufanie i akceptacja wyników
- Nowy punkt widzenia
- Różne modele finansowania i elastyczne modele współpracy (Fix Price vs Time and Material)
- Dostęp firm outsourcingowych do najnowszych frameworków
- Szerokie doświadczenie firmy dostarczającej specjalistów, w różnych projektach, dla różnych firm
- Skrócenie czasochłonnego procesu rekrutacji dzięki dostępowi do kompetencji w dowolnym momencie
QA a rozwój projektów – podsumowanie
Przyspieszenie transformacji cyfrowej w 2020 wymusiło szybszą realizację projektów. Rynek pracy odpowiedział zwiększonym zapotrzebowaniem na specjalistów IT, w tym na stanowiskach QA Specialist / QA Enginner. Widzimy też stopniowe zanikanie roli testera jako specjalisty zajmującego się wyłącznie testowaniem jakości. Zespoły projektowe w 2021 będą zmuszone działać szybko, zwracając uwagę na Time to Market, a jednocześnie dostarczać wysokiej jakości produkty cyfrowe. Bez względu na to, czy rozwijasz system, pracujesz nad rozwojem aplikacji, outsourcing zespołów i specjalistów Quality Assurance pomoże Ci osiągnąć Twój cel, dostarczając świeże spojrzenie. Outsourcing gwarantuje szybkie dostarczanie specjalistów gotowych na podjęcie nowych wyzwań.
Przeczytaj także:
- Test Driven Development
- Testowanie aplikacji mobilnych
- Dlaczego testy oprogramowania są ważne
- Piramida testów
- Shift left testing
Artykuł powstał we współpracy z Leszkiem Zielińskm, QA Technical Solution Managerem w Inetum.
Idź do:
- 1. QA a transformacja cyfrowa w 2020
- 2. Quality Assurance i testy – najważniejsze trendy w 2021
- 3. Szybko, szybciej... QA!
- 4. Lepiej zapobiegać niż leczyć. Czym jest Quality Assurance?
- 5. Quality Control (QC) vs Quality Assurance (QA)
- 6. QA vs tester oprogramowania
- 7. Czy zapewnienie jakości i outsourcing mogą iść w parze?
- 8. Case study
- 9. Outsourcing usług QA: największe korzyści
- 10. QA a rozwój projektów - podsumowanie