ISTQB® ugruntował swoją pozycję w pierwszych latach istnienia, jako międzynarodowy standard testowania oprogramowania oraz lider organizacji dla profesjonalistów, testujących oprogramowanie na całym świecie. Dlatego też specjaliści testujący oprogramowanie oraz ich społeczności poszukują odpowiedzi i wskazówek dotyczących przyszłości zawodu testera właśnie w ISTQB®. Rozwijające się obecnie oprogramowanie cechuje się dynamicznymi zmianami. Wzrasta innowacyjność i zastosowanie nowych technologii oraz ekspansja IT w większości branż. Jako, że nasza specjalizacja zakorzeniona jest w obszarze tworzenia oprogramowania, my, ISTQB opracowaliśmy wizję przyszłości testowania oprogramowania.
Testowanie oprogramowania to złożony temat, mający ogrom kształtów i form. Przez lata ewoluował i będzie miał ciekawą przyszłość zarówno na arenie technologicznej, jak i społecznej.
Niewątpliwie nadchodzą znaczące zmiany w dyscyplinie testowania oprogramowania, a samo testowanie stało się siłą napędową zapewnienia jakości, angażującą nie tylko testerów, ale również specjalizacje i profesjonalistów z innych dziedzin. W ISTQB® podjęliśmy starania, aby osiągnąć pełne zrozumienie testowania oprogramowania, a następnie opracowaliśmy wizję jego przyszłości. Przeprowadziliśmy ankietę wśród grupy dwudziestu liderów w dziedzinie testowania IT, takich jak Capers Jones, Bill Hefley, Robin Poston, Harry Sneed, by wymienić tylko kilku. Aktywnie poszukiwaliśmy praktycznych i akademickich źródeł na temat przyszłości testowania oprogramowania oraz inżynierii testów. Informacje zwrotne, które otrzymaliśmy, choć niezwykle interesujące i praktyczne, koncentrowały się bardziej na krótkoterminowych aspektach testowania.
Dlatego nasz zespół ds. wizji, w ramach komitetu akademickiego, sformułował wizję przyszłości testowania oprogramowania.
Wizja
W przyszłości pojawi się więcej rozwiązań technologicznych wspierających testowanie. Rozwiązania te osadzą dyscyplinę testowania w całym cyklu życia oprogramowania, dzięki czemu możliwe będzie dostarczenie systemów jakości użytkownikom. Testerskie rozwiązania technologiczne, testerzy oprogramowania i eksperci od testów łączą się w dialogu opartym na zdrowym rozsądku. Celem jest wyjaśnienie oraz uzasadnienie tego, co testować, jak testować i dlaczego. Dyskusje te są zrównoważone na gruncie etyki i obejmują innowacyjne cykle życia oprogramowania, takie jak oprogramowanie tworzące oprogramowanie. Owe testerskie rozwiązania technologiczne będą iteracyjnie uczyć się reguł testowania od testerów i ekspertów testowania, a docelowo będą uczyły wszystkich interesariuszy czym są cechy jakości, które należy uwzględnić w procesach tworzenia oprogramowania. Testerskie rozwiązania technologiczne będą się również uczyć od siebie, a zatem będą pozyskiwać wiedzę w ramach iteracyjnego rozwijania dyscypliny testowania, ze szczególnym naciskiem na atrybuty jakości testowania.
Te atrybuty jakości będą nieodłącznym elementem testerskich rozwiązań technologicznych i pomogą określić, co należy testować, a także jak testować. Obejmuje to możliwość analizowania, badania, rozwiązywania, testowania, retestowania i / lub rekomendowania testów lub rozwiązań do rozwiązywania problemów jakości oprogramowania. Testerskie rozwiązania technologiczne będą mogły wyjaśnić testerom i ekspertom uzasadnienie ich zaleceń i rozwiązań. Umożliwi to ciągłą edukację, naukę i integrację aspektów etycznych w testerskie rozwiązania technologiczne.
Oprogramowanie będzie integralną częścią ogromnej większości produktów i usług wymuszanych przez ogólnoświatową gospodarkę. Specjaliści ds. testowania będą bardzo potrzebni na rynku tworzenia oprogramowania, ponieważ będą aktywnymi podmiotami w rozwoju i edukacji związanej z budowaniem cykli decyzyjnych i ulepszaniem rozwiązań technologii testowania. Specjaliści ds.testów znacznie poszerzą zestaw umiejętności, dzięki czemu będą mieli dużo większy wpływ na szybkość, zarówno rozwoju testerskich rozwiązań technologicznych, jak i dostarczania systemów. Specjaliści testowania będą bardzo pożądani ze względu zarówno potrzeby rynku, jak i na rozbudowane umiejętności.
Przygotowanie i implementacja
Aby przygotować się na rozwiązania w zakresie nowych technologii testowania, specjaliści od testów muszą nie tylko podnieść swoje umiejętności techniczne, ale także rozszerzyć kompetencje miękkie. Obejmuje to umiejętności, takie jak podejmowanie decyzji, przywództwo, komunikacja interpersonalna, zarządzanie projektami i praca zespołowa. Specjaliści zajmujący się testowaniem muszą zrozumieć, że postrzeganie jakości ciągle się zmienia i jest sterowane biznesem. Muszą więc dostosować się do najlepszych międzynarodowych i światowych praktyk. Użytkownicy powinni natomiast zostać przeszkoleni w zakresie efektywnego poruszania się po systemach. Biznes, rządy i systemy kształcenia, w szczególności uniwersytety i uczelnie specjalistyczne ponoszą współodpowiedzialność za definiowanie, prowadzenie i kierowanie dostarczaniem ogólnej edukacji w zakresie tworzenia oprogramowania, kładąc nacisk na testowanie rozwiązań. Systemy kształcenia obejmują takie obszary, jak zawartość, procesy, metodologie, technologie, narzędzia i etyka w szkoleniu użytkowników, specjalistów ds. testowania i specjalistów branżowych, którzy rozwijają testerskie rozwiązania technologiczne. Systemy kształcenia będą odpowiedzialne za wprowadzenie wymaganych kwalifikacji dla specjalistów testowania, które zostaną dostosowane i dopasowane do systemów certyfikacji.
Obowiązki specjalistów testowania
Do obowiązków specjalistów ds. jakości i testowania oprogramowania należy:
- Przyspieszenie wprowadzania rozwijających się technologii, metodologii i narzędzi do testerskich rozwiązań technologicznych;
- Skuteczne stosowanie zdrowego rozsądku i etyki w cyklach uczenia się dzięki testerskim rozwiązaniom technologicznym;
- Zostać głównym decydentem w ocenie ryzyka i gotowości jakości oprogramowania;
- Upewnienie się, że wszystkie zainteresowane strony cyklu życia oprogramowania są zaangażowane i korzystają z tych rozwiązań technologicznych;
- Zrozumienie nowych sposobów tworzenia i produkcji oprogramowania, w tym technik, w których nowe oprogramowanie będzie wytwarzane przez inne oprogramowanie;
- Zapewnienie kompleksowej oceny ryzyka i gotowości jakości systemów w trakcie trwania procesów tworzenia oprogramowania, by zapewnić wysoki poziom niezawodności systemów.
Sekcja wyjaśniająca wizję przyszłości testowania oprogramowania
Wyjaśnienie wizji
Testowanie oprogramowania zmierza w kierunku większej automatyzacji. Z czasem testy oprogramowania zostaną w pełni zautomatyzowane i wbudowane w procesy i technologie w całym cyklu życia oprogramowania. Owo zautomatyzowane testowanie oprogramowania można nazwać testerskimi rozwiązaniami technologicznymi; w przyszłości mogą mieć inną nazwę.
Testerskie rozwiązania technologiczne będą miały wbudowaną „inteligencję”. Istnieje kilka trendów, w tym sztuczna inteligencja, które dotyczą skuteczności i dokładności testowania innych systemów oraz mogą być wykorzystane do opracowania innowacyjnych rozwiązań technologii testowania. Z czasem rozwiązania w zakresie technologii zmienią się w swojego rodzaju w silniki uczące się / nauczające. Będą uczyć się od testerskich ekspertów, ale także od innych rozwiązań technologicznych, również od siebie nawzajem. W miarę rozwoju oprogramowania, rozwiązania w zakresie testerskich technologii mogą zostać zintegrowane z technologiami tworzenia oprogramowania w ramach całego cyklu życia oprogramowania, szczególnie tam, gdzie oprogramowanie może tworzyć inne oprogramowanie.
Technologia oprogramowania jest coraz bardziej zintegrowana z ludzką egzystencją, a sztuczna inteligencja staje się coraz bardziej rozpowszechniona w technologii oprogramowania. Miejmy nadzieję, że etyczne aspekty podejmowania decyzji przez sztuczną inteligencję zostaną szybko rozwiązane. Wymaga to pewnego poziomu interwencji człowieka w rozwiązania technologiczne , tak w zakresie testowania, jak i oceny etycznej. Wymagane będzie, aby rozwiązania w zakresie technologii testowych miały wbudowane możliwości tworzenia rekomendacji.
Wyjaśnienie przygotowania i implementacji
Specjaliści zajmujący się testowaniem będą się z czasem zmieniać, by zapewnić ekspercką wiedzę w zakresie szerszych aspektów cyklu życia oprogramowania, a nie tylko prowadzić testy na końcu procesu. Testy zostaną rozszerzone na więcej gałęzi przemysłu, a także staną się bardziej zintegrowane z całym procesem tworzenia oprogramowania, niemalże we wszystkich branżach. Aby zaspokoić potrzebę wiedzy specjalistycznej w zakresie testowania, specjaliści ds. testowania będą musieli poszerzyć swoje umiejętności techniczne o metodologie, techniki i narzędzia i mieć pewność, że mają one wartość w całym cyklu życia oprogramowania. W miarę, jak oprogramowanie rozszerza się na kolejne branże, specjaliści od testowania muszą podnosić swoje umiejętności miękkie, aby pełnić coraz większą rolę kierowniczą w zakresie zapewniania jakości. Rutynowe zadania testerskie zostaną zautomatyzowane w zakresie testerkich rozwiązań technologicznych, dlatego specjaliści od testowania muszą otworzyć się na inne role technologiczne i kierownicze.
Postrzeganie jakości systemów ciągle się zmienia. Mają na to wpływ czynniki rynkowe, ekonomia, technologia, kultura, oprogramowanie i innowacje technologiczne oraz globalizacja. Biznes wymusza więc interpretację tego, jak należy rozumieć jakość. Staje się więc ona normą, oczekiwaną od specjalistów zajmujących się testowaniem, którzy wspólnie tworzą i / lub korzystają z testerskich rozwiązań technologicznych. Specjaliści ds. testowania muszą zdać sobie sprawę, że jakość jest ruchomym celem.
W miarę ekspansji oprogramowania na kolejne obszary ludzkiej aktywności, użytkownicy otoczeni będą coraz większą liczbą interfejsów sytemów, z których korzystają. Pociąga to za sobą konieczność zdobycia nowej wiedzy, aby móc korzystać z nich efektywnie. Z jednej strony systemy powinny stać się prostsze w obsłudze, z drugiej jednak użytkownicy muszą uzyskać większą zdolność korzystania z nich, zgodnie z ich zamierzonymi celami.
Ponieważ coraz więcej rozwiązań jest już w użytku, to w sytuacji gdy rozszerzają się one na coraz więcej gałęzi przemysłu, potrzebna jest lepsza definicja i integracja rozwiązań szkoleniowych dla testujących profesjonalistów. Odpowiedzialność za kierowanie opracowywaniem i dostarczaniem tych rozwiązań szkoleniowych spoczywa na biznesie, rządach i systemach kształcenia, w szczególności na środowiskach akademickich i szkołach zawodowych. Podmioty te muszą współpracować przy opracowywaniu planu oraz dostarczyć zintegrowane szkolenia dla specjalistów ds. testów, w tym ukierunkowanego szkolenia z zakresu testerskich rozwiązań technologicznych.
Wyjaśnienie obowiązków testujących specjalistów
Specjaliści zajmujący się testowaniem będą musieli zastosować nowe metodologie i technologie związane z opracowywaniem i testowaniem oprogramowania, ze zdefiniowanym celem szybszego zintegrowania ich z rozwiązaniami technologicznymi. Od specjalistów ds. testów wymaga się przyspieszenia tempa i zwiększania możliwości testowania w cyklu życia oprogramowania. Te rozwiązania, które będą dobierane przez specjalistów, wzmocnią rolę każdego interesariusza w zakresie rozwoju oprogramowania.
Pracując w imieniu użytkowników, specjaliści ds. testowania będą musieli nauczyć się, jak uczyć innych testerskich rozwiązań technologicznych w celu ciągłego podnoszenia ich jakości i ich dalszego rozwoju. Specjaliści zajmujący się testowaniem opracują wytyczne dotyczące testowania i dobrych praktyk budowania oprogramowania, bazując na różnych branżach i wiedzy środowiska akademickiego. Wypracowany materiał zostanie włączony do rozwiązań technologicznych w zakresie testowania. Specjaliści zajmujący się testowaniem będą musieli upewnić się, że rozwiązania w zakresie technologii testowych obejmują samokształcenie, a wyuczone umiejętności zapewniają ciągłą poprawę atrybutów jakości rozwiązań technologicznych w zakresie testowania oraz dostarczonych systemów.
Podziękowania
Dokument ten został opracowany przez zespół ISTQB: Yaron Tsubery (przewodniczący komisji), Dave Miller (lider), Patricia A. McQuaid, Ceren Sahin Gebizli, Lucjan Stapp, Dani Almog, Filipe Carlos, Miroslav Bureš, Ritendra Banerjee.
Zespół dziękuje następującym liderom, z którymi przeprowadzono wywiady i od których zebrano pomysły na tę białą księgę (w kolejności alfabetycznej): Adam Roman, Capers Jones, Alan Page, Bill Helfley, Colin Onita, Erik van Veenendaal, Harry Sneed, Jakub Rosiński, Klaudia Dussa- Zieger, Mark Gillenson, Olivier Denoo, Padmanabhan Balasubramanian, Paul Xzhang, Przemyslaw Niedzialkowski, Radosław Smilgin, Robert Binder, Robin Poston, Stephan Schulz, Steve Hutchison, Yao Shi.
Zespół dziękuje również następującym recenzentom za sugestie i opinie (w kolejności alfabetycznej): Alon Linetzki, Armin Metzger, Jasbir Dhaliwal, Kari Kakkonen, Leanne Howard, Michael Stahl, Tamas Stoeckert, Tilo Linz.
Informacja zwrotna
Chcielibyśmy uzyskać informacje zwrotne i porozmawiać na temat tego opracowania.
By skomentować lub sugerować idee, napisz do nas:
Future_of_SW_Testing@istqb.org
Oryginał [PDF] można znaleźć pod adresem: https://www.istqb.org/documents/ISTQB_The_Vision_on_the_Future_of_Software_Testing_Final.pdf