Shipping buggy code: The most critical skill for a programme

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Shipping buggy code: The most critical skill for a programme

Inlägg av lillahuset »

Vi tar väl en till som passerade idag. Det ligger mycket i vad hen skriver. 8)
http://codingismycraft.com/index.php/20 ... programmer

Edit:
Even the most extensive testing suite, represents an extremely limited subset of all the possible paths that any application is expected to have thus it is simply impossible to believe that in any way we can “prove” it error free with a guaranteed behavior complying to a specific set of rules!

Given the fact that the verification process is asymmetrical to its falsification, induction cannot “prove” anything; although a billion successful tests cannot prove the validity of an application, a single fail is enough to designate it as invalid! The problem lies in how to discover the failing conditions of course and nobody can be sure that they do not exist since it is impossible to test all the possible combinations of variables and execution paths.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32719
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av HUGGBÄVERN »

Hen?! Han heter John och John är ett mansnamn, alltså vore det korrekt att skriva HAN, med A. :x
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av lillahuset »

:D
Användarvisningsbild
Glenn
Inlägg: 33750
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av Glenn »

Fast microsoft har ju garanterat buggfri programvara har vi ju lärt oss innan (av en person på EF), det beror på att deras utvecklare och testare får betalt, det gör att dom blir ofelbara.

Sen är det väl ett större problem idag att man medvetet skeppar buggig ofärdig programvara då marknadsavdelningen har mer att säga till om än utvecklingsavdelningen.
Gimbal
Inlägg: 7918
Blev medlem: 20 april 2005, 15:43:53

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av Gimbal »

Gammal anekdot från jobbet:
En servicetekniker åker till kunden med senaste versionen av mjukvaran till maskinen. Kunden är nöjd, äntligen är alla buggar fixade.

Alla? säger serviceteknikern, det finns säker 20 buggar till som vi inte upptäckt än.

Det skulle han inte ha sagt.
Det gick ända upp till högsta ledningen som i panik hörde av sig till företaget och krävde att de 20 buggarna omedelbart skulle fixas.
Användarvisningsbild
Glenn
Inlägg: 33750
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av Glenn »

gimbal: Man tänker onekligen på den gamla hassan-sketchen "10000 tyska bögar" :D

Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43176
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av sodjan »

Många programvaror kommer med en list med "known bugs"
och med eventuella kända "work-arounds". Speciellt om det
gäller viktiga/kritiska programvaror. Det finns nästan alltid
något som inte fungerar optimalt...
jpalsson
Inlägg: 143
Blev medlem: 20 juli 2012, 13:14:41

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av jpalsson »

Glenn skrev:Fast microsoft har ju garanterat buggfri programvara har vi ju lärt oss innan (av en person på EF), det beror på att deras utvecklare och testare får betalt, det gör att dom blir ofelbara.

Sen är det väl ett större problem idag att man medvetet skeppar buggig ofärdig programvara då marknadsavdelningen har mer att säga till om än utvecklingsavdelningen.
Så har det väl alltid varit, men i och med att det blivit så enkelt att skeppa uppdateringar via internet så chansar man mycket mer.
Spelbranschen håller ju på att dra det där till absurdum, det är ju i vissa lägen närmast alfakopior som skeppas, och man förväntas
dra ner 10-tals gigabyte uppdateringar i flera steg för att allt ska funka.

Det tråkiga är ju att det här har spridit sig även till de som kör embedded, istället för att testa riktigt så skeppar man ofärdig kod och låter
kunderna vara testare.
Exempelvis Ikeas smarta lampor verkar (vad jag förstått på forum) vara en sån produkt.
hummel
Inlägg: 2267
Blev medlem: 28 november 2009, 10:40:52
Ort: Stockholm

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av hummel »

För i alla fall inbyggda system inom rimlig storlek går det att skriva program på ett sådant sätt att man garanterat testar varje rad (100%) kod i programmet.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av lillahuset »

Ja det är ju en vacker tanke och ett bra mål men knappast realistiskt.

Det är väldigt mycket som ska vara felfritt för att slutresultatet ska bli felfritt.
Jag har aldrig haft en kund som har kunnat leverera en korrekt och fullständig specifikation av vad de vill ha.
Jag har aldrig sett en testmiljö som inte har utvecklats med tiden pga att det hittades fel i den.
Jag har aldrig sett tredjeparts programvara som på ett någorlunda trovärdigt sätt har garanterats vara buggfri.
Jag har vid flera tillfällen sett program gå sönder för att utvecklarna har uppgraderat verktyg eller bibliotek. Företrädesvis strax innan deadline.

Inse att vi människor är klåpare, i varierande grad, och kommer troligen att förbli det. Ibland har vi tur och det blir riktigt bra. :)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45265
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av TomasL »

hummel skrev:För i alla fall inbyggda system inom rimlig storlek går det att skriva program på ett sådant sätt att man garanterat testar varje rad (100%) kod i programmet.
Jo, om koden inskränker sig till något hundratal rader typ.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32719
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av HUGGBÄVERN »

Och i ett fåfängt försök att återknyta till texten, så även om en kod är felfri kan ju programmeraren ändå ha missat att pröva sin kod mot alla möjliga scenarier och situationer som "omöjligt kan inträffa".
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av Lennart Aspenryd »

Eftersom, som lillahuset så riktigt påpekar, kunden aldrig lämnar en fullt klar specifikation, är vägen kantat av kast och genvägar.
Vi måste alltså bli bättre på att kommunicera syfte och resurser innan man gör ett program!
Men visst är det ett otyg att man inte går hand i hand med beskrivning av en produkt och dess funktion.
Användarvisningsbild
adent
Inlägg: 4100
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av adent »

TomasL skrev:
hummel skrev:För i alla fall inbyggda system inom rimlig storlek går det att skriva program på ett sådant sätt att man garanterat testar varje rad (100%) kod i programmet.
Jo, om koden inskränker sig till något hundratal rader typ.
Sen infinner sig genast interrupt som kan inträffa lite när som helst och ställa till saker i väldigt specifika fall om man gjort fel...
Nästan omöjligt att hitta sådana fel genom testning.
Användarvisningsbild
swesysmgr
Inlägg: 14158
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: Shipping buggy code: The most critical skill for a progr

Inlägg av swesysmgr »

soundbrigade skrev:Och i ett fåfängt försök att återknyta till texten, så även om en kod är felfri kan ju programmeraren ändå ha missat att pröva sin kod mot alla möjliga scenarier och situationer som "omöjligt kan inträffa".
Det går åtminstone ibland att använda formella metoder och verifiering för att bevisa att systemet inte kan göra fel förutsatt att systemet exakt implementerar modellen. Att göra rätt från början så att säga, motsatt idé mot testning i efterhand.

Vågen av unit test verktyg och liknande tycker jag har ökat slarvandet tyvärr, det blir bekvämare för vissa att inte orka tänka medans man kodar utan hafsa ihop något och hoppas att testningen fångar ev. fel.
Skriv svar