Autor Wątek: Dlaczego warto weryfikować nowe wersje oprogramowania?  (Przeczytany 6624 razy)

Piotr

  • Administrator
  • Hero Member
  • *****
  • Wiadomości: 1763
Nie jest to wpis poświęcony wyłącznie ProstejPaczce, ale ogólnie oprogramowaniu.
Jego celem jest przedstawienie ryzyk wynikających z beztroskiej aktualizacji oprogramowania i zachęcenie do weryfikacji procesów istniejących w firmie.

Świat jest zmienny
Żadne oprogramowanie nie funkcjonuje w hermetycznym środowisku, wszystko dookoła oprogramowania się zmienia. Począwszy od systemu operacyjnego, systemów źródłowych, z których pobierane są dane, systemów zewnętrznych do których dane są przekazywane itd.
Na każdym etapie dochodzi do powstania nowych założeń oraz zmian funkcjonowania programu. Gdzieś może zmienić się wyświetlana informacja, status czy wstawione będą nowe dane, a może nawet inne będą usunięte.
W jakimś systemie zostanie wprowadzony nowy parametr, które teoretycznie nie powinien mieć wpływu a jednak ma.
Każda taka zmiana wpływa na systemy zależne, jak i sposób obsługi procesów w firmie.
Zmian krytycznych, które wywracają proces do góry nogami, jest zwykle niewiele. Ale niestety drobne zmiany także mogą wpływać na sposób działania programu.
Nawet zmiana konfiguracji jednego programu może wpływać na poprawność działania procesu w firmie.

Pozwolę sobie przytoczyć słowa kolegi, które dobrze to opisują:
"Systemy informatyczne to nie jest młotek, którego nie trzeba testować... a nawet młotek warto sprawdzić czy trzonek dobrze trzyma aby ktoś nie dostał czymś ciężkim w głowę".

Producent zazwyczaj testuje wg. swojej (najlepszej) wiedzy i może nawet nie wiedzieć o sposobie w jaki Ty wykorzystujesz dane rozwiązanie lub oprogramowanie zależne.
W dzisiejszych programach jest tyle opcji (a przez to również wariantów wykorzystania), że weryfikacja wszystkich możliwych scenariuszy jest niemożliwa.

Jak się zabrać do sprawdzenia?
Najlepiej jest ustalić krytyczne procesy z punktu widzenia firmy. i dla każdego procesu:
1. Sprawdzić w którym miejscu stykają się z systemami komputerowymi i w jakim zakresie.
2. Ustalić dane, na podstawie których podejmowane są decyzje biznesowe
3. Zdefiniować przypadki testowe które są dla firmy najważniejsze
I niestety po każdej aktualizacji zweryfikować czy dla podanych przypadków systemy zachowują się tak samo jak się tego spodziewamy.

Najlepiej jest ustalić "złoty środek", aby nie spędzać kilku dni na testach, ale też nie można zmarginalizować większości procesów.
Najlepiej na początek zastosować zasadę Pareto (20% procesów obsługujących 80% przypadków), a później w miarę napotykanych problemów modyfikować scenariusze testowe.

Czy weryfikacja się opłaca?
Tak i nie, wszystko zależy :)
Należy tu rozpatrzeć wiele czynników:
1. Co jest aktualizowane
2. Czy dotyczy jednego systemu czy kilku
3. Jak duża jest zmiana
4. Jak zdefiniowany jest proces
5. Czy w procesie uczestniczy ktoś, kto będzie w stanie wyłapać potencjalny "problem"
6. Ile jest scenariuszy do weryfikacji
7. Jak długo będą trwały testy
8. Jakie są siły przerobowe i jaka liczba zamówień do przygotowania
9. Jakie są możliwe konsekwencje

Dopiero na podstawie odpowiedzi na powyższe pytania można próbować ustalić czy dana aktualizacja jest warta testowania czy nie.
Każda aktualizacja to jakieś ryzyko i decyzja czy przed nim się zabezpieczycie czy nie należy do Was.

Co najlepiej sprawdzać w ProstejPaczce?
Biorąc pod uwagę powyższe informacje, najlepiej sprawdzić to co jest istotne dla firmy :)
W naszej opinii najbardziej istotne jest sprawdzenie:
- poprawności danych adresowych na liście przewozowym,
- poprawności wyznaczania kwoty pobrania.
Takie testy można przejść w kilkadziesiąt minut (w zależności od liczby form wysyłki) i zachować pewność że właściwy odbiorca otrzyma przesyłkę.
W dalszej kolejności można sprawdzać pozostałe części procesu (w zależności od wykorzystywanych funkcji).