"Testowanie i sprawdzenie poprawione"

"Testowanie i sprawdzenie poprawione"
Eksperci testowania oprogramowania starli się na argumenty, pogrążyli się w rozmowie, by wspólnie znaleźć różnicę między tym, co ogólnie nazywamy testowaniem i tym, co określa się jako automatyzacja (sprawdzanie). James Bach, Michael Bolton oraz Ian McCowatt opisali to w osobnych postach na swoich blogach. Prezentujemy esencję ich wniosków.

 

Testowanie i używanie narzędzi to dwie podstawowe charakterystyki człowieka.

W każdej dziedzinie i w każdym obszarze narzędzia, których używamy zmieniają nie tylko nasze otoczenie, ale również to, jak pracujemy i jak żyjemy.

Narzędzia używane są również w testowaniu, co stanowi wyzwanie dla każdego testera.

Zwiększona presja, szybkie testowanie zmuszają do powszechniejszego użycia narzędzi.

Testowanie oprogramowania jest czynnością wykonywaną przez człowieka-testera. Tak jak programowanie jest wykonywane przez programistę.

Sprawdzenie jest działaniem, jakie narzędzie testowe może wykonać. Tak jak kompilowanie jest wykonywane przez narzędzie programistyczne.

Nikt nie mówi o manualnym i automatycznym programowaniu. Jest programowanie i są działania wykonywane przez narzędzia. To, co robią narzędzia do programowania nie nazywamy już programowaniem.


Można więc stworzyć nowe definicje:

Testowanie - proces oceniania produktu poprzez uczenie się go w drodze eksperymentu, które uwzględnia: odpytywanie, studiowanie, modelowanie, obserwację oraz interferowanie.

Sprawdzanie - proces oceny poprzez zastosowanie algorytmicznych reguł decyzyjnych dla konkretnych obserwacji produktu.


Z powyższych wynikają następujace stwierdzenia:

  • Testowanie obejmuje sprawdzanie, gdzie sprawdzanie nie obejmuje testowania.
  • Sprawdzanie wykonywane jest przez narzędzie, gdzie testowanie może być jedynie wspierane narzędziami.
  • Testowanie jest niekończącą się inwestygacją, gdzie sprawdzanie jest szybkim sprawdzeniem faktu oraz reguł powiązanych z tym faktem.
  • Sprawdzanie nie jest tym samym co potwierdzanie.
  • Sprawdzanie jest często mylone z testowaniem, a celem autorów jest wyjaśnianie tej różnicy.
  • Sprawdzanie można zawsze opisać, gdzie w testowaniu nie zawsze jest to możliwe.
  • Asercja jest sprawdzaniem, ale nie każde sprawdzanie jest asercją.
  • Sprawdzanie nie jest złą rzeczą, ale jest jedynie taktyką testowania.



Sprawdzanie wykonywane przez człowieka kontra sprawdzania wykonywane przez maszynę

Sprawdzanie wykonywane przez ludzi jest próbą podążania za algorytmicznym procesem, gdzie w sprawdzeniu wykonywanym przez maszyny narzędzia są tym procesem. Jeśli każesz człowiekowi wykonywać zestaw instrukcji, które nie są możliwe do ukończenia, w którymś momencie człowiek zmieni swoje działania albo zrezygnuje. Maszyna tego nie potrafi.

Ludzie mogą wykonywać umowtywowane działania, maszyny mogą prezentować zaprogramowane zachowania.

 


Zaproponowana wizualizacja dla testowania (testing), sprawdzania wykonywanego przez człowieka (human checking), sprawdzania wykonywanego przez maszynę (machine checking) oraz obszaru wspólnego, w którym człowiek i maszyna współpracują przy sprawdzaniu (human/machine checking).


 

 

Wpis Jamesa Bacha znajdziecie tutaj: http://www.satisfice.com/blog/archives/856
Wpis Michaela Boltona znajdziecie tutaj: http://www.developsense.com/blog/2013/03/testing-and-checking-redefined/

Wpisy te zostały skonfrontowane z praktycznymi przykładami przez Iana na stronie: http://exploringuncertainty.com/blog/archives/1026
 

Zachęcamy do przeczytania oryginałów!
 

6592

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
11
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ć