Komponenty SQA
Software Quality Assurance(SQA) to zbiór działań zapewniających jakość w procesach inżynierii oprogramowania. Zapewnia, że opracowane oprogramowanie spełnia określone lub znormalizowane specyfikacje jakościowe i jest z nimi zgodne. SQA to ciągły proces w ramach cyklu życia oprogramowania (SDLC), który rutynowo sprawdza opracowane oprogramowanie, aby upewnić się, że spełnia wymagane mierniki jakości.
Praktyki SQA są wdrażane w większości typów tworzenia oprogramowania, niezależnie od używanego podstawowego modelu tworzenia oprogramowania. SQA obejmuje i wdraża metodologie testowania oprogramowania w celu testowania oprogramowania. Zamiast sprawdzać jakość po zakończeniu, procesy SQA testują jakość na każdym etapie rozwoju, aż do ukończenia oprogramowania. Dzięki SQA proces tworzenia oprogramowania przechodzi do następnej fazy tylko wtedy, gdy bieżąca / poprzednia faza spełnia wymagane standardy jakości. SQA generalnie działa na jednym lub kilku standardach branżowych, które pomagają w tworzeniu wytycznych dotyczących jakości oprogramowania i strategii wdrażania.
Obejmuje następujące działania -
- Definicja i wdrożenie procesu
- Auditing
- Training
Procesy mogą być -
- Metodologia tworzenia oprogramowania
- Zarządzanie projektami
- Zarządzanie konfiguracją
- Opracowywanie / zarządzanie wymaganiami
- Estimation
- Projektowanie Oprogramowania
- Testowanie itp.
Po zdefiniowaniu i wdrożeniu procesów zapewnianie jakości ma następujące obowiązki:
- Zidentyfikuj słabości procesów
- Popraw te słabości, aby stale ulepszać proces
Elementy systemu SQA
System SQA zawsze łączy w sobie szeroką gamę komponentów SQA. Te komponenty można podzielić na sześć następujących klas -
Komponenty przedprojektowe
Gwarantuje to, że zobowiązania projektowe zostały jasno określone, biorąc pod uwagę wymagane zasoby, harmonogram i budżet; a plany rozwoju i jakości zostały prawidłowo określone.
Elementy oceny cyklu życia projektu
Cykl życia projektu składa się z dwóch etapów: etapu cyklu rozwojowego oraz etapu eksploatacji i utrzymania.
Komponenty etapu cyklu rozwojowego wykrywają błędy projektowe i programistyczne. Jego komponenty są podzielone na następujące podklasy: recenzje, opinie ekspertów i testy oprogramowania.
Komponenty SQA używane na etapie eksploatacji i utrzymania obejmują wyspecjalizowane komponenty utrzymania, jak również komponenty cyklu rozwojowego, które są stosowane głównie w celu usprawnienia zadań konserwacyjnych.
Komponenty zapobiegania błędom infrastruktury i poprawy
Głównym celem tych komponentów, które są stosowane w całej organizacji, jest wyeliminowanie lub przynajmniej zmniejszenie wskaźnika błędów w oparciu o zgromadzone doświadczenie organizacji w zakresie SQA.
Elementy zarządzania jakością oprogramowania
Ta klasa komponentów ma kilka celów, takich jak kontrola działań rozwojowych i konserwacyjnych oraz wprowadzenie wczesnych działań wspierających kierownictwo, które głównie zapobiegają lub minimalizują awarie harmonogramu i budżetu oraz ich skutki.
Elementy normalizacji, certyfikacji i oceny systemu SQA
Komponenty te wdrażają międzynarodowe standardy zawodowe i menedżerskie w organizacji. Głównymi celami tej klasy jest wykorzystanie międzynarodowej wiedzy zawodowej, doskonalenie koordynacji systemów jakości organizacji z innymi organizacjami oraz ocena osiągnięć systemów jakości według wspólnej skali. Poszczególne standardy można podzielić na dwie główne grupy: standardy zarządzania jakością i standardy procesu projektowego.
Organizacja dla SQA - komponenty ludzkie
Baza organizacyjna SQA obejmuje menedżerów, personel testujący, jednostkę SQA oraz osoby zainteresowane jakością oprogramowania, takie jak powiernicy SQA, członkowie komitetów SQA i członkowie forum SQA. Ich głównym celem jest inicjowanie i wspieranie wdrażania komponentów SQA, wykrywanie odstępstw od procedur i metodologii SQA oraz sugerowanie ulepszeń.
Przedprojektowe komponenty jakości oprogramowania
Te komponenty pomagają ulepszyć wstępne kroki podjęte przed rozpoczęciem projektu. Obejmuje -
- Przegląd kontraktu
- Plany rozwoju i jakości
Przegląd kontraktu
Zwykle oprogramowanie jest opracowywane na potrzeby umowy negocjowanej z klientem lub na wewnętrzne zamówienie opracowania oprogramowania układowego, które ma być osadzone w produkcie sprzętowym. We wszystkich tych przypadkach dział rozwoju jest zobowiązany do przestrzegania uzgodnionej specyfikacji funkcjonalnej, budżetu i harmonogramu. W związku z tym czynności związane z przeglądem umowy muszą obejmować szczegółowe badanie projektu propozycji projektu i projektów umów.
W szczególności czynności związane z przeglądem umowy obejmują -
Wyjaśnienie wymagań klienta
Przegląd harmonogramu projektu i szacunków zapotrzebowania na zasoby
Ocena zdolności profesjonalnej kadry do realizacji proponowanego projektu
Ocena zdolności klienta do wypełnienia swoich zobowiązań
Ocena ryzyk rozwojowych
Plany rozwoju i jakości
Po podpisaniu umowy na rozwój oprogramowania z organizacją lub działem wewnętrznym tej samej organizacji, przygotowywany jest plan rozwoju projektu i jego zintegrowanych działań w zakresie zapewnienia jakości. Plany te zawierają dodatkowe szczegóły i potrzebne zmiany w oparciu o wcześniejsze plany, które stanowiły podstawę dla aktualnej oferty i kontraktu.
Zwykle od złożenia oferty do podpisania umowy mija kilka miesięcy. W tym okresie zasoby, takie jak dostępność personelu, możliwości zawodowe, mogą ulec zmianie. Plany są następnie korygowane w celu odzwierciedlenia zmian, które zaszły w międzyczasie.
Główne kwestie uwzględnione w planie rozwoju projektu to:
- Schedules
- Wymagane zasoby ludzkie i sprzętowe
- Oceny ryzyka
- Kwestie organizacyjne: członkowie zespołu, podwykonawcy i partnerstwa
- Metodologia projektu, narzędzia programistyczne itp.
- Plany ponownego wykorzystania oprogramowania
Główne kwestie uwzględnione w planie jakości projektu to:
Cele jakościowe, wyrażone w odpowiednich mierzalnych kategoriach
Kryteria rozpoczęcia i zakończenia każdego etapu projektu
Listy przeglądów, testów i innych zaplanowanych działań weryfikacyjnych i walidacyjnych