Gezien het wel een erg lang verhaal wordt stel ik eerst even de vraag:
Weten jullie tools en/of methodieken om functionele fouten te controleren of voorkomen?
De reden voor deze vraag is als volgt:
De afgelopen jaren ben ik steeds "dieper" in ERP/CRM aan het werk gegaan. Mijn werk hierin is meestal vooral het vertalen van bedrijfsprocessen naar functionaliteit in de software. In sommige gevallen hoort daar echter ook het bouwen van een stuk maatwerk of een uitgebreide rapportage. Dit is - afhankelijk van de klant - soms Python, soms Java, toch wel vaak SQL, soms VB.net en soms komt QlikView, Pentaho of Crystal Reports voorbij.
Gisteren heb ik bijvoorbeeld een rapport gebouwd dat afwijkingen op machineplanningen (+ achterstanden op die planning) leest en op basis hiervan capaciteit uitrekent, zodat nauwkeurig bepaald kan worden wanneer er weer ruimte is in de productie van klant in kwestie. Het technische deel is zo nu en dan de kern van mijn probleem:
Situatie
Vanochtend testte ik mijn rapport en ontdekte hierbij dat er - volgens mij onterecht - één van de zeven dagen van een week in één specifieke week niet meegenomen werd in mijn berekening. Ik ben hierop door de code gaan spitten (deze is uiteraard netjes voorzien van een procesbeschrijving in comments, zodat ik weet waar ik zit) en had na het weergeven van enkele variabelen op specifieke momenten de volgens mij-bug eruit. Na een uur ombouwwerk bleek ik een workaround gebouwd te hebben voor inconsistentie in de gegevens (onderliggende planningsdatabase), dit moet dus niet
Ik heb dus wéér een uur weggegooid aan nodeloos werk omdat ik blijkbaar het overzicht niet houd; het lukt mijn brein niet om variabelen in mijn hoofd even te "vullen" en zo de code door te lopen om te kijken wat er onder bepaalde omstandigheden gebeurt. Ik ben niet de beste programmeur (of eigenlijk geen programmeur), maar hier moeten toch meer mensen last van hebben?
Wat heb ik al geprobeerd?
Ik heb al een aantal keer gegoogled en ook al diverse topics in de Devschuur door zitten spitten (waaronder de FAQ), maar ik vind vooral tools en methodieken die van toepassing zijn op puur technische missers (syntaxis, performance, inconsequentie). Waar ik tegenaan loop produceert geen foutmeldingen, ik loop echter wel het risico dat m'n klant incorrecte gegevens gepresenteerd krijgt en daarmee op de verkeerde manier z'n bedrijf gaat sturen.
Hoe werk ik nu?
Mijn werkwijze is (bij de uitgebreidere klussen) momenteel als volgt:
- eerst schrijf ik het probleem/de klantvraag uit (als m'n klant dat niet al gedaan heeft);
- daarna probeer ik in een soort flowchart helder te krijgen welke stappen ik een stuk maatwerk of een rapport wil laten maken;
- vervolgens zoek ik uit welke gegevens ik wil presenteren (zodat ik weet welke tabellen in de db of db's ik nodig heb);
- dan bouw ik een model om de data te verzamelen indien nodig;
- hier bouw ik vervolgens de query/queries in;
- op basis hiervan probeer ik de mogelijke uitersten te beredeneren en vul deze in als testdata;
- daarop bouw ik aan de hand van m'n flowchart een stuk maatwerk of rapport;
- hierna volgt uiteraard een aantal tests op basis van mijn eigen data en de klantdata.
Wat zoek ik?
Software waarmee ik een functioneel ontwerp wat "dieper" door kan kijken dan een (vrij in te vullen) flowchart, methodieken die te gebruiken zijn om fouten te voorkomen, dingen die bijv. een softwaretester in z'n standaardhandelingen heeft zitten maar waar ik nog lang niet aan gedacht heb, boeken over dit onderwerp en alle andere tips die me zouden kunnen helpen.
Weten jullie tools en/of methodieken om functionele fouten te controleren of voorkomen?
De reden voor deze vraag is als volgt:
De afgelopen jaren ben ik steeds "dieper" in ERP/CRM aan het werk gegaan. Mijn werk hierin is meestal vooral het vertalen van bedrijfsprocessen naar functionaliteit in de software. In sommige gevallen hoort daar echter ook het bouwen van een stuk maatwerk of een uitgebreide rapportage. Dit is - afhankelijk van de klant - soms Python, soms Java, toch wel vaak SQL, soms VB.net en soms komt QlikView, Pentaho of Crystal Reports voorbij.
Gisteren heb ik bijvoorbeeld een rapport gebouwd dat afwijkingen op machineplanningen (+ achterstanden op die planning) leest en op basis hiervan capaciteit uitrekent, zodat nauwkeurig bepaald kan worden wanneer er weer ruimte is in de productie van klant in kwestie. Het technische deel is zo nu en dan de kern van mijn probleem:
Situatie
Vanochtend testte ik mijn rapport en ontdekte hierbij dat er - volgens mij onterecht - één van de zeven dagen van een week in één specifieke week niet meegenomen werd in mijn berekening. Ik ben hierop door de code gaan spitten (deze is uiteraard netjes voorzien van een procesbeschrijving in comments, zodat ik weet waar ik zit) en had na het weergeven van enkele variabelen op specifieke momenten de volgens mij-bug eruit. Na een uur ombouwwerk bleek ik een workaround gebouwd te hebben voor inconsistentie in de gegevens (onderliggende planningsdatabase), dit moet dus niet
Ik heb dus wéér een uur weggegooid aan nodeloos werk omdat ik blijkbaar het overzicht niet houd; het lukt mijn brein niet om variabelen in mijn hoofd even te "vullen" en zo de code door te lopen om te kijken wat er onder bepaalde omstandigheden gebeurt. Ik ben niet de beste programmeur (of eigenlijk geen programmeur), maar hier moeten toch meer mensen last van hebben?
Wat heb ik al geprobeerd?
Ik heb al een aantal keer gegoogled en ook al diverse topics in de Devschuur door zitten spitten (waaronder de FAQ), maar ik vind vooral tools en methodieken die van toepassing zijn op puur technische missers (syntaxis, performance, inconsequentie). Waar ik tegenaan loop produceert geen foutmeldingen, ik loop echter wel het risico dat m'n klant incorrecte gegevens gepresenteerd krijgt en daarmee op de verkeerde manier z'n bedrijf gaat sturen.
Hoe werk ik nu?
Mijn werkwijze is (bij de uitgebreidere klussen) momenteel als volgt:
- eerst schrijf ik het probleem/de klantvraag uit (als m'n klant dat niet al gedaan heeft);
- daarna probeer ik in een soort flowchart helder te krijgen welke stappen ik een stuk maatwerk of een rapport wil laten maken;
- vervolgens zoek ik uit welke gegevens ik wil presenteren (zodat ik weet welke tabellen in de db of db's ik nodig heb);
- dan bouw ik een model om de data te verzamelen indien nodig;
- hier bouw ik vervolgens de query/queries in;
- op basis hiervan probeer ik de mogelijke uitersten te beredeneren en vul deze in als testdata;
- daarop bouw ik aan de hand van m'n flowchart een stuk maatwerk of rapport;
- hierna volgt uiteraard een aantal tests op basis van mijn eigen data en de klantdata.
Wat zoek ik?
Software waarmee ik een functioneel ontwerp wat "dieper" door kan kijken dan een (vrij in te vullen) flowchart, methodieken die te gebruiken zijn om fouten te voorkomen, dingen die bijv. een softwaretester in z'n standaardhandelingen heeft zitten maar waar ik nog lang niet aan gedacht heb, boeken over dit onderwerp en alle andere tips die me zouden kunnen helpen.
[ Voor 8% gewijzigd door kakanox op 09-01-2013 10:10 . Reden: wat duidelijker, typo's ]
Ga toch fietsen.