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.

 

To powinno Cię zainteresować