Definicja testowania oprogramowania. Cz. 1 powstającej książki "Zapewnienie jakości w procesie wytwarzania oprogramowania".

Definicja testowania oprogramowania. Cz. 1 powstającej książki "Zapewnienie jakości w procesie wytwarzania oprogramowania".
  Testowanie to jedna z wielu czynności (subprocesów) w procesie SDLC, która ma zapewnić nam najwyższą jakość dostarczanego produktu. Testowanie oprogramowania ma wiele definicji i każda z nich wypycha testowanie w zupełnie inne obszary. Autor zakłada dwie pseudodefinicje testowania...

 

Poniższa publikacja jest częścią powstającej właśnie, nowej książki Radosława Smilgin o roboczej nazwie "Zapewnienie jakości w procesie wytwarzania oprogramowania. Proces testowy."

 

Definicja wąska: testowanie jest sprawdzeniem poprawności i zgodności implementacji oprogramowania z założeniami spisanymi w formie dokumentacji lub też z założeniami zlecającego wytworzenie oprogramowania.

Definicja szeroka: testowanie jest zapewnieniem poprawności i zgodności implementacji oprogramowania z założeniami spisanymi w formie dokumentacji lub też z założeniami zlecającego wytworzenie oprogramowania poprzez sprawdzenie poszczególnych lub wszystkich produktów i półproduktów procesu wytwarzania oprogramowania.

Definicja wąska wpada więc do koszyka definicji szerokiej uwzględniając testy jedynie końcowego produktu oprogramowania. Definicja szeroka jest już znacznie bliżej definicji zapewnienia jakości w procesie wytwarzania oprogramowania (ang. Software Quality Assurance). Zakładamy jednak, że istnieje pewna ważna granica oddzielająca te dwa zestawy czynności. Testowanie oprogramowania zapewnia jakość na poziomie pojedynczego projektu lub też produktu, zapewnienie jakości w rozumieniu SQA zapewnia jakość w całej organizacji. W wielu publikacjach pojawi się również stwierdzenie, że na zapewnienie jakości oprogramowania składają się czynności raczej prewencyjne niż wykrywające, z kolei testowanie oprogramowania bardziej stawia na detekcję niż zapobieganie. Praktyk testowania oprogramowania może jedynie z politowaniem pokiwać głową na takie sformułowanie. Procesy SQA i testowanie mają zarówno cele detekcyjne, jak i prewencyjne i trudno byłoby przy pomocy tak nieprecyzyjnego stwierdzenia narysować czytelną granicę.

 

Testowanie oprogramowania Zapewnienie jakości oprogramowania
Zapewnie jakości pojedynczego produktu w ramach jednego lub wielu projektów Zapewnienie jakości produktu na poziomie procesu
Odpowiedzialność testera oprogramowania lub kierownika do spraw testów Odpowiedzialność inżyniera lub kierownika zapewnienia jakości
Aktywności operacyjne na poziomie wytwarzania oprogramowania Aktywności definiujące na poziomie organizacyjnym
Aktywności monitorowania na poziomie produktu Aktywności monitorowania na poziomie procesu, standardu lub modelu
Przed rozpoczęciem projektu: szczątkowe czynności weryfikujące testowalność założonych wymagań Przed rozpoczęciem projektu: rozbudowane czynności definiujące proces wytwarzania oprogramowania i inne procesy z nim powiązane w tym: definiowanie czynności, wzorców dokumentacji projektowej
Przed rozpoczęciem projektu: szczątkowe czynności prewencyjne mające na celu wykrycie defektów typowych w danej organizacji lub dla danego typu projektu/produktu Przed rozpoczęciem projektu: pełne czynności prewencyjne mające na celu zapewnienie wiedzy i umiejętności uczestników procesu w wytworzeniu oprogramowania
W czasie trwania projektu: prewencyjne działania mające na celu eliminację defektów zanim zostaną one przeniesione z wymagań na inne dokumenty W czasie trwania projektu: prewencyjne działania sprawdzenia w jakim stopniu projekt posuwa się do przodu zgodnie ze zdefiniowanym wcześniej procesem
W czasie trwania projektu: weryfikacja poprawności implementacji poszczególnych produktów i półproduktów (np. poprawność implementacji względem wymagań) W czasie trwania projektu: weryfikacja zgodności poszczególnych produktów i półproduktów za zgodność z procesem (np. zgodność dokumentu wymagań z dokumentem wzorcowym)
Po zakończeniu projektu: czynności zamykające testowaniu i podsumowujące jakość wytworzonego oprogramowania. Po zakończeniu projektu: czynności zamykające projekt i podsumowujące jego zgodność z procesem. Analiza wyniku projektu (zakończony sukcesem, częściowym sukcesem lub zakończony niepowodzeniem) i usprawnienie procesów dla dalszych projektów.

 

Wąska definicja opisana powyżej może zostać dodatkowo rozdzielona na dwie części. W takim przypadku mówimy o testowaniu jako o procesie weryfikacji jakości i walidacji wymagań.

Testowanie, podobnie jak ziemia - nie jest płaskie. Co więcej jest wielowymiarowe, a poszczególnych składowych możemy wyróżnić wiele:

- wymiar czasowy – ile mamy czasu na testowanie?

- wymiar finansowy – jakie mamy środki finansowania testowania?

- wymiar produktowy lub subproduktowy – jaki produkt testujemy i w jaki sposób?

- wymiar ludzki – w jaki sposób pozyskujemy siły do testowania?

- itd.

 

 

18364

Powiązane szkolenia

05-06
czerwca
2023
Jarosław Hryszko
online
Praktyka testowania
1 750PLN
Testowanie aplikacji internetowych
12
Wolnych miejsc
Rezerwuj
06-07
marca
2023
Arnika Hryszko
online
Praktyka testowania
1 770PLN
Testowanie użyteczności
9
Wolnych miejsc
Rezerwuj
20-21
kwietnia
2023
Rafał Stańczak
online
Dobre praktyki testowania
1 700PLN
Testowanie w metodykach Agile
12
Wolnych miejsc
Rezerwuj
23-24
marca
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
1 770PLN
Testowanie aplikacji mobilnych - Android
9
Wolnych miejsc
Rezerwuj
12-13
czerwca
2023
Krzysztof Skarbiński
online
Automatyzacja testowania
1 800PLN
Testowanie REST API dla początkujących w języku python
10
Wolnych miejsc
Rezerwuj
27-28
lutego
2023
Krzysztof Kołodziejczyk
online
Języki programowania dla testerów
1 800PLN
JavaScript dla testerów oprogramowania
9
Wolnych miejsc
Rezerwuj
24-26
kwietnia
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
3 000PLN
Tester gier
11
Wolnych miejsc
Rezerwuj
13
marca
2023
-09
kwietnia
2023
Krzysztof Kołodziejczyk
online
Automatyzacja testowania
5 500PLN
Praktyka automatyzacji testowania
5
Wolnych miejsc
Rezerwuj

To powinno Cię zainteresować