Testowanie w utrzymaniu

Jak wygląda testowanie oprogramowania po jego wdrożeniu na produkcję, co może być sygnałem do rozpoczęcia testów w tej fazie cyklu życia i czym jest analiza wpływu?

Po wdrożeniu w środowisku produkcyjnym oprogramowanie lub system wymaga dalszego utrzymania. Różnego rodzaju zmiany - związane na przykład z usuwaniem defektów wykrytych podczas używania produkcyjnego, dodaniem nowej funkcjonalności bądź usuwaniem lub modyfikowaniem funkcjonalności już istniejącej - są praktycznie nieuniknione. Ponadto utrzymanie jest niezbędne do utrzymania lub poprawy wymaganych niefunkcjonalnych charakterystyk jakościowych oprogramowania lub systemu przez cały cykl jego życia - zwłaszcza w zakresie wydajności, kompatybilności, niezawodności, bezpieczeństwa i przenaszalności.

Po dokonaniu każdej zmiany w fazie utrzymania, należy wykonać testowanie utrzymaniowe, którego celem jest zarówno sprawdzenie, czy zmiana została wprowadzona pomyślnie, jak i wykrycie ewentualnych skutków ubocznych (np. regresji) w niezmienionych częściach systemu (czyli zwykle w większości jego obszarów). W związku z tym testowanie utrzymaniowe obejmuje zarówno te części systemu, które zostały zmienione, jak i części niezmienione, na które zmiany mogły mieć wpływ. Utrzymanie może być wykonywana zarówno planowo (w związku z nowymi wersjami), jak i w sposób niezaplanowany (w związku z poprawkami doraźnymi ang. hotfix). Wydanie w czasie utrzymania może wymagać wykonania testów na wielu poziomach testów i z wykorzystaniem różnych typów testów - zależnie od zakresu wprowadzonych zmian. Na zakres testowania w utrzymaniu wpływają między innymi:

poziom ryzyka związanego ze zmianą (np. stopień, w jakim zmieniony obszar oprogramowania komunikuje się z innymi modułami lub systemami);

wielkość dotychczasowego systemu;

wielkość wprowadzonej zmiany.

Istnieje kilka powodów, dla których utrzymuje się oprogramowania, a tym samym testuje. Dotyczy to zarówno zmian planowanych, jak i nieplanowanych. Zdarzenia wywołujące czynności utrzymaniowe można podzielić na następujące kategorie:

Modyfikacja. Ta kategoria obejmuje między innymi zaplanowane udoskonalenia (np. w postaci nowych wersji oprogramowania), zmiany korekcyjne i awaryjne, zmiany środowiska operacyjnego (np. planowe uaktualnienia systemu operacyjnego lub bazy danych), uaktualnienia oprogramowania do powszechnej sprzedaży (COTS) oraz poprawki usuwające defekty i podatności zabezpieczeń;

Migracja. Ta kategoria obejmuje między innymi przejście z jednej platformy na inną, co może wiązać się z koniecznością przeprowadzenia testów produkcyjnych nowego środowiska i zmienionego oprogramowania bądź testów konwersji danych (w przypadku migracji danych z innej aplikacji do utrzymywanego systemu);

Wycofanie. Ta kategoria dotyczy sytuacji, w której aplikacja jest wycofywana z użytku.

Kiedy aplikacja lub system jest wycofywany, może to wymagać testowania migracji lub archiwizacji danych, jeśli zachodzi potrzeba ich przechowywania przez dłuższy czas. Testowanie procedur odzyskiwania/pozyskiwania po archiwizacji przez dłuższy czas może także być konieczne. Dodatkowo konieczne może być uwzględnienie testów regresji, aby zapewnić dalszą prawidłową pracę funkcjonalności pozostających w użyciu.

