Selitykset · kolme

Näin testaamme, kokonaisuudessaan

Julkaisemme vertailuja muiden ihmisten ohjelmistoihin, joten menetelmän on oltava tarkistettavissa. Tässä se kokonaan: koneet, sisältö, asetukset jotka kukin asiakasohjelma saa, ja säännöt jotka ratkaisevat lasketaanko ajo tulokseksi vai heitetäänkö se pois.

Koejärjestely

Sama kone, sama yhteys, sama sisältö

Jokainen vertailun asiakasohjelma ajetaan yhdellä koneella, samoja palveluntarjoajia vasten, samalla sisällöllä, saman kierroksen sisällä. Mitään ei kanneta edelliseltä päivältä.

Sääntö joka ratkaisee kaiken

Asiakasohjelmaa arvioidaan tiedoston perusteella, ei sen oman tilaviestin perusteella

Tämä on tämän sivun kaikkein tärkein asia. Jokainen kierros päättyy siihen että etsitään suurin asiakasohjelman tuottama tiedosto, mistä tahansa sen tulosteesta, ja lasketaan siitä tiiviste tunnetusti oikeaa kopiota vasten. Koko ja MD5, joka kierroksella, ei otoksena.

Teemme näin siksi että asiakasohjelman oma ilmoitus onnistumisesta ei ole luotettava todiste. Olemme mitanneet asiakasohjelman ilmoittavan done työstä jonka tulostehakemisto oli tyhjä. Olemme mitanneet toisen ilmoittavan Completed toimitettuaan raakoja arkiston osia joita se ei koskaan purkanut. Laajassa käytössä oleva korjaustyökalu päättyy virhekoodiin onnistuneen korjauksen jälkeen. Kukaan näistä ei valehdellut; tilamerkkijonot yksinkertaisesti tarkoittavat eri tekijöille eri asioita, ja vertailu joka luottaa niihin mittaa sanastoa eikä käyttäytymistä.

Maaliviiva on siis kaikille sama: sisältö on olemassa, oikean kokoisena, oikealla tiivisteellä. Jos asiakasohjelma pysähtyy ennen sitä, se ei saa aikaa, ja koko sarake merkitään sen sijaan että se jätettäisiin hiljaa pois. Hidas ohjelma joka pääsee maaliin pärjää paremmin kuin nopea joka ei pääse, ja taulukon pitää sanoa se.

Tästä seuraa että maaliin pääsemättömyys on tulos, ei meidän virheemme. Kun julkaisemme sellaisen, kuvaamme lopputilan yksinkertaisin sanoin, mukaan lukien kaiken mikä viittaa siihen että se koskee juuri tätä työtä eikä ole yleinen, ja kerromme mitä ohjelma teki maaliin pääsemisen sijaan.

Järjestys ja toisto

Miksi kierrokset vuorottelevat, ja miksi yksittäisiä ajoja ei julkaista

Palveluntarjoajien läpäisy vaihtelee minuutista toiseen, joskus kaksin- tai kolminkertaisesti. Kaksi eri aikaan otettua mittausta mittaavat osittain säätä.

Siksi ohjelmat ajetaan peräkkäin ja lomitettuna, ja järjestys kääntyy toistojen välillä, jottei mikään ohjelma ole aina se joka menee ensimmäisenä lämpimälle tai kylmälle yhteydelle. Tulos on toistojen yli näkyvä kuvio, ei paras ajo. Kun hajonta on suuri, julkaisemme vaihteluvälin sen sijaan että keskiarvo peittäisi sen, ja jos emme tiedä miksi ohjelman luvut hajaantuvat, sanomme sen sen sijaan että keksisimme syyn.

Eri kierrosten välisiä vertailuja vältetään aina kun mahdollista. Jos väite vaatii kaksi lukua, ajamme mieluummin molemmat uudelleen samalla kierroksella kuin vähennämme yhden päivän luvun toisen päivän luvusta, koska koejärjestelyn tila, palveluntarjoajien olosuhteet ja ohjelmaversiot kaikki ajautuvat. Kun vertaamme kahta omaa koontiversiotamme, molemmat ajetaan samalla kierroksella, vuorotellen, samalla sisällöllä.

Kiiltämättömät tarkistukset

Mitä ajetaan ennen jokaista kierrosta ja sen aikana

Useimmat näistä ovat olemassa siksi että hiljainen vika tuotti kerran terveen näköisen, julkaisukelpoisen ja väärän luvun. Jokainen ajetaan nyt automaattisesti ja pysäyttää kierroksen sen sijaan että varoittaisi.

Kun ohjelma tarvitsee tiettyjä asetuksia suoriutuakseen hyvin, se saa ne, ja kierros kertoo mitkä. Esimerkkejä: pyyntöjen putkitus päällä siellä missä ohjelma toimitetaan se pois päältä, kaksoiskappaleiden tarkistus pois päältä kun sama työ ladataan toistuvasti, ja purkuapuohjelmat otettuna ohjelman omasta paketista järjestelmäkopion sijaan. Tavoitteena on että kukin ohjelma mitataan parhaimmillaan eikä oletusasetuksillaan, sillä oletusasetukset ovat kykyyn nähden erillinen keskustelu.

Mitä emme tee

Näiden lukujen rajat