Testowanie scalania. Maciek Osiński Tomek Wysocki. Seminarium Bazy Danych. Testowanie scalania p.1/93

Podobne dokumenty
INŻYNIERIA OPROGRAMOWANIA TESTOWANIE INTEGRACYJNE

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

Testowanie oprogramowania. Piotr Ciskowski

Usługa: Testowanie wydajności oprogramowania

Inżynieria Programowania - Projektowanie architektoniczne

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

Zasady organizacji projektów informatycznych

7. zainstalowane oprogramowanie zarządzane stacje robocze

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Galileo - encyklopedia internetowa Plan testów

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Testowanie i walidacja oprogramowania

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Wypożyczalnia VIDEO. Technologie obiektowe

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Księgarnia PWN: Kevin Kenan - Kryptografia w bazach danych. Spis treści. Podziękowania O autorze Wprowadzenie... 15

RUP. Rational Unified Process

Inżynieria Programowania Testowanie oprogramowania

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

UML cz. III. UML cz. III 1/36

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Plan Testów Systemu SOS

Podstawy programowania III WYKŁAD 4

Wykład 1 Inżynieria Oprogramowania

Sposób funkcjonowania

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Program szkolenia: Continuous Integration i Git

Porównanie metod i technik testowania oprogramowania. Damian Ryś Maja Wojnarowska

PROGRAMOWALNE STEROWNIKI LOGICZNE

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Etapy życia oprogramowania

Referat pracy dyplomowej

Overlord - Plan testów

Usługa wsparcia technicznego związana ze zmianą stosu technologicznego Oprogramowania Syriusz Std.

Historia modeli programowania

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

Analiza mikroserwisów. Warszawa,

Katalog handlowy e-production

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

WPROWADZENIE DO UML-a

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

ZAŁĄCZNIK Nr 2 do CZĘŚCI II SIWZ WYCIĄG ZE STANDARDÓW, ZASAD I WZORCÓW INTEGRACYJNYCH OBOWIĄZUJĄCYCH W PSE S.A.

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Optymalizacja Automatycznych Testów Regresywnych

EXSO-CORE - specyfikacja

2.11. Monitorowanie i przegląd ryzyka Kluczowe role w procesie zarządzania ryzykiem

Programowanie współbieżne i rozproszone

Praktyka testowania dla początkujących testerów

Spis treści Wstęp 1. Wprowadzenie 2. Zarządzanie ryzykiem systemów informacyjnych

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Wykład 7. Projektowanie kodu oprogramowania

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Systemy wbudowane. Paweł Pełczyński

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Testowanie oprogramowania

WHITE PAPER. Planowanie, przygotowanie i testowanie działań na wypadek wystąpienia awarii

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

ZAMAWIAJĄCY. CONCEPTO Sp. z o.o.

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Warsztaty FRAME. Sygnatura warsztatu: W1 (W3) Czas trwania: 3 dni

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Część I Rozpoczęcie pracy z usługami Reporting Services

Modelowanie testów. czyli po co testerowi znajomość UML

Załącznik nr 2 Opis wdrożonych środków organizacyjnych i technicznych służących ochronie danych osobowych

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Referat pracy dyplomowej

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Wdrożenie technologii procesowej IBM BPM w EFL

Dokument Detaliczny Projektu

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Web frameworks do budowy aplikacji zgodnych z J2EE

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia r.

Program szkolenia: Jenkins - Continuous Integration

Audyt oprogramowania. Artur Sierszeń

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wstęp do Informatyki. Klasyfikacja oprogramowania

Transkrypt:

Testowanie scalania Maciek Osiński Tomek Wysocki Seminarium Bazy Danych Testowanie scalania p.1/93

Testowanie scalania Pojęcia i definicje Uwagi o testowaniu Testowanie scalania Wady scalenia Wzorce scalania Zakres, zastosowania Testowanie scalania p.2/93

Pojęcia i definicje Składowa, system, interfejsy System stabilny Przyrost Test na dym Namiastka, pośrednik, pilot Generowanie konstrukcji, konstrukcja Konfiguracja testu Pokrycie scalenia Testowanie scalania p.3/93

