Kontrola jakości bez testowania

Kontrola jakości bez testowania
Testowanie jest jedną z form kontrolowania jakości. Istnieje jednak wiele metod zbierania informacji o jakości, które mogą być wykonywane bez uruchamiania testów.

Jeśli testowanie sprowadzimy do różnych form uruchamiania testów, to zostanie nam duży zakres działań jakie możemy wykonywać aby kontrolować jakość.

Do działań kontroli jakości mogą należeć:

  • przeglądy nazywane czasami testami statycznymi
  • listy kontrolne
  • analiza statyczna
  • analiza dynamiczna
  • monitorowanie oprogramowania
  • użytkowanie.

Kontrola jakości bez testowania

Przeglądy

Przeglądom podlega głównie specyfikacja oprogramowania, w tym wymagania, prototypy czy kod źródłowy. Kontrola nie dotyczy więc jakości końcowego produktu, a  półproduktów, które się przyczyniają do jego powstania. Można powiedzieć, że eliminując problemy źródłowe staramy się zadbać o lepszą jakość końcowego produktu.

Listy kontrolne

Jakość możemy kontrolować również poprzez predefiniowane listy zawierającej wytyczne jakie spełnić muszą weryfikowane produkty. Takie działania mogą odnosić się i do specyfikacji, i już istniejących aplikacji. Listy powiązane są zazwyczaj z jakimś standardem i mogą to być np. informacje, które znajdziemy w zaleceniach WCAG (https://www.w3.org/WAI/standards-guidelines/wcag/) czy OWASP TOP 10 (https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project).

Analiza statyczna

Przeprowadzana automatycznie analiza polega na weryfikacji jakości sprawdzanego obiektu bez jego uruchamiania i przy pomocy predefiniowanych reguł. Analizujemy zazwyczaj te produkty, których składania może być "rozumiana" przez maszynę. Analizator może więc sprawdzać kod źródłowy lub modele oprogramowania, opisane przy pomocy języka UML. W swojej najprostszej formie analizowany może być również język naturalny przy pomocy ogólnych reguł gramatycznych, np. korekta poprawności ortografii w tekście.

Do analizatorów należą również walidatory jak np. walidator html (https://validator.w3.org/).

Analiza dynamiczna

Uruchomione oprogramowanie może być obserwowane pod kątem pojawiania się wyjątków lub niepożądanych zachowań. Analiza taka jest formą monitorowania (patrz dalej), ale skoncentrowana jest na obserwacji środowiska działania oprogramowania i może prowadzić do ujawniania wycieków pamięci czy odwołania do niedozwolonych obszarów pamięci. Analiza dynamiczna często powiązana jest z testami wydajności lub z badaniem niezawodności oprogramowania. 

Monitorowanie oprogramowania

Obserwacja oprogramowania w trakcie jego użycia pozwala nam na poszukiwanie awarii i zdarzeń w oprogramowaniu już na produkcji, czyli po wdrożeniu. Monitorowanie zachowań pozwala znajdywać nietypowe zachowania użytkowników, które mogą wskazywać na pojawienie się awarii. aby redukować wpływ problemów jakościowych na użytkowników stosuje się wgrywanie zmodyfikowanego oprogramowania jedynie części użytkowników (tzw. canary testing). Monitorowanie wykonywane jest zazwyczaj przy pomocy narzędzi i polega na zbieraniu danych na temat standardowych zachowań użytkowników oraz porównywanie ich z aktualnymi.

Użytkowanie

Kontrola jakości może występować również po wdrożeniu i polegać na zbieraniu zgłoszeń od końcowych odbiorców. Użytkownik końcowy staje się więc kontrolerem jakości.

To powinno Cię zainteresować