Skalowanie testowania - wprowadzenie

Skalowanie testowania - wprowadzenie
Skalowanie w IT jest zupełnie różne od tego, co znamy ze świata matematyki. Skalowaniem będziemy nazywali próbę odpowiedniego doboru metody pracy, procesu, czasu czy też zasobów do prowadzonego projektu testerskiego. Wszystko to w celu uzyskania maksymalizacji jakości przy minimalizacji nakładów.
 

"Skalowanie" pochodzi od angielskiego pojęcia scaled i mniej więcej odnosi się do zmiany skali. Nie należy go mylić z cechą skalowalności (ang. scalability), powiązaną z zagadnieniami infrastruktury, gdzie naszym celem jest zwiększenie zasobów systemowych w odpowiedzi na ich rosnące zapotrzebowanie ze strony użytkowników.

W obecnie znanej teorii testowania oprogramowania trudno byłoby znaleźć odpowiednik, który opisywałby w uproszczony sposób, czym jest skalowalność. Jest to raczej pojęcie ukryte w warstwach procesu testowego. Mówilibyśmy więc o:

  • doborze właściwej dla danego projektu i organizacji strategii testowej, jak chociażby strategia bazująca na ryzyku
  • planowaniu z uwzględnieniem ograniczeń oraz możliwości, które w projekcie się pojawiają
  • adaptacji początkowych planów do zmieniającego się otoczenia - nadzór i kontrola
  • nastawienie na osiągnięcie celu projektu testowego poprzez elastyczne żonglowanie trzema najważniejszymi czynnikami tj. czasem, funkcjonalnością (w funkcji jakości) i budżetem.

W podejściu zwinnym (ang. Agile) pojawia się kłopot obsługi dużych projektów przy pomocy metod stworzonych (raczej) dla małych i średnich organizacji. Korporacje nie mają elastyczności i dynamiczności firm startupowych, nie mogą więc posługiwać się takimi samymi metodami. Często więc porusza się temat, jak skalować Agile w organizacji. W testowaniu mamy do czynienia z bardzo podobnym problemem. Niezmiernie ciężko jest skonstruować metodę testowania, która będzie pasować do każdego typu projektu czy też organizacji. Nawet w pojedynczej organizacji mogą być projekty niewielkie, wymagające mniejszego formalizmu, jak i projekty większe lub też bardziej krytyczne, z dużą biurokracją i dodatkowymi, wymuszonymi punktami kontrolnymi. Wydaje się więc, że testowanie trzeba skalować, czyli dopasować do kontekstu produktu. W Agile bierze się jedną metodę i próbuje się ją wdrażać w danym obszarze, modyfikując ją w ramach dopuszczalnych granic. W testowaniu możemy zrobić podobnie. Są metody, których reguły są zbyt sztywne i ich modyfikacje są mocno ograniczone. Należeć do nich będzie testowanie opisane przy pomocy #ISO 29119. Mniej kłopotliwe będzie stosowanie metod znanych z ISTQB, ponieważ opisany tam proces jest dużo bardziej elastyczny. Dodatkowym problemem może być próba wdrożenia metod już okrojonych z formalizmów, jak np. testowanie eksploracyjne. Ważną cechą skalowalności jest możliwość zmiany skali przez redukcję czynności, a nie przez ich dodawanie do metod już zredukowanych.

Metoda pracy czy też proces jest jednak tylko jednym z wielu narzędzi, jakie możemy stosować. Pozostaje nam czas i budżet, które co prawda w większości przypadków nie pozostają pod kontrolą testerów, ale przy znanych ograniczeniach czasowych i finansowych możemy poprowadzić nasze testy zarządzając jednocześnie ryzykiem. Czynniki takie jak ograniczenia funkcjonalności czy jak kto woli skalowanie produktu również leżą poza standardowym zakresem obowiązków testera, ale ich uwzględnienie będzie kluczowe dla optymalnego zarządzenia testowaniem.

 

W skrócie. Skalowanie testowania będzie umiejętnym i profesjonalnym doborem metod pracy, zarządzaniem czasem, budżetem i funkcjonalnością tak, by przy znanych lub przewidywanych ograniczeniach projektowych i organizacyjnych wytworzyć możliwie najlepszy produkt.

Pojawiają się nam więc cztery obszary skalowania, które, jeśli uznacie, że warto, mogą zostać szerzej opisane w dalszych publikacjach:

  1. skalowanie testowania - metoda / proces
  2. skalowanie testowania - czas
  3. skalowanie testowania - budżet
  4. skalowanie testowania - produkt / funkcja / jakość.

Dajcie nam znać w komentarzach, czy warto kontynuować ten temat.

 

7594

Powiązane szkolenia

05-06
czerwca
2023
Jarosław Hryszko
online
Praktyka testowania
1 750PLN
Testowanie aplikacji internetowych
12
Wolnych miejsc
Rezerwuj
06-07
marca
2023
Arnika Hryszko
online
Praktyka testowania
1 770PLN
Testowanie użyteczności
9
Wolnych miejsc
Rezerwuj
20-21
kwietnia
2023
Rafał Stańczak
online
Dobre praktyki testowania
1 700PLN
Testowanie w metodykach Agile
12
Wolnych miejsc
Rezerwuj
23-24
marca
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
1 770PLN
Testowanie aplikacji mobilnych - Android
9
Wolnych miejsc
Rezerwuj
12-13
czerwca
2023
Krzysztof Skarbiński
online
Automatyzacja testowania
1 800PLN
Testowanie REST API dla początkujących w języku python
11
Wolnych miejsc
Rezerwuj
27-28
lutego
2023
Krzysztof Kołodziejczyk
online
Języki programowania dla testerów
1 800PLN
JavaScript dla testerów oprogramowania
9
Wolnych miejsc
Rezerwuj
24-26
kwietnia
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
3 000PLN
Tester gier
11
Wolnych miejsc
Rezerwuj
13
marca
2023
-09
kwietnia
2023
Krzysztof Kołodziejczyk
online
Automatyzacja testowania
5 500PLN
Praktyka automatyzacji testowania
5
Wolnych miejsc
Rezerwuj

To powinno Cię zainteresować