Rodzaje testów: Testowanie składowych Testowanie systemu Testowanie współdziałania składowych Testowanie scalania wykrywanie wad składowych, powodujących awarie pomiędzy nimi Testowanie scalania p.4/93

Testowanie scalania Na których składowych należy się skupić w teście scalania? W jakiej kolejności będą sprawdzane interfejsy składowych? Której metody projektowania testu powinno się użyć do wypróbowania każdego z interfejsów? Testowanie scalania p.5/93

Plan testowania scalania Jakie przyrosty konstruowane są główne? Na których interfejsach składowych będzie skoncentrowane scalanie? W jakiej kolejności będą testowane składowe i interfejsy? Które namiastki i piloty należy opracować? Które wzorce zostaną użyte? Kiedy testowanie scalania uznamy za zakończone? Testowanie scalania p.6/93

Testowanie przyrostowe Systematyczne testowanie interfejsów Awarie z reguły w nowych składowych Automatyzacja, zarządzanie konfiguracją Wymaga namiastek, pilotów, powtarzalnych zestawów testów Proces, nie zdarzenie czy okres Testowanie scalania p.7/93

Wady scalenia Kontrola konfiguracji lub wersji Funkcje pominięte, zachodzące na siebie lub w konflikcie Zła lub niespójna struktura danych Naruszenie integeralności pamięci globalnej lub bazy danych Wołanie złej metody omyłka w kodzie lub nieoczekiwane wiązanie Testowanie scalania p.8/93

Wady scalenia Komunikat klienta narusza warunki początkowe lub sekwencyjne serwera Związanie komunikatu ze złym obiektem (polimorfizm) Złe parametry lub niepoprawne wartości Złe przydzielanie lub zwalnianie pamięci Złe wersje maszyny wirtualnej, pośrednika ORB, usług OS Rywalizacja o zasoby Testowanie scalania p.9/93

Wzorce scalania Metoda Big Bang Wstępujące Zstępujące Współpracy Szkieletowe Testowanie scalania p.10/93

Wzorce scalania Warstwowe Klienta i serwera Usług rozproszonych Częste Testowanie scalania p.11/93

Metoda Big Bang Jest przydatna w niewielu, ograniczonych okolicznościach. Wszystko naraz. Zastosowanie małe systemy, małe zmiany. Testowanie scalania p.12/93

Metoda Big Bang strategia Brak testowania scaleń przyrostowych. Zestaw testów jest aplikowany do całego tworzonego systemu. Testy są tworzone w oparciu o wzorzec testu wg powinności. Testowanie scalania p.13/93

Metoda Big Bang Testowanie scalania p.14/93

Metoda Big Bang Kryteria wejściowe Wszystkie składowe przeszły testy w swoich zakresach. Maszyna wirtualna, która ma być użyta w środowisku testu jest stabilna. Kontrole w zakresie fizycznym, funkcjonalnym i środowiskowym nie ujawniły anomalii. Testowanie scalania p.15/93

Metoda Big Bang Kryteria wyjściowe Zestaw testów przechodzi. Testowanie scalania p.16/93

Metoda Big Bang Wady i zalety Big Bang często zawodzi i utrudnia rzeczywiste znalezienie przyczyn błędów. Pomimo tego, iż test przechodzi wiele wad interfejsu może pozostać ukrytych. W sprzyjających okolicznościach może szybko zakończyć testowanie niewielkim kosztem. Testowanie scalania p.17/93

Scalanie wstępujace Inaczej Bottom-Up. Dodawanie składowych w kolejności użycia. Wieloetapowe weryfikowanie interfejsów ściśle powiązanych składowych. Zastosowania przyrostowo opracowywane jednostki systemu. Testowanie scalania p.18/93

Scalanie wstępujace strategia Model testu: Budowa drzewa zależności. Opracowanie zestawu testów powinności każdej składowej. Uwzględnienie podskładowych. Testowanie scalania p.19/93

Scalanie wstępujace Testowanie scalania p.20/93

Scalanie wstępujace Testowanie scalania p.21/93

Scalanie wstępujace Testowanie scalania p.22/93

Scalanie wstępujace Testowanie scalania p.23/93

Scalanie wstępujace Testowanie scalania p.24/93

