Testowanie i zapewnienie jakości

System oprogramowania należy sprawdzać pod kątem zamierzonego zachowania i kierunku postępu na każdym etapie rozwoju, aby uniknąć powielania wysiłków, przekroczenia czasu i kosztów oraz zapewnić ukończenie systemu w określonym czasie. zamierzone zachowanie i kierunek postępu na każdym etapie rozwoju w celu uniknięcia powielania wysiłków, przekroczenia czasu i kosztów oraz zapewnienia ukończenia systemu w określonym czasie.

Testowanie systemu i zapewnienie jakości pomagają w sprawdzeniu systemu. Obejmuje -

  • Jakość na poziomie produktu (testowanie)
  • Jakość na poziomie procesu.

Omówmy je krótko -

Testowanie

Testowanie to proces lub czynność, która sprawdza funkcjonalność i poprawność oprogramowania zgodnie z określonymi wymaganiami użytkownika w celu poprawy jakości i niezawodności systemu. Jest to kosztowne, czasochłonne i krytyczne podejście w rozwoju systemu, które wymaga odpowiedniego zaplanowania całego procesu testowania.

Pomyślny test to taki, w którym znaleziono błędy. Wykonuje program z wyraźnym zamiarem znalezienia błędu, tj. Spowodowania błędu programu. Jest to proces oceny systemu z zamiarem stworzenia silnego systemu i koncentruje się głównie na słabych obszarach systemu lub oprogramowania.

Charakterystyka testowania systemu

Testowanie systemu rozpoczyna się na poziomie modułu i prowadzi do integracji całego systemu oprogramowania. Podczas testowania systemu używane są różne techniki testowania. Prowadzony jest przez programistę dla małych projektów i przez niezależne grupy testowe dla dużych projektów.

Etapy testowania systemu

Testowanie obejmuje następujące etapy -

Test Strategy

Jest to stwierdzenie zawierające informacje o różnych poziomach, metodach, narzędziach i technikach używanych do testowania systemu. Powinien zaspokajać wszystkie potrzeby organizacji.

Test Plan

Zawiera plan testowania systemu i weryfikuje, czy testowany system spełnia wszystkie specyfikacje projektowe i funkcjonalne. Plan testów zawiera następujące informacje -

  • Cele każdej fazy testowej
  • Podejścia i narzędzia używane do testowania
  • Obowiązki i czas wymagany na każdą czynność testową
  • Dostępność narzędzi, udogodnień i bibliotek testowych
  • Procedury i standardy wymagane przy planowaniu i przeprowadzaniu testów
  • Czynniki odpowiedzialne za pomyślne zakończenie procesu testowania

Test Case Design

  • Dla każdego modułu testowanego systemu zidentyfikowano szereg przypadków testowych.

  • Każdy przypadek testowy określa, w jaki sposób ma być testowana implementacja konkretnego wymagania lub decyzji projektowej, oraz kryteria powodzenia testu.

  • Przypadki testowe wraz z planem testów są dokumentowane jako część dokumentu specyfikacji systemu lub w osobnym dokumencie o nazwie test specification lub test description.

Test Procedures

Składa się z kroków, które należy wykonać, aby wykonać każdy z przypadków testowych. Procedury te są określone w osobnym dokumencie zwanym specyfikacją procedury testowej. Ten dokument określa również wszelkie specjalne wymagania i formaty dotyczące raportowania wyników testów.

Test Result Documentation

Plik wyników testu zawiera krótkie informacje o całkowitej liczbie wykonanych przypadków testowych, liczbie błędów i naturze błędów. Wyniki te są następnie oceniane na podstawie kryteriów w specyfikacji testu, aby określić ogólny wynik testu.

Rodzaje testów

Testy mogą być różnego typu, a różne typy testów są przeprowadzane w zależności od rodzaju błędów, które chce się wykryć -

Testów jednostkowych

Znany również jako testowanie programów, jest to rodzaj testowania, w którym analityk testuje lub koncentruje się na każdym programie lub module niezależnie. Dokonuje się tego z zamiarem wykonania każdej instrukcji modułu przynajmniej raz.

  • W testach jednostkowych nie można zapewnić dokładności programu i trudno jest szczegółowo przeprowadzić testowanie różnych kombinacji danych wejściowych.

  • Identyfikuje maksymalne błędy w programie w porównaniu z innymi technikami testowania.

Testy integracyjne

W testowaniu integracji analityk testuje wiele modułów pracujących razem. Służy do znajdowania rozbieżności między systemem a jego pierwotnym celem, aktualnymi specyfikacjami i dokumentacją systemu.

  • Tutaj analitycy próbują znaleźć obszary, w których zaprojektowano moduły z różnymi specyfikacjami dotyczącymi długości, typu i nazwy elementu danych.

  • Sprawdza, czy rozmiary plików są odpowiednie i czy indeksy zostały poprawnie zbudowane.

Testy funkcjonalności

Testowanie funkcji określa, czy system działa poprawnie, zgodnie ze specyfikacjami i odpowiednią dokumentacją norm. Testy funkcjonalne zwykle rozpoczynają się od wdrożenia systemu, co ma kluczowe znaczenie dla powodzenia systemu.

Testy funkcjonalne są podzielone na dwie kategorie -

  • Positive Functional Testing - Obejmuje testowanie systemu za pomocą ważnych danych wejściowych w celu zweryfikowania, czy wygenerowane dane wyjściowe są prawidłowe.

  • Negative Functional Testing - Obejmuje testowanie oprogramowania z nieprawidłowymi danymi wejściowymi i niepożądanymi warunkami pracy.

Zasady testowania systemu

Aby pomyślnie przeprowadzić testy systemu, musisz przestrzegać podanych zasad -

  • Testowanie powinno być oparte na wymaganiach użytkownika.

  • Przed napisaniem skryptów testowych należy dokładnie zrozumieć logikę biznesową.

  • Plan testów należy sporządzić jak najszybciej.

  • Testowanie powinna przeprowadzić strona trzecia.

  • Powinien być wykonywany na statycznym oprogramowaniu.

  • Należy przeprowadzić testy dla prawidłowych i nieprawidłowych warunków wejściowych.

  • Testy należy poddać przeglądowi i zbadać, aby zmniejszyć koszty.

  • Na oprogramowaniu należy przeprowadzić zarówno testy statyczne, jak i dynamiczne.

  • Należy udokumentować przypadki testowe i wyniki testów.

Zapewnienie jakości

Jest to przegląd systemu lub oprogramowania i jego dokumentacji w celu zapewnienia, że ​​system spełnia wymagania i specyfikacje.

  • Celem QA jest zapewnienie klientom zaufania poprzez ciągłe dostarczanie produktu zgodnie ze specyfikacją.

  • Software Quality Assurance (SQA) to technika obejmująca procedury i narzędzia stosowane przez programistów w celu zapewnienia, że ​​oprogramowanie spełnia określony standard w zakresie jego zamierzonego użycia i działania.

  • Głównym celem SQA jest zapewnienie administracji właściwego i dokładnego wglądu w projekt oprogramowania i jego wytworzony produkt.

  • Przegląda i kontroluje oprogramowanie i jego działania przez cały cykl rozwoju systemu.

Cele zapewnienia jakości

Cele zapewnienia jakości są następujące:

  • Monitorowanie procesu tworzenia oprogramowania i opracowywanego oprogramowania końcowego.

  • Zapewnienie, czy projekt oprogramowania wdraża standardy i procedury określone przez kierownictwo.

  • Powiadomienie grup i osób o działaniach SQA i wynikach tych działań.

  • Aby upewnić się, że problemy, które nie zostały rozwiązane w oprogramowaniu, są rozwiązywane przez wyższe kierownictwo.

  • Aby zidentyfikować braki w produkcie, procesie lub standardach i je naprawić.

Poziomy zapewnienia jakości

Istnieje kilka poziomów kontroli jakości i testów, które należy przeprowadzić, aby uzyskać certyfikację oprogramowania.

Level 1 − Code Walk-through

Na tym poziomie oprogramowanie offline jest sprawdzane lub sprawdzane pod kątem wszelkich naruszeń oficjalnych zasad kodowania. Ogólnie rzecz biorąc, nacisk kładzie się na badanie dokumentacji i poziomu komentarzy w kodzie.

Level 2 − Compilation and Linking

Na tym poziomie sprawdza się, czy oprogramowanie może kompilować i łączyć wszystkie oficjalne platformy i systemy operacyjne.

Level 3 − Routine Running

Na tym poziomie sprawdza się, czy oprogramowanie może działać poprawnie w różnych warunkach, takich jak pewna liczba wydarzeń oraz małe i duże rozmiary zdarzeń itp.

Level 4 − Performance test

Na tym końcowym poziomie sprawdza się, czy działanie oprogramowania spełnia poprzednio określony poziom wydajności.