Sytuacja kobiet w IT w 2024 roku
28.12.20223 min
Michał Baczyński
Applause

Michał BaczyńskiSenior DirectorApplause

AQS, czyli jak mierzyć jakość oprogramowania

Poznaj standard AQS i sprawdź, jak określać wydania za pomocą jednej, trafnej metryki.

AQS, czyli jak mierzyć jakość oprogramowania

Z reguły w zastosowaniach profesjonalnych tworzymy oprogramowanie komputerowe dla konkretnego odbiorcy. Może być nim klient zewnętrzny, bądź wewnętrzny przedstawiciel biznesu. We współczesnym świecie często owe oprogramowanie powstaje z wykorzystaniem scrumu, co skutkuje tym, że kolejne wersje są publikowane na zakończenie każdego sprintu. Dzięki temu odbiorca może iteracyjnie oceniać kolejne wersje i co sprint sprawdzać, czy oprogramowanie rozwijane jest w założonym kierunku, czy spełnia oczekiwania dotyczące wymagań funkcjonalnych i zaspokaja potrzebę biznesową. W konsekwencji iteracyjnie koryguje kierunek rozwoju.

Natomiast już nie jest sprawą banalną z punktu widzenia odbiorcy ocena jakości dostarczanego rozwiązania. Tutaj z pomocą przychodzi proces testowania oprogramowania, który może być automatyczny lub manualny. Najczęściej najlepsze rezultaty daje połączenie obu tych sposobów i testowanie każdorazowo wypuszczonego release’u. Rezultatem procesu testowania jest lista zidentyfikowanych błędów, z których część poprawiana jest niezwłocznie, a pozostałe mogą trafić do backlogu do rozwiązania w kolejnych sprintach.

I tutaj dochodzimy do zagadnienia, w jaki sposób ocenić jakość testowanego release’u. Miara jakości liczona jako wartość odwrotnie proporcjonalna do ilości błędów jest zbytnim uproszczeniem i nie daje pełnego i zarazem prostego przekazu dla odbiorcy-zleceniodawcy. Przecież im bardziej rozbudowane oprogramowanie z punktu widzenia funkcjonalnego, tym więcej okazji do popełnienia błędów i nie oznacza to automatycznie, że nastąpił spadek jakości. Również czas trwania testów i ich intensywność mają wpływ na ilość znalezionych błędów. Często nie ma potrzeby jak również i możliwości, aby testować każdy release z tą samą wnikliwością, angażując dokładnie tę samą liczbę testerów, którzy poświęcą zawsze tyle samo czasu na testy manualne każdej wersji.

Zatem pomiar metodą, która daje wynik zgodny z zasadą im więcej znalezionych błędów, tym gorsza jakość, nie pokazuje rzeczywistego obrazu jakości. I tutaj jako firma Applause proponujemy rozwiązanie wprowadzające nowy standard przemysłowy dla wytwórców oprogramowania, a mianowicie metrykę Applause Quality Score, w skrócie AQS.

Co do zasady, jakość każdego release'u jest wyrażana za pomocą jednej wartości - liczby z przedziału od 0 do 100 oraz współczynnika pewności (confidence level), z jaką metryka jakości została obliczona. Im większa wartość AQS, tym wersja oprogramowania jest lepszej jakości, przy czym jeśli pewność pomiaru jest zbyt mała, AQS nie jest pokazywany, by nie wprowadzać w błąd odbiorcy, czy zespołu deweloperskiego.

Sposób wyliczania AQS został opracowany przez zespół data scientistów z działu Applause Labs. Metryka wyliczana jest na podstawie szeregu parametrów wejściowych każdego releasu, takich jak ilość błędów, ich waga, dokuczliwość, łatwość znalezienia, długość cykli testowych i tym podobne. Wszystkim parametrom wejściowym przypisana jest odpowiednia waga, natępnie wielkości są znormalizowane i wykorzystane do obliczeń wartości AQS. Wartości AQS wyliczane są dla każdego wypuszczonego buildu, najczęściej co sprint i w ten sposób można analizować wzrosty bądź spadki jakości oprogramowania.

Implementacją globalnego standardu mierzenia jakości oprogramowania zajmują się inżynierowie w warszawskim biurze Applause. Stworzyli oni czytelny interfejs, który umożliwia śledzenie wielkości AQS dla wielu produktów z wyszczególnieniem zmian w czasie dla poszczególnych buildów.


Stworzenie AQS było możliwe dzięki zgromadzeniu ogromnej ilości danych historycznych z procesów testowych, które zgromadziliśmy w Applause w ramach swojej podstawowej działalności. Owa działalność bazuje na stworzonej przez nas społeczności testerów, która dzisiaj liczy blisko 500 tysięcy członków. Manualni testerzy należący do społeczności podejmują się projektów testowych dla klientów Applause z całego świata, firm takich jak Google, Facebook, Uber, PayPal i innych produkujących oprogramowanie komputerowe.

W ramach crowdtestingu, bo tak można nazywać testowanie przez ludzi zrzeszonych w społeczność, realizowane są tysiące zleceń w każdym tygodniu. Mając na uwadze, że firma rozpoczęła swoją działalność testowania na zlecenie przez społeczność kilkanaście lat temu, imponująca ilość zgromadzonych danych pozwoliła na opracowanie właśnie ogłoszonego nowego przemysłowego standardu mierzenia i wyrażania jakości oprogramowania - AQS.

<p>Loading...</p>