Scalanie wstępujace Kryteria wejściowe Maszyna wirtualna, która ma być użyta w środowisku testu jest stabilna. Scalane składowe spełniają kryteria wyjściowe w obrębie testów składowych. Kontrole w aspekcie fizycznym, funkcjonalnym i środowiskowym nie wykazały anomalii, które zaburzyłyby testowanie scalenia. Testowanie scalania p.25/93

Scalanie wstępujace Kryteria wyjściowe Każda pilotowana składowa spełnia kryteria wyjściowe swojego wzorca testu. Interfejs do każdej podskładowej został wypróbowany przynajmniej raz. Testowanie jest zakończone, gdy wszystkie składowe z poziomu korzenia przechodzą pomyślnie swoje testy. Testowanie scalania p.26/93

Scalanie wstępujace Wady: Duża ilość pilotów. Poprawianie testów i wtórne testowanie. Ograniczone testowanie interakcji. Późne testowanie krytycznych interfejsów. Testowanie scalania p.27/93

Scalanie wstępujace Zalety: Testowanie i scalanie można rozpocząć zaraz po ukończeniu dowolnej ze składowych na poziomie liści. Nie ogranicza testowalności. Redukuje namiastkowanie. Testowanie scalania p.28/93

Scalanie zstępujace Inaczej Top-Down. Dodawanie składowych wg hierarchii sterowania. Wieloetapowe weryfikowanie interfejsów w kolejności narzucanej przez sterowanie. Zastosowania budowanie środowiska ramowego. Testowanie scalania p.29/93

Scalanie zstępujace strategia Model testu: Budowa diagramu współpracy, diagramu następstw lub mapy stanów. Opracowanie zestawu testów powinności każdej składowej. Można wykorzystać wzorzec testu klasy modalnej lub testu maszyny trybów. Zestaw testów oparty na powinnościach w obrębie systemu. Testowanie scalania p.30/93

Scalanie zstępujace Testowanie scalania p.31/93

Scalanie zstępujace Testowanie scalania p.32/93

Scalanie zstępujace Testowanie scalania p.33/93

Scalanie zstępujace Testowanie scalania p.34/93

Scalanie zstępujace Testowanie scalania p.35/93

Scalanie zstępujace Kryteria wejściowe Maszyna wirtualna, która ma być użyta w środowisku testu jest stabilna. Scalane składowe spełniają kryteria wyjściowe w obrębie testów składowych. Kontrole w aspekcie fizycznym, funkcjonalnym i środowiskowym nie wykazały anomalii, które zaburzyłyby testowanie scalenia. Testowanie scalania p.36/93

Scalanie zstępujace Kryteria wyjściowe Każda pilotowana składowa spełnia kryteria wyjściowe swojego wzorca testu. Interfejs do każdej podskładowej został wypróbowany przynajmniej raz. Testowanie jest zakończone, gdy konstrukcja zawierająca wszystkie składowe z poziomu liści przechodzi pomyślnie zestaw testów w obrębie systemu. Testowanie scalania p.37/93

Scalanie zstępujace Wady: Dużo namiastek. Przekodowywanie namiastek. Coraz trudniejsza kontrola spójności. Zależność namiastek od implementacji. Coraz trudniejsze testowanie dalszych warstw. Późne testowanie współdziałania wszystkich składowych na poziomie systemu. Testowanie scalania p.38/93

Scalanie zstępujace Zalety: Można szybko rozpocząć testowanie i scalenie. Już test pierwszego etapu może wykazywać całościową funkcjonalność. Mały koszt tworzenia pilotów. Minimalizowanie ryzyka zatwierdzenia niestabilnego interfejsu. Testowanie scalania p.39/93

Scalanie współpracy Scalanie i testowanie stosownie do rodzajów współpracy Ciągi współpracy Zastosowania np. wątki przetwarzania czujnik-sterownik-aktywator Testowanie scalania p.40/93

Scalanie współpracy strategia Budowa drzewa zależnpści testowanego systemu. Wybór kolejności elementów współpracy Opracowanie zestawu testów dla rodzaju współpracy Testowanie kolejnych rodzajów współpracy Testowanie scalania p.41/93

Scalanie współpracy strategia Metody wyboru kolejności elementów współpracy: od najprostszych do najtrudniejszych od wymagających najmniej namiastek jeżeli są ograniczenia sekwencyjne, to wg kolejności przejść od największego ryzyka Testowanie scalania p.42/93

Scalanie współpracy Testowanie scalania p.43/93

Scalanie współpracy Testowanie scalania p.44/93

Scalanie współpracy Testowanie scalania p.45/93

Scalanie współpracy Kryteria wejściowe Stabilna maszyna wirtualna Składowe współpracy operatywne w minimalnym stopniu Brak anomalii w zakresie fizycznym funkcjolanym i środowiska Testowanie scalania p.46/93

Scalanie współpracy Kryteria wyjściowe Każdy przetestowany rodzaj współpracy spełnia kryteria wyjściowe swojego wzorca. Wszystkie komunikaty składowych i między nimi w systemie zostały wypróbowane. Testowanie scalania p.47/93

Scalanie współpracy Wady Wewnętrzne zależności współpracy mogą nie mieć modeli. Możliwość pominięcia błędów interfejsu. Znamiona met. Big Bang. Namiastkowanie. Duża odległość pilota i składowych niższego poziomu. Trudności w równoległym prowadzeniu prac. Testowanie scalania p.48/93

Scalanie współpracy Zalety Pokrycie w niewielu przebiegachtestowych. Wtórna używalność zestawów testów. Mała załamywalność zestawów testów. Stosunkowo szybkie rezultaty. Minimalizacja kosztu utworzenia pilota. Testowanie scalania p.49/93

Scalanie szkieletowe Łączy w sobie metody: Big Bang, scalanie wstępujące i scalanie zstępujące. Stosuje się, gdy system użytkowy nie może działać bez szkieletu. Zastosowania np. aplikacje systemowe Testowanie scalania p.50/93

Scalanie szkieletowe strategia Analiza systemu wyodrębnienie: sterowania, szkieletu i podsystemów testowanie z osobna składowych szkieletu scalanie zstępujące sterowania Testowanie scalania p.51/93

Scalanie szkieletowe strategia scalenie szkieletu met. Big Bang próba scalenia przy użyciu pilota scalanie sterowania i szkieletu met. Big Bang zstępujące zastępowanie namiastek implementacjami w dalszych cyklach scalanie częste Testowanie scalania p.52/93

Scalanie szkieletowe Testowanie scalania p.53/93

Scalanie szkieletowe Testowanie scalania p.54/93

Scalanie szkieletowe Testowanie scalania p.55/93

Scalanie szkieletowe Testowanie scalania p.56/93

Scalanie szkieletowe Testowanie scalania p.57/93

Scalanie szkieletowe Kryteria wejściowe Architektura systemu i interfejsów zaprojektowana i przejrzana Szkielet i aplikacja mają ten sam rozmiar i złożoność Testowanie scalania p.58/93

Scalanie szkieletowe Kryteria wyjściowe Wszystkie składowe spełniają kryteria wyjściowe zastosowanego wzorca testu. Każdy interfejs został wypróbowany. Cały przyrost przechodzi testy w obrębie systemu. Testowanie scalania p.59/93

Scalanie szkieletowe Wady analiza musi być naprawdę staranna trzeba tworzyć i piloty i namiastki Testowanie scalania p.60/93

Scalanie szkieletowe Zalety łagodzi niedogodności scalania wstępującego i zstępującego scalanie zstępujące tylko na górnych poziomach scalanie wstępujące w podsystemach Big Bang poprzedzone testowaniem składowych szkielety są lepsze niż symulatory Testowanie scalania p.61/93

Scalanie warstwowe Model warstwowy Interfejsy urządzeń, urządzenia wbudowane Działanie w czasie rzeczywistym Zastosowania np. stosy protokołów Testowanie scalania p.62/93

Scalanie warstwowe strategia Każda warstwa osobno Scalanie zstępujące warstw, usuwanie kolejnych namiastek niższych warstw Alternatywa: scalanie wstępujące (od najniższej warstwy) Testowanie scalania p.63/93

Scalanie warstwowe Kryteria wejściowe Stabilna maszyna wirtualna Składowe operatywne w minimalnym stopniu Brak anomalii w zakresie fizycznym, funkcjonalnym i środowiska Testowanie scalania p.64/93

Scalanie warstwowe Kryteria wyjściowe Pilotowane składowe spełniają swoje kryteria wyjściowe Każdy rodzaj współpracy został wypróbowany Testowanie scalania p.65/93

Scalanie warstwowe Zalety i wady podobne do scalania zstępującego i wstępującego Przypadek wstępujący: pilot dla każdej warstwy, ograniczona liczba namiastek Przypadek zstępujący: jeden pilot, namiastki warstw niższych Testowanie scalania p.66/93

Scalanie klienta i serwera Stabilność interakcji klienci serwery Sterowanie nie jest zlokalizowane w jednym miejscu Początkowo oddzielnie klienci, oddzielnie serwery Sprawdzanie kolejnych interfejsów Cel wykrywanie problemów ze współdziałaniem Platforma testowa i docelowa, izomorfizm Testowanie scalania p.67/93

Scalanie klienta i serwera Strategia Gwiazda dwupiętrowa: klient namiastka serwera namiastki klientów serwer klient (grupa klientów) serwer Gwiazda trzypiętrowa: klient serwer serwer serwer klient serwer serwer Testowanie scalania p.68/93

Scalanie klienta i serwera Kryteria wejściowe: Stabilna maszyna wirtualna Komponenty współpracy operatywne w minimalnym stopniu Brak anomalii w zakresie fizycznym funkcjonalnym i środowiska Zainstalowany i sprawdzony wieloplatformowy zestaw narzędzi testowych oraz system kontroli wersji Testowanie scalania p.69/93

Scalanie klienta i serwera Kryteria wyjściowe: Pilotowane składowe spełniają swoje kryteria wyjściowe Interfejs do każdej podskładowej został wypróbowany Zestaw testów przechodzi w środowisku izomorficznym z docelowym Testowanie scalania p.70/93

Scalanie klienta i serwera Kosztowne opracowanie namiastek i pilotów, ale można je wykorzystać przy testowaniu systemu Kompleksowe przypadki użycia można testować dopiero pod koniec cyklu testowania Eliminowanie problemów metody Big Bang Pewna dowolność w kolejności scalania w zależności od ryzyka lub priorytetów Testowanie scalania p.71/93

Scalanie usług rozproszonych Wykazanie stabilności współpracy pomiędzy równorzędnymi komponentami Składowe pracujące współbieżnie, sterowanie nie jest skupione w jednym miejscu, brak hierarchii serwerów Przetestowanie węzłów, następnie testowanie kolejnych interfejsów Skoncentrowane na problemach uniemożliwiających testowanie systemu Testowanie scalania p.72/93

Scalanie usług rozproszonych Strategia Wykazanie minimalnej operatywności interfejsów Kolejność testowania: według ryzyka na przekór ryzyku według zależności według priorytetów Testowanie scalania p.73/93

Scalanie usług rozproszonych Strategia zasady: Zestawy zależne i niezależne od komputera sieciowego i stanowiska Specyfikacja konfiguracji dla każdego komputera sieciowego Oprogramowanie testowe działa na wszystkich komputerach Najpierw na najprostszej konfiguracji Testowanie scalania p.74/93

Scalanie usług rozproszonych Kryteria wejściowe: Stabilna maszyna wirtualna Składowe operatywne w minimalnym stopniu Brak anomalii w zakresie fizycznym funkcjonalnym i środowiska Zainstalowany i sprawdzony wieloplatformowy zestaw narzędzi testowych oraz system kontroli wersji Testowanie scalania p.75/93

Scalanie usług rozproszonych Kryteria wejściowe: Określono, wdrożono i przetestowano typową konfigurację zdalnego komputera Na każdym zdalnym komputerze zainstalowano i skonfigurowano oprogramowanie testowe Testowanie scalania p.76/93

Scalanie usług rozproszonych Kryteria wyjściowe: Kryteria wyjściowe oparte na powinnościach spełniają wymagania wzorców określających treści wariantów testów Interfejs do każdego komponentu został wypróbowany Zestaw testów przechodzi w środowisku izomorficznym z docelowym Testowanie scalania p.77/93

Scalanie usług rozproszonych Koszty opracowania pilotów, namiastek, organizacji środowiska testowego Kompleksowe przypadki użycia można testować dopiero pod koniec cyklu testowania Eliminowanie problemów metody Big Bang Pewna dowolność w kolejności scalania w zależności od ryzyka lub priorytetów Testowanie scalania p.78/93

Scalanie częste Scalanie częste nie jest: Częstym kompilowaniem i konsolidowaniem Przechodzeniem przez analizatory statyczne Scalanie częste to: Ładowanie testowanej implementacji Wykonywanie zestawu testów Porównywanie wyników oczekiwanych i rzeczywistych Testowanie scalania p.79/93

Scalanie częste Ustabilizowana wersja podstawowa Wykrywanie błędów scalania Warunki dla scalania częstego: Dostępny stabilny przyrost Odpowiedni czas wytwarzania Tworzenie i rozwijanie testów wraz z kodem Zautomatyzowane scalanie Zarządzanie konfiguracją Testowanie scalania p.80/93

Scalanie częste Strategia: Wzorzec testu w obrębie systemu Testowanie wszystkich rozwijanych składowych Etapy: Tworzenie partii kodu i testów dla nich Gromadzenie zmian, wykonywanie testów Ocena wyników; natychmiastowa naprawa omyłek Testowanie scalania p.81/93

Scalanie częste Kryteria wejściowe: Stabilna maszyna wirtualna Automatycznie powtarzalny zestaw testów Dostatecznie duża liczba elementów Kryteria i procedury dodawania składowych: Składowa przechodzi zestaw testów Składowa zgodna z procedurami konfiguracji, rejestracji, terminowości Ustalony, jednakowy czas graniczny cyklu Testowanie scalania p.82/93

Scalanie częste Kryteria wyjściowe: Zakończone opracowywanie przyrostu, testowany system przechodzi zestaw testów scalania ostatniego przyrostu Przypadki: Zestaw testów osiąga pokrycie scalenia Zestaw testów wykazuje minimalną zdolność współdziałania, ale nie osiąga pokrycia scalenia Testowanie scalania p.83/93

Scalanie częste Utrzymywanie kodu i zestawu testów Testy nie mogą być zbyt proste Paradoks pestycydowy Wczesne wykrywanie dużych błędów Morale pracowanie nad systemem, który działa Testowanie scalania p.84/93

Zakres Klasa Klaster Podsystem i system Testowanie scalania p.85/93

Zakres klasa Składowe: zmienne, metody (również nadklasy), parametry komunikatów Testowanie powinności klasy, testowanie scalania klasy Wyizolowane testy klasy Strategia alfa-omega Big Bang, czyli Small Pop Testowanie scalania p.86/93

Zakres klaster Można oddzielić testowania powinności klastra od testowania scalania klastra Nie stosować Big Bang Z reguły scalanie wstępujące Scalanie zstępujące, jeśli szczytem klastra jest jedna klasa Testowanie scalania p.87/93

Zakres podsystem i system Testowanie interakcji powyżej poziomu klastra a poniżej zakresu systemu Osiągnięcie stabilności pozwalającej na testowanie systemu Sprawdzenie minimalnej zdolności do współpracy Testowanie scalania p.88/93

Zakres podsystem i system Kontrola konfiguracji fizycznej (wersje komponentów) Kontrola konfiguracji funkcjonalnej (właściwa rodzina komponentów) Kontrola konfiguracji środowiskowej (środowisko docelowe, wymagania sprzętowe, zasoby, działanie pod kontrolą wszystkich OS, DBMS, maszyn wirtualnych, z którymi miał być zgodny) Testowanie scalania p.89/93

Zakres podsystem i system Scalanie wstępujące Scalanie zstępujące Scalanie współpracy Scalanie warstwowe Scalanie klienta i serwera Scalanie usług rozproszonych Scalanie szkieletowe Scalanie częste Testowanie scalania p.90/93

Omówione wzorce scalania Metoda Big Bang Wstępujące Zstępujące Współpracy Szkieletowe Testowanie scalania p.91/93

Omówione wzorce scalania Warstwowe Klienta i serwera Usług rozproszonych Częste Testowanie scalania p.92/93

Pytania? Testowanie scalania p.93/93