W przypadku systemów związanych z Internetem rzeczy testowanie w utrzymaniu może być konieczne po wprowadzeniu w systemie zupełnie nowych lub zmodyfikowanych elementów, takich jak urządzenia sprzętowe czy usługi programowe. Podczas testowania utrzymaniowego takich systemów szczególny nacisk kładzie się na testowanie integracyjne na różnych poziomach (np. na poziomie sieci i aplikacji) oraz na aspekty związane z zabezpieczeniami, szczególnie w zakresie danych osobowych.

Analiza wpływu pozwala ocenić zmiany wprowadzone w utrzymywanej wersji pod kątem zarówno skutków zamierzonych, jak i spodziewanych lub potencjalnych skutków ubocznych, a także umożliwia zidentyfikowanie obszarów systemu, na które będą miały wpływ wprowadzone zmiany. Ponadto może pomóc w zidentyfikowaniu wpływu zmiany na dotychczasowe testy. Skutki uboczne zmiany oraz obszary systemu, na które może ona wpływać należy przetestować pod kątem regresji, przy czym czynność ta może być poprzedzona aktualizacją istniejących testów, na które oddziałuje dana zmiana.

Analizę wpływu można przeprowadzić przed dokonaniem zmiany, aby ustalić, czy zmianę tę należy faktycznie wprowadzić (z uwagi na potencjalne konsekwencje dla innych obszarów systemu).

Przeprowadzenie analizy wpływu może być utrudnione, jeśli:

specyfikacje (np. wymagania biznesowe, historyjki użytkownika, architektura) są nieaktualne lub niedostępne;

przypadki testowe nie zostały udokumentowane lub są nieaktualne;

nie stworzono możliwości dwukierunkowego śledzenia powiązań między testami a podstawą testów;

wsparcie narzędziowe nie istnieje lub jest niewystarczające;

zaangażowane osoby nie dysponują wiedzą z danej dziedziny i/lub na temat danego systemu;

zaangażowane osoby nie dysponują wiedzą z danej dziedziny i/lub na temat danego systemu;

podczas wytwarzania oprogramowania poświęcono zbyt mało uwagi jego charakterystyce jakościowej w zakresie utrzymywalności.

Tekst (prawie) w całości pochodzi z sylabusa ISTQB. Zostały z niego usunięte nagłówki, a słowo "pielęgnacja" zastąpione popularniejszym "utrzymanie". Choć jako źródło wiedzy sylabus może być postrzegany jako zbyt "ciężki" i "toporny", w małych dawkach jest to bardzo wartościowe kompendium wiedzy.

Całość można pobrać ze strony.

usługi informatyczne dla firm

Case study Outsourcingu dla klienta Berlitz

DORADZTWO INFORMATYCZNE

Traktujemy jako naszą najważniejszą działalność usługową w zakresie wybranych przez nas technologii informatycznych. Obejmuje ona planowanie i projektowanie systemów oraz procesów na potrzeby Klienta, które łączą: potrzeby biznesowe, sprzęt IT, oprogramowanie i technologie komunikacyjne, włączając w to również szkolenia dla użytkowników końcowych i zarządzanie zmianą.

Nasi inżynierowie specjalizują się w następujących technologiach informatycznych:

Inżynieria aplikacji i jej utrzymanie z Platformą zenon

Dostosowane wyposażenie pozwala producentom i zakładom energetycznym dopasować się do wymogów klientów, zwiększyć elastyczność i wydajność produkcji. Dostosowanie wiąże się jednak z licznymi wyzwaniami z zakresu inżynierii aplikacji i utrzymania projektów, przez które manualna konfiguracja staje się trudna i kosztowna — jeśli nie niemożliwa — w szczególności, gdy dotyczy większych i bardziej złożonych projektów.

Aby wykorzystać zalety dostosowanych projektów i zachować konkurencyjność, producenci i zakłady energetyczne potrzebują narzędzi do zautomatyzowanej inżynierii aplikacji. zenon firmy COPA-DATA to oprogramowanie do automatyzacji przemysłu, stworzone, aby ułatwiać życie przez umożliwienie szybszego projektowania przemysłowego oraz tworzenia aplikacji, usprawnienie utrzymania projektów i zapewnienie kontroli nad złożonością linii produkcyjnych.

