Category: Ohjelmistotestaus

  • 42 kilometrin pika-aidat

    Sydän hakkaa 201 lyöntiä minuutissa. Paita on läpimärkä ja hiki nostaa kyynelet silmille. Päässä jyskyttää, koska korvissa kohisee armoton fyysinen suoritus. Keuhkoissa polttelee ja oksettaakin. Sprintti oli kova. Onneksi myös kunto kesti maksimisuoritusta aiotun matkan.

    Ohjelmistokehityksemme on agilea. Sovellamme Scrumia

    Näillä sanoilla alkaa suurin osa keskusteluista, joissa käsitellään kehitysprosessia. Kun asiaan syvennytään, niin kehitys paljastuukin kolmivaiheiseksi speksaus-devaus-testaus-rumbaksi. Oikeasti se on siis sarja vesiputouksia.

    Yksi agilen tärkeimmistä ajatuksista on, että kehitystä tehdään sopivan kokoisina siivuina. Niin, että kunto riittää sprintin toisensa jälkeen. Siksi minusta on kummallista kuulla kerta toisensa jälkeen kuinka kehityssyklin pituus on 4-8 viikkoinen.

    8 viikon sprintti on kuin juoksisi 42km pika-aidat.

  • Testaustako? Mitä välii?

    Testaustako? Mitä välii?

    Naapurin lasten mehukauppa on se alkuperäinen liikeidea. Ainakin kuvainnollisesti. Se on bisnes, joka perustuu tuotteen saatavuuteen paikallisesti. Mehunjanoiset naapuruston ihmiset saapuvat kuumana kesäpäivänä ostamaan tuoreeltaan puristetun virvokkeen ja hinta ei ole keskeinen tekijä ostopäätökselle. Nakkisämpylä tekee kauppansa jääkiekkopelissä hintaan ja laatuun katsomatta ja popcornit on kätevintä ostaa elokuvateatterin aulasta.

    article-0-1B0B3BB6000005DC-768_634x431

    Toinen tapa tehdä liiketoimintaa perustuu hyödykkeisiin. Palveluun tai tuotteeseen, jota voi ostaa etäältä ja myös muilta. Mehuja myydän myös marketissa. Kilpailu on kovaa. Lopulta uusi Mehukauppa.com lyö laudalta kaikki hyllymyymälät. Litrahintaan perustuva liiketoiminta on jatkuvasti vaakalaudalla. Kuka tahansa mehunvalmistaja saattaa tuoda markkinoille saman tavaran entistäkin edullisemmin.

    Nykyaikainen ja vahvimman selkänojan omaava liiketoiminta perustuu ihmisiin. Niihin, jotka välittävät. Se rakennetaan fanipoikien ja -tyttöjen varaan. Mehuyhteisö jakaa uusia reseptejä keskustelupalstoilla, he pitävät mehutapaamisia eri puolilla maailmaa ja viikottainen uutiskirje tuo kuumimmat mehu-uutiset yhteisölle. Liiketoimintaa alkaa syntyä, kun mehuyhteisö haluaa pukea päälleen samanlaiset T-paidat ja juoda mehunsa samanlaisista mukeista. He haluavat tukea uuden mehukirjan julkaisua, osallistua hyväntekeväisyystempauksiin, tilata uuden 30 päivän mehudieetin tai ostaa puhelimeen uuden mehumittari™ -appsin.

    Miten tämä sitten pätee ohjelmistoliiketoimintaasi?

    Paikallisuuteen ja täsmätarpeeseen tuleva softasi ostettaisiin, koska on pakko. Kulmilta ei saa muutakaan ja liiketoiminta kukoistaisi… kunhan se nyt vaan toimisi. Hyödykeperusteisessa tilanteessa tuotteesi kunnolla alkaa olla jo merkitys, koska heikko taso tarjoaa paikan kilpailijasi iskuille. Ja sitten nykyaikaan. Siinä tulevat ihmiset. Yhteisösi, joka välittää.

    Välittämistä on syytä vaalia, sillä tie on kaksisuuntainen. On huolehdittava, että tuotettasi on ilo käyttää. Että bugi päivässä ei pilaa liiketoimintasi selkärankaa. Ihmisten luottamusta siihen mitä sinulla on tarjota.

  • Pyykkäriä tympii

    Olen vuokrannut Helsingistä kalustetun yksiön. Sijainti on vallan loistava ja varustus riittävä. Saunan lisäksi mukavuutena on sisäpihalle avautuva lasitettu parveke. Kaikki on periaatteessa oivallisesti, mutta tuon hemmetin pyykinpesukoneen voisin heittää mäkeen.

    Nimittäin. Osaan laittaa sen hienosti päälle oikealla ohjelmalla. 40°C ja vajava kaksi tuntia on oivallinen ohjelma kerran pidettyjen vaatteiden pesemiseen. Osaan myös käyttää ajastinta!

    Mutta HELVETTI SENTÄÄN en ole ollenkaan varma, että miten sen koneen saa auki pesun jälkeen.

    Kun ohjelma on valmis, alkaa kone piipata. Jos painan virtanappia, se saamarin lukitusta kuvaava punainen logo on ruudulla. “Ehei, ei tätä vielä voi avata!” Odottelen muutaman minuutin, mutta valo ei sammu, eikä magneetilla toimiva lukko aukea. Virta päälle ja pois. Hyvä idea. Paitsi että silloin ohjelma alkaa alusta.

    Ohjelman voi kyllä laittaa tauolle, mutta sitä ei voi keskeyttää. Ja se lukko.Se pysyy kiinni. Joskus olen saanut luukun auki aivan sujuvasti, mutta en oikein tiedä miksi. Nyt näppäsin töpselin irti pistorasiasta, mutta eipä auta. Luukun lukko ei aukea. Eikä oikein lekaakaan viitsisi käyttää, koska sukat ja kalsarit eivät todennäköisesti ole särjetyn luukun arvoisia. Sitä paitsi asunnon varustukseen ei kuulu lekaa.

    Älä koskaan tee softaa, joka saa käyttäjän tuntemaan itsensä tyhmäksi. En halua olla tyhmä. Siksi en ikinä osta itselleni LG:n valmistamaa pyykinpesukonetta.

  • Milloin kannattaa testata?

    Testaaja. Tuo aikamme Nostradamus ja tulevaisuutemme moukarimies, on tuohtunut ja pyörittelee peukaloitaan.

    Mitä aikaisemmin testauksen aloittaa, sitä parempi.

    Kehittäjä. Tuo aikamme Picasso ja tulevaisuutemme arkkitehti, ei kuitenkaan ole vielä valmis. Lähelläkään.

    Eihän keskeneräistä kannata testata.

    Todellisuus on kuitenkin toinen. Molemmat ovat hirveitä kiihkoilijoita. Ääripäissä testauksen todellinen hyöty jää laihaksi suhteessa investointiin. Optimaalinen alue löytyy siitä välistä.

    20130911-160429.jpg

    Päätös testauksen aloittamisesta kannattaa tehdä kuulemalla molempia. Lopuksi kannattaa valita sopiva keskitie.

  • Lataa ja varmista: taistelu showstoppereista?

    Olen intohimoinen pelaaja, kuten viimeviikon tekstistäkin saattoi päätellä. Pelasin taannoin Biowaren tarunhohtoisen Mass Effect -pelisarjan oikein kunnolla ja tunteella.

    Aivan alussa hypätään komentaja Jack Shepardin saappaisiin ja lähdetään tutkimaan avaruutta SSV Normandy -nimisellä aluksella. Pian Shepard joutuu tapahtumien keskiöön, sillä hän löytää viitteitä muinaisesta pahuudesta, joka uhkaa tuhota elämän koko galaksissamme.

    Tietenkään kukaan ei usko Shepardia. Sankarin viittaa kantaen hän alkaa koota ympärilleen liittolaisia paljastaakseen pahan alkuperän. Tukijoukot ovat eri alojen ehdotonta eliittiä. On tekniikan tuntijoita, sotureita ja taikureita joka lähtöön.

    Lopulta paha saa hämmentävästi softabugia muistuttavat kasvot ja vihollisen tuhoaminen voi alkaa.

    Reaper

    Mass Effect, kuten niin monet muutkin roolipelit toistavat tutun tarinan kaaren.

    1. Yksinäinen sankari kohtaa pahikset, mutta kukaan ei usko
    2. Sankari kokoaa ympärilleen liittolaiset
    3. Yhdessä kerätään todisteet ja pahis paljastetaan
    4. Lopuksi käydään eeppiseen viimeiseen taisteluun voitosta!

    Kun asiaa pysähtyy tarkemmin ajattelemaan, niin joudun pyytämään anteeksi. Väitin taannoin, että testaajan työn tärkein tulos ovat bugit. Latteaa ja tylsää. Työtä, jolta puuttuu tarkoitus.

    Itseasiassa Shepardin tarina kertoo myös testaajan arkipäivästä. Eeppisen tason show stopper -bugeista löytyy yleensä aluksi vain hento aavistus. Viitteet sen olemassaolosta saadaan testaamalla. Liittolaiseksi täytyy värvätä softakehitystiimistä asiantuntijoita. Lopulta eeppinen bugi paljastetaan ja koko tiimin yhteisellä ponnistuksella se tuhotaan.

    Aivan sama vedätkö aamulla päällesi säihkyvän haarniskan, avaruuslaivaston univormun tai printtipaidan ja pellavahousut. Tärkeintä on asenne! Testaajan työ on suojella liiketoimintaa eeppisiltä uhkakuvilta!

  • Eeppisten voittojen äärellä

    10.000 tuntia pelaamista. Kuka sellaista jaksaisi? Sehän tarkoittaa täysipäiväistä työtä kuuden vuoden ajan. Kuitenkin jo tavallinen tämän päivän 21 vuotias on tuon rajapyykin saavuttanut. Vertailukohtana todettakoon, että esimerkiksi Amerikkalainen koulujärjestelmä istuttaa nuorisoa koulun penkillä yhteensä 10.081 tuntia. Siis saman verran!

    Malcolm Gladwell kirjoitti taannoin nyrkkisäännön tästäkin aiheesta. Gladwellin mukaan guruksi tuleminen vaatii noin 10.000 tuntia työtä oman alan parissa. Siksipä herääkin kysymys, missä tämä kaveri on guru ja miksi?

    epic win face

    Kuvan kasvoilla näkyy aavistus pelonsekaista jännitystä, mutta samalla kiihkeää keskittymistä jonkin hyvin vaikean ongelman ratkaisemiseksi. Toinen pelaaja voi tunnistaa henkilön tunnetilasta vielä herkempiäkin sävyjä. Henkilön silmiltä ja suun asennosta kuvastuu selvästi optimistista toiveikkuutta. Lisäksi ilme on aavistuksen yllättynyt.

    Kyseessä on pelaaja, joka on eeppisen voiton äärellä. Hän on saavuttamaisillaan jotain juuri ja juuri mahdottoman rajamailla olevaa suuremmoista voittoa. Hurja keskittyminen ja työskentely palkitaan tuolla hetkellä. Eeppisten voittojen äärellä työskentelevä pelaaja on poikkeuksetta ihannetyöntekijä:

    1. Häikäisevän tehokas ongelmanratkaisija
    2. Äärimmäisen sosiaalinen tiimipelaaja
    3. Innokas ja proaktiivinen ammattilainen
    4. Suuremmoisen tarkoituksen ajama

    Tämä tarkoittaa sitä, että juuri tuon kaltaisen ilmeen haluaisin nähdä myös yhä useamman testaajan kasvoilla. Mielellään vielä villien tuuletusten saattelemana. Testaajan työn eeppinen voitto ovat bugit, joita me kutsumme kuitenkin tylsästi nimellä show stopper.

    Päivittäinen testaustyö on pelitermeillä sanottuna hemmetin tylsää putkijuoksua. Se on kovin usein regressiotestien ja testitapausten harmaaksi sävyttämä maailma, jossa eeppiset voitot ovat juuri ja juuri sormien ulottumattomista. Ei motivoi ihan hirveästi.

    Miksi eeppisen bugin metsästys sinun projektissasi on ulottumattomissa? Mikä estää sinua lähtemästä metsälle? Raivaamalla esteet yksi kerrallaan, parannat varmasti myös testaustyönne tuloksia.

  • Miten hittibiisit syntyvät?

    Juttelin Ammattitestaajan kanssa tällä viikolla taas testauksesta. Hän kertoi varsin inspiroivan tarinan, jonka haluan nyt jakaa eteenpäin.

    Vuonna 1980 18-vuotias Jon Bon Jovi kirjoitti hittibiisin Runaway ja pääsi jopa äänittämään biisin oikealla studiolla serkkunsa suhteita käyttäen. Jon vei demonsa useaan levy-yhtiöön, mutta aina sama juttu – he eivät tykänneet miehen musiikista eivätkä itse miehestäkään liiemmin.

    Reilun pari vuotta Bon Jovi naputti päätänsä seinään kun ei hommat lähteneet rullaan ei sitten millään, kunnes… Jostain mies oli saanut idean toimittaa biisinsä uudelle New Jerseyläiselle radioasemalle WAPP 103.5FM, jolla sattumoisin oli käynnissä uusien rock-kykyjen etsintäkilpailu. Runaway liipastiin radioaalloille ja se oli siinä!

    Kyseinen biisi soi tänäkin perjantaina lukemattomissa baareissa ja klubeilla kautta maailman yli 30 vuotta biisin kirjoittamisen jälkeen.

    Näin toimivat menestystarinat. Jon Bon Jovi oli kuullut, että “oikea” tapa päästä musiikilla menestykseen on päästä levy-yhtiön listoille mukaan ja tekemään edelleen levytyssopimuksen. Tämä malli ei Bon Joville toiminut ei sitten vaikka mitä teki. Bon Jovi valitsi toisen, täysin yllättävän ja ennakkoluulottoman reitin. Niin vain napsahti kaikki palaset kohdilleen silloin kun sitä vähiten odotti.

    Tämän tarinan Ammattitestaajamme kertoi siksi, että päästäisiin heti kärkeen irti vanhoista malleista ja ajatuksista. Se mikä on toiminut jollekin toiselle, niin ei välttämättä toimi meille. Se mikä toimii meille voi olla jotain mitä muut eivät ole vielä edes nähneet.

    Ohjelmistotestauksessa ei ole olemassa mitään salaista kaapuunpukeutuneiden oppineiden neuvostoa, joka tietää miten testaus tulee tehdä oikein. Ehkä juuri siitä syystä akateemista testauskoulutusta ei vieläkään ole ja ehkä juuri siksi sitä ei edes tule.

    Minulta kysytään usein, että mitä kursseja ja kirjoja testausgurun tulee kahlata. En koskaan osaa vastata kunnolla, sillä en oikeasti edes tiedä. Sen sijaan suosittelen kahta asiaa.

    Opettele oppimaan ja opettele ajattelemaan itse. Maailman paras testaustyökalu löytyy oman pääsi sisältä. Kerää työkalupakkiisi kunnon kokoelma testauksen periaatteita. Rakenna niistä palikoista testaus, joka palvelee juuri sinua ja suojelemaasi liiketoimintaa.

  • Kertakäyttöinen ohjelmistotestaaja

    Opettele puhumaan testauksesta. Opettele osoittamaan testauksen merkitys ja arvo myös liiketoiminnalle. Kertomaan mitä hyötyä siitä todella on ja miksi. Opettele myymään työsi ja perustelemaan arvosi. Markkinoi guruutesi ja tee se hyvin.

    Meistä kaikista ei vain ole siihen! -kuuluvat vastaukset.

    Ei olekaan. Se on totta. Mutta tässä kohtaa tulee kertakäyttöisen ja korvaamattoman ero. Testaaja on kertakäyttöinen niin kauan kun hän tekee työnsä “ihan hyvin”. Ihan hyvä testausasiantuntija laatii testisuunnitelmat, huolehtii testitapausten dokumentoinnista ja pitää regression poissa omalta tontilta.

    Jostain syystä kaikessa projektitohinassa käy helposti niin, että ihan hyvin hoidettu testaus tekee testaajista kertakäyttöisiä. Testaajan voi vaihtaa. Ajatellaan, että tulokset eivät kärsi. Otetaan joku junnu tekemään testit speksistä tai ostetaan työ jostain halvemmalla.

    Kuinka usein tämä ajatusmalli pelaisi koodauksessa?

    Projektikokemus, lukeminen, opiskelu ja kokeilu tekevät testaajasta paremman. Se on kiistatonta. Mutta se yksin ei turvaa testaaja työtä. Sillä pääsee puolimatkaan irti kertakäyttöisyydestä.

    Lisäksi tarvitaan ammatillinen maine sekä talon sisällä, että tuolla ulkona! Jokainen voi tuplata mahdollisuutensa IT-alan työmarkkinoilla, mutta se vaatii henkilökohtaisen panoksen.

    Maineesi rakentaminen vaatii työtä ja rohkeutta. Se vaatii sinulta irtiottoja tutun turvallisesta projektiympäristöstä: Kirjoittaminen, puhuminen, opettaminen ja ääneen lausuttu visiosi testauksesta ovat maineesi rakennuspalikoita.

  • Juhannustaikoja testaajalle

    Viihdyn paljon kiehtovien blogien parissa ja ryöstelen hyviä juttuideoita häikäilemättömästi. Eräs tuore tuttavuus on hauska “This is not the life I ordered” -blogi.

    Toisinaan kohdalleni sattuvasta saamattomuudesta innostuneena minuun iski inspiraatio. Ryöstän idean mainitusta blogista. Tehdään Juhannustaikoja! Näitä testausguruilta keräiltyjä taikoja saa kokeilla vapaasti.

    1. Jos heität Juhannusyönä testausbudjettisi kaivoon, niin kehittäjäsi saavat syksyllä sammutella kokkoja.
    2. Jos käynnistät testausprosessin Juhannusyönä, saatat ehtiä Joulumarkkinoille.
    3. Jos automatisoit kaiken testauksesi Juhannuksena, voit elonkorjuun aikaa nähdä unessa laadukkaan softan.
    4. Jos et Juhannusyönä testaa, niin kuolema sinut mestaa.
    5. Jos pääsee Juhannusaattona alennusmyynteihin, niin paskat ohjelmistotestauksesta.

    Hyvää Juhannusjuhlaa ja rentouttavan aurinkoista kesälomaa rakkaat lukijat! Blogi palaa aalloille jälleen elokuun alussa.

    P.S. Lisään hyviä taikaehdotuksia listalle lennosta, joten niitä saa lähtettää Twitterin, Facebookin tai kommenttien kauttakin 🙂

  • Lahjaton ohjelmistotestaaja

    Olin vasta lahjaostoksilla. Yleensä helpoin ratkaisu on heilahtaa Alkoon ja napata joku kiva pullo pakettiin. Nyt lahjan saaja oli kuitenkin tunnetusti vaativa simasuu. Hän harrasti viskien maistelua.

    Palloilin tyhmän näköisenä hyllyjen välissä. Vaikka asettamani vaatimus lahjalle oli selvä, niin osaamiseni ei riittänyt toteutukseen. Onneksi Alkon valveutunut henkilökunta riensi apuun ennen kuin säntäsin kauhuissani karkuun tuosta valintojen maailmasta.

    “Pullo lahjaksi intohimoiselle viskiharrastajalle.” -sain sanottua.

    Myyjä oli välittömästi tilanteen tasalla. Lempeän ammattitaitoisesti hän johdatteli minut läpi tarkentavien kysymysten viidakon. Ystäväni suosikkijuomien turpeisesta tuoksusta päättelimme, että Islay viski olisi oikea valinta. Budjettiraamistani päättelimme, että Lagavulin pannaan pakettiin.

    Lähdin ostoksille tyypillisen vaatimuksen kanssa aivan kuten ohjelmistohankkeidenkin maailmassa on tapana. Vaatimukseni kuullessaa myyjä ei tarttunut ensimmäiseen pulloon ja lyönyt sitä pakettiin, vaan selvitti määrätietoisesti todellisen tarpeeni. Sen jälkeen toimitus olikin helppo homma.

    Ohjelmistohankkeiden maailmassa vaatimuksia kirjoitetaan, luetaan ja tulkitaan aivan riittävästi. Hämmentävän harvoin niistä kuitenkaan puhutaan samassa suhteessa.

    Vaatimuksia määritellessä tulee ensimmäinen ja minkä tahansa projektin kannattavin tilaisuus napata bugit kiinni. Ennen kuin niistä pääsee syntymään ensimmäistäkään ongelmaa.

    Jos haluat hoitaa projektisi oikeasti laadulla ja aikataulussa, niin järjestä myös testauksen edustaja mukaan vaatimuskeskusteluun. Vain lahjaton testaaja on tuossa tilanteessa höydytön.