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.