Dlaczego inżyniering aplikacji stanowi wyzwaniem?

Podczas projektowania przemysłowego i rozwijania aplikacji inżynierowie mogą napotkać liczne złożone wyzwania. Wyzwania te mogą prowadzić do błędów i wydłużyć czas rozwoju, co wiąże się ze zwiększeniem kosztów. Oto niektóre z najczęstszych przyczyn wyzwań w zakresie inżynieringu aplikacji:

Wiedza o HMI/SCADA: gdy integrator systemu tworzy projekt, użytkownik końcowy może być zmuszony do wprowadzenia modyfikacji, przeprowadzenia konserwacji lub wdrożenia rozszerzeń. Gdy użytkownik nie posiada wiedzy wysokiego poziomu o HMI/SCADA lub łatwego w obsłudze oprogramowania upraszczającego prace rozwojowe, może przypadkowo zniwelować funkcjonalność projektu.

Różnorodne standardy: koordynowanie pracy wielu integratorów systemów może być utrudnione, chyba że zostaną zdefiniowane wspólne standardy. Skuteczne narzędzie do inżynierii aplikacji, takie jak zenon, ułatwia tworzenie tych standardów.

Zbyt dużo narzędzi: integratorzy systemów odczuwają presję związaną z koniecznością opanowania narzędzi do pobierania i akwizycji danych produkcyjnych, zarządzania alarmami, archiwizowania, optymalizacji wydajności, zarządzania utrzymaniem i wielu innych. Korzystanie z wielu narzędzi może być skomplikowane i doprowadzić do sytuacji, w której rozwiązania dla różnych klientów będą coraz bardziej podobne.

Ograniczenie warunków sprzętowych: podczas wdrażania projektu lub przeprowadzania czynności związanych z utrzymaniem na miejscu dostępu do wygodnego środowiska sprzętowego może być ograniczony. Przykładowo, inżynierowie mogą być zmuszeni do wykonywania wielu zadań z poziomu jednego laptopa zamiast biurka z wieloma monitorami. Aby zapewnić wydajność pracy, inżynierowie muszą być w stanie uruchamiać projekty przy skromnych konfiguracjach.

Zgodność ze starszymi i heterogenicznymi systemami: dla rekultywowanych fabryk wymagających unowocześnienia konwertowanie starszych projektów na nowoczesne aplikacje może być ogromnym wyzwaniem, jeśli wybrane oprogramowanie nie będzie zgodne z dotychczasowymi projektami. Tak samo, bez właściwej komunikacji integrowanie sprzętu i systemów w heterogenicznym środowisku produkcyjnym może nie być łatwym zadaniem.

Jak zenon pomaga w zakresie inżynierii aplikacji i utrzymania?

Wyzwania związane z utrzymaniem fabryki, projektowaniem przemysłowym i inżynierią aplikacji nie mogą powstrzymywać użytkowników od wykorzystania dostosowanych projektów i zwiększenia wydajności produkcji. Platforma Programowa zenon pozwala na usprawnienie utrzymania fabryki dzięki zastosowaniu automatyzacji przemysłu.

Oto niektóre z funkcji, dzięki którym zenon zapewnia pomoc w zakresie inżynierii aplikacji i jej utrzymania:

Łatwe i bezbłędne tworzenie projektów: zenon pozwala użytkownikom tworzyć złożone projekty bez konieczności pisania kodu, a jedynie przez ustawienie parametrów. Globalne projekty z orientacją obiektową oraz możliwości automatycznego konfigurowania projektów, takie jak gotowe do użycia kreatory, umożliwiają szybkie tworzenie projektów przy minimalizacji ryzyka wystąpienia błędów. Takie rozwiązane typu wszystko-w-jednym zostało stworzone z myślą o jak największej łatwości obsługi, wygodzie i prostocie.

Maksymalna elastyczność i skalowalność: oprogramowanie zenon umożliwia łatwą pracę wielu inżynierów nad projektami. Możliwe jest przenoszenie projektów do dowolnego komputera w sieci oraz zdalne uruchamianie i zatrzymywanie środowiska wykonawczego, co zapewnia maksymalną elastyczność i wygodę. Modułowa struktura oprogramowania zenon pozwala wybrać funkcje inżynieryjne potrzebne w danym zastosowaniu. Ponad 300 sterowników opracowanych przez naszą firmę zapewnia najwyższy poziom komunikacji. Jeżeli zabraknie specjalnego protokołu, możemy szybko dostarczyć sterownik zamienny o najwyższej jakości i wydajności. zenon Editor zawiera także bezpłatną usługę Add-In, która umożliwia łatwą komunikację z zewnętrznymi sprzętem i bazami danych. Przykładowo, może ciągle monitorować zadania inżynieryjne i przypominać o brakujących krokach, które trzeba wykonać. Od obsługi pojedynczej maszyny do nieograniczonej kontroli procesów — można zacząć od małego rozwiązania i później rozwijać projekt z Platformą zenon..

Funkcje bezpieczeństwa i redundancja: płynna redundancja cyrkularna pomaga utrzymać bezpieczeństwo systemu i zapobiegać przerwaniom, utracie danych i przestojom w przypadku awarii. Nasz opatentowany system redundancji pozwala na znaczne zwiększenie niezawodności sieci i wymaga o połowę mniej wymaganego sprzętu do tradycyjnej redundancji. Z oprogramowaniem zenon wszystkie zmiany wprowadzone w module Editor są niezwłocznie synchronizowane z modułem Runtime, podczas gdy system nadal pracuje.

Inteligentne zarządzanie użytkownikami i projektami: zarządzanie użytkownikami na podstawie ról umożliwia zdefiniowanie poziomu dostępu w module zenon Editor i Runtime dla dowolnego użytkownika i zapewnia, że krytyczne operacje będą wykonywane jedynie przez upoważnionych użytkowników. Przy 128 różnych poziomach dostępu zenon całkowicie chroni projekty przed utratą danych lub nieupoważnionym dostępem. Tworzenie nowych użytkowników, odblokowywanie i dezaktywowanie użytkowników jest dozwolone jedynie dla administratorów i możliwe jest dodanie dowolnej wymaganej liczby użytkowników. zenon umożliwia także wielu inżynierom sprawdzanie określonych części projektu i jednoczesną pracę nad konkretnymi obszarami, w których tylko oni mogą wprowadzać zmiany, które są następnie synchronizowane we wszystkich urządzeniach.

Niski całkowity koszt posiadania: zenon udostępnia całkowicie zintegrowane środowisko inżynieryjne, w którym można tworzyć, utrzymywać i rozszerzać aplikacje w całym cyklu życia. Dzięki automatyzacji rutynowych zadań i wyeliminowaniu błędów zenon pozwala zaoszczędzić czas potrzebny na utrzymanie i zwiększa wydajność operacyjną. Oprogramowanie jest dostarczane ze wszystkimi funkcjami, które są potrzebne do stworzenia funkcjonalnego środowiska wykonawczego SCADA. Nie trzeba dodawać osobnych komponentów, takich jak serwery historii czy serwery alarmów.

Skontaktuj się z nami, aby lepiej poznać oprogramowanie zenon

Dzięki funkcjom pozwalającym na tworzenie projektów i elastyczne utrzymanie, zenon ułatwia inżynierię aplikacji i pomaga zwiększyć produktywność firm produkcyjnych i zakładów energetycznych. Współpracujemy blisko z globalną siecią integratorów, która może zapewnić wsparcie dla aplikacji przemysłowych. Dodatkowo oferujemy wsparcie i usługi szkoleniowe, pomagające w przejściu przez projekty od początku do końca.

Aby dowiedzieć się więcej o możliwości wykorzystania Platformy zenon do sprostania wyzwaniom inżynierii aplikacji i utrzymania zakładu, skontaktuj się z nami dzisiaj.

Jarosław Kułak
Jarosław Kułak

Leave a Comment