jak mierzymy jakość oprogramowania
zanim będziemy mogli dostarczyć oprogramowanie, musimy zmierzyć jego jakość, aby upewnić się, że jest ono tak wolne od błędów, jak to tylko możliwe. Jednak aby to zrobić, musimy najpierw wiedzieć, jakie wskaźniki jakości oprogramowania mierzymy.
jakie są wskaźniki dotyczące jakości oprogramowania pomiarowego?
wskaźniki dotyczące jakości oprogramowania pomiarowego mogą być niezwykle techniczne, ale można je podzielić na następujące cztery podstawowe kategorie:
- jakość kodu
- wydajność
- bezpieczeństwo
- użyteczność
jakość kodu
wolny od błędów i semantycznie poprawny kod jest bardzo ważny dla oprogramowania premium. Standardy jakości kodu można podzielić na metryki ilościowe i jakościowe. Ilościowe wskaźniki jakości mierzą, jak duży lub złożony jest program, liczbę linii i funkcji, które zawiera,liczbę błędów na 1000 linii kodu i wiele innych. Jakościowe wskaźniki jakości kodu mierzą takie funkcje, jak łatwość konserwacji, czytelność, przejrzystość, wydajność i dokumentacja. Te wskaźniki mierzą, jak łatwo jest odczytać, zrozumieć kod i czy jest napisany zgodnie ze standardami kodowania.
wydajność
każdy program jest zbudowany do określonego celu. Wskaźniki wydajności mierzą, czy produkt spełnia swój cel i czy wykonuje sposób, w jaki jest przeznaczony. Odnosi się również do tego, w jaki sposób aplikacja wykorzystuje zasoby, jej skalowalność, zadowolenie klienta i czas reakcji.
bezpieczeństwo
wskaźniki bezpieczeństwa oprogramowania mierzą nieodłączne bezpieczeństwo programu i zapewniają brak nieautoryzowanych zmian w produkcie po jego przekazaniu klientowi.
użyteczność
ponieważ wszystkie produkty oprogramowania są zbudowane dla użytkownika końcowego, ważnym wskaźnikiem jakości jest to, czy program jest wykonalny i przyjazny dla użytkownika. Zapewniamy również, że klient jest zadowolony z funkcji i wydajności.
Kiedy Mierzymy Jakość Oprogramowania?
nasz zespół ds. rozwoju oprogramowania i zespół zapewnienia jakości (QA) współpracują ze sobą, aby zapewnić najwyższą jakość oprogramowania. Zespół QA przeprowadza testy produktów, po opracowaniu. Jednak zespół programistów utrzymuje, mierzy i stale poprawia jakość oprogramowania podczas kompilacji. Jednak o ile utrzymujemy jakość oprogramowania na każdym etapie rozwoju, możemy je testować w różnych punktach rozwoju, w oparciu o zastosowaną metodologię rozwoju. Przy tworzeniu aplikacji korzystamy z dwóch metodologii-Waterfall i Agile. Ponieważ dwie metodologie dostarczają produkt w różny sposób, są one testowane inaczej, jak również.
jakość oprogramowania pomiarowego: Metodologia Waterfall
Metodologia Waterfall jest wtedy, gdy planujemy, wykonujemy, testujemy i dostarczamy w różnych fazach. Każda faza jest zakończona przed rozpoczęciem następnej. W rezultacie, przy produkcie opracowanym przy użyciu tej metodologii, musimy utrzymać jakość produktu na każdym etapie-wymagań, projektowania, wdrożenia, weryfikacji (lub testowania) i konserwacji. Ponieważ testowanie odbywa się pod koniec kompilacji, zajmuje mniej czasu i nie wymaga wielu testów regresyjnych.
Pomiar jakości oprogramowania: zwinny
metodyki zwinne są bardziej elastyczne i elastyczne, gdzie rozwój jest podzielony na fazy lub sprinty. Celem jest, aby na koniec każdego sprintu, który może trwać od dwóch do sześciu tygodni, dostarczamy wysokiej jakości produkt o minimalnej żywotności, który jest w pełni funkcjonalny i przetestowany. Oznacza to, że musimy mieć pewność, że utrzymujemy jakość oprogramowania na każdym etapie, w każdym sprincie. Produkty opracowane przy użyciu metodologii Agile są testowane częściej. Oznacza to jednak również, że muszą one stale testować regresję, aby upewnić się, że aktualizacja nie złamała funkcjonalności, które zostały przetestowane i przekazane we wcześniejszych kompilacjach.
jak deweloperzy utrzymują jakość kodu oprogramowania?
dobry programista to taki, który może dostarczyć wysokiej jakości Kod oprogramowania przy minimalnych błędach. Mówimy „minimalne”, ponieważ w trakcie rozwoju niektóre błędy są nieuniknione i liczy się to, jak je naprawiamy lub kontrolujemy. Dlatego programiści mierzą jakość swojego kodu w miarę rozwoju, ponieważ oznacza to, że mogą zidentyfikować i rozwiązać wszelkie problemy podczas kompilacji. Mierzą swój kod pod kątem standardów kodowania, recenzji kodu, analizatorów kodu i kodu spuścizny refraktora.
na tym etapie jakość oprogramowania jest testowana ręcznie za pomocą krótkich testów jednostkowych. Test jednostkowy jest pierwszym etapem pomiaru jakości oprogramowania, w którym sprawdzana jest najmniejsza testowalna część oprogramowania – moduł lub komponent programu, a nawet pojedyncza funkcja w kodzie.
na przykład może istnieć wiele pól danych, które wymagają uzupełnienia w ramach większego oprogramowania. Test jednostkowy może po prostu przetestować pierwsze pole, a nie inne, lub dowolną inną część programu.
programiści tworzą wspólną bibliotekę setek takich testów, z powtarzalną funkcjonalnością wbudowaną w oprogramowanie, dzięki czemu testy te mogą być używane w kółko w różnych projektach w celu skutecznego wykrywania błędów w kodzie oprogramowania na etapie rozwoju. Przeprowadzają również automatyczne testy za pomocą analizatora kodów, SonarQube, który sprawdza oprogramowanie pod kątem:
- przejrzystość
- Konserwacja
- dokumentacja
- rozszerzalność
- wydajność
- dobrze przetestowane
- Bezpieczne kodowanie
- refaktoryzacja kodu
- rozszerzalność
to nam pomaga:
- przeprowadzaj przeglądy kodu
- utrzymuj standardy kodowania
- Identyfikuj błędy i liczbę potencjalnych błędów w oprogramowaniu
używamy go również do oceny:
- złożoność strukturalna programu (liczba linii kodu)
- wszelkie luki Znalezione w repozytoriach
- zapachy kodu (kod, który jest mylący lub trudny do utrzymania)
- pokrycie kodu (miara kodu objętego testami jednostkowymi)
- duplikacja kodu (ilość powtarzanego kodu)
w jaki sposób zespół ds. kontroli jakości mierzy jakość oprogramowania?
testerzy QA sprawdzają wszystkie wskaźniki jakości oprogramowania poprzez ręczne i automatyczne testowanie (przy użyciu Selenium), w tym ważność i standard kodu produktu. Ręczne metryki testowe można podzielić na dwie klasy-metryki bazowe i metryki obliczane. Metryki bazowe składają się z surowych, niezanalizowanych danych, które są gromadzone, podczas gdy obliczone metryki pochodzą z informacji zebranych w metrykach bazowych.
ręczne wskaźniki testowe
niektóre z ważnych ręcznych wskaźników testowych, które uważamy za jakość oprogramowania, to:
- test case execution wskaźniki produktywności
- test case preparation wskaźniki produktywności
- czas trwania testu
- zasięg testu jednostkowego (ilość kodu oprogramowania objętego testami jednostkowymi)
- odsetek zdanych/nieudanych testów itp.
pomiary automatyzacji testów
testy automatyzacji mogą pomóc zmniejszyć ilość ręcznego czasu poświęcanego na testowanie jakości oprogramowania. Oto niektóre z ważnych wskaźników testowania automatyzacji, które rozważamy:
- Całkowity czas trwania testu
- pokrycie testu jednostkowego
- pokrycie ścieżki (ile liniowo niezależnych ścieżek programu obejmuje test)
- pokrycie wymagań
- procent zaliczenia/niepowodzenia testów
- liczba wad
- procent automatyczne pokrycie testów (w stosunku do całkowitego pokrycia testów, które obejmuje testy ręczne)
- wykonanie testów (całkowite testy wykonane podczas kompilacji)
- przydatne vs.nieistotne wyniki
- wady w produkcji
- procent uszkodzonych kompilacji itp.
inne rodzaje testów do pomiaru jakości oprogramowania
używamy również różnych typów testów do pomiaru jakości oprogramowania. Są to:
- testy funkcjonalne
- test do zerwania
- testy wydajności obciążenia
- testy regresji
- testy bezpieczeństwa
- testy penetracyjne
- testy akceptacji użytkowników