Prawa Murphy'ego a jakość oprogramowania

Prawa Murphy'ego a jakość oprogramowania
Prawa Murphy'ego to popularne powiedzenia, które sprowadzają się do jednego głównego powiedzonka: "Wszystko co może pójść źle, pójdzie źle". Sprawdza się to zarówno w całej informatyce, jak i w testowaniu.

Jeśli przełożyć to na testowanie, to łatwo znajdziemy tu uniwersalne prawa testowania.

 

"Jeżeli myślisz, że idzie dobrze – na pewno nie wiesz wszystkiego." - błędne przekonanie o bezbłędności.

"Jeżeli udoskonalasz coś dostatecznie długo – na pewno to zepsujesz." - czyli poprawki dla defektów powodują nowe defekty.

"Niemożliwe jest zbudowanie niezawodnego urządzenia – głupcy są zbyt pomysłowi." - użytkownik zawsze zaskoczy nas swoją pomysłowością.

"To, czego szukasz, znajdziesz w ostatnim spośród możliwych miejsc." - ... a szukasz defektów.

"Złota zasada Murphy'ego: Zasady określa ten, kto ma złoto." - najważniejsze zdanie na temat tego czy produkt działa czy też nie należy do sponsora projektu.

Prawo Wylera: "Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam." oraz Prawo Greena: "Wszystko jest możliwe pod warunkiem, że nie wiesz o czym mówisz." - kierownik projektu: "znajdź wszystkie defekty".

Prawo Liebermana: "Aby oszacować czas potrzebny na wykonanie jakiegoś zadania należy przewidywany czas pomnożyć przez dwa i przyjąć jednostkę o rząd wyższą." - estymacja testowania.

Prawo Fetta: "Nigdy nie powtarzaj udanego doświadczenia." - testowanie regresywne tylko po zmianie.

"Pesymista to dobrze poinformowany optymista." - testowanie daje nam informacje.

"Istnieją trzy rodzaje kłamstw: kłamstwa odruchowe, powszechne oraz testy komputerowe." - egzamin ISTQB?

"Człowiek, który uśmiecha się, gdy sprawy idą źle, myśli o człowieku, na którego można zwalić winę." - programista kontra tester.

 

Cały zestaw reguł odnoszących się do defektów w oprogramowaniu:

  • Systemy złożone wykazują skłonność do popełniania kompleksowych błędów. Systemy proste wykazują zaś skłonność do popełniania elementarnych błędów.
  • Stare systemy produkują stare błędy.
  • Nowe systemy produkują tak nowe, jak i stare błędy.
  • Dążąc do posiadania coraz to nowszych wersji programów należy pamiętać, że nowa wersja, to stary program z nowymi błędami.
  • Systemy złożone wykazują skłonność do zakłócania realizacji własnych funkcji.

  • W świecie komputerowego przetwarzania danych żadna awaria się nie kończy, ponieważ przechodzi zawsze w następną.

  • Awaria komputera wyczekuje cierpliwie na najbardziej niedogodny moment, aby bezlitośnie zaatakować.

  • Drobne awarie nie istnieją. Jeżeli miała jednak miejsce drobna awaria, oznacza to, że nie poznałeś jeszcze jej rzeczywistych rozmiarów.

  • Tylko niepotrzebny nikomu program przebiega bez zakłóceń.

  • Program kalkulacyjny, który daje właściwy i przyjazny wynik – kłamie.

  • Wyjątki są liczniejsze od reguł.

  • W każdym programie błędy wykazują skłonność do występowania w tym miejscu, które sprawdzasz jako ostatnie.

  • Dowolne urządzenie uszkodzone w dowolny sposób (z wyjątkiem całkowitego zniszczenia), będzie doskonale działało w obecności wykwalifikowanego personelu naprawczego.

  • Natura jest zawsze po stronie ukrytych wad.

 

... i na koniec Prawo Testera: "Uśmiechnij się… jutro będzie gorzej".

 

Wszystkie cytaty pochodzą z:

http://pl.wikiquote.org/wiki/Prawo_Murphy%27ego

http://pl.wikiquote.org/wiki/Prawa_Murphy%27ego

 

Historię Praw można przeczytać na Wikipedii: http://en.wikipedia.org/wiki/Murphy%27s_law