{"id":3330,"date":"2014-10-24T09:02:53","date_gmt":"2014-10-24T08:02:53","guid":{"rendered":"http:\/\/www.traineebloggen.se\/?p=3330"},"modified":"2014-12-09T12:43:11","modified_gmt":"2014-12-09T11:43:11","slug":"automattest","status":"publish","type":"post","link":"https:\/\/www.traineebloggen.se\/index.php\/2014\/10\/trainee\/automattest\/","title":{"rendered":"Automattest"},"content":{"rendered":"<p>Nu har det automattestats i n\u00e5gra veckor och det har varit riktigt kul, s\u00e5 jag t\u00e4nkte relatera lite grann av vad jag l\u00e4rt mig \u00a0om att skriva automattester den senaste tiden.<\/p>\n<p>Automattestning skiljer sig \u00e5t fr\u00e5n manuell testning p\u00e5 n\u00e5gra nyckelpunkter. Den stora f\u00f6rdelen med automattester \u00e4r naturligtvis att det inte kr\u00e4vs en m\u00e4nsklig testare f\u00f6r att exekvera testerna, och att det d\u00e4rmed g\u00e5r betydligt snabbare. Detta inneb\u00e4r att man kan s\u00e4tta upp automattester som k\u00f6rs varje g\u00e5ng ny kod blir incheckad och kan upplysa teamet om potentiella problem med f\u00f6r\u00e4ndringen tidigt. Tar det f\u00f6r l\u00e5ng tid att k\u00f6ra igenom den totala testupps\u00e4ttningen kan man v\u00e4lja ut nyckeltester som k\u00f6rs kontinuerligt och enbart k\u00f6ra alla tester \u00f6ver natten eller p\u00e5 \u00e4nnu l\u00e4ngre sikt. Dessutom garanterar automattester att de k\u00f6rs exakt enligt specifikationen varje g\u00e5ng, medan en m\u00e4nniska l\u00e4tt kan gl\u00f6mma att testa vissa detaljer.<\/p>\n<p>Automattester har dock svagheter, och den sista punkten \u00e4r b\u00e5da en styrka och en svaghet. Nackdelen med att ha ett test som f\u00f6ljer specifikationen exakt \u00e4r att det inte l\u00e4mnas n\u00e5got utrymme f\u00f6r variation och kreativitet i testprocessen. Testet garanterar att funktionaliteten som testet t\u00e4cker fungerar, men existerar en bugg som triggas av att man varierar indatan lite grann kommer testet inte detektera den. En m\u00e4nsklig testare skulle \u00e5 andra sidan kanske naturligt variera indatan varje g\u00e5ng, och d\u00e4rmed ha st\u00f6rre chans att trigga problemet. Manuell testning till\u00e5ter dessutom st\u00f6rre flexibilitet, testaren \u00e4r medveten om vilka f\u00f6r\u00e4ndringar som introducerats till systemet \u00f6ver tid och kan ta h\u00e4nsyn till det i testproceduren. Ett automattest kan d\u00e4remot snabbt bli obsolet, och i b\u00e4sta fall inneb\u00e4r det att testet fallerar trots att systemet fungerar och i v\u00e4rsta fall passerar det och d\u00f6ljer faktiska problem. Tillsammans med den relativt h\u00f6ga tidskostnaden f\u00f6r att skriva testerna till att b\u00f6rja med kan utveckling och underh\u00e5llning av automattester ta betydligt mer tid \u00e4n de \u00e4r v\u00e4rda, s\u00e5vida testerna inte har h\u00f6g &#8220;impact&#8221;, dvs att de har stor chans att detektera buggar om de uppst\u00e5r.<\/p>\n<p>Detta g\u00f6r uppgiften att skriva bra automattester b\u00e5de utmanande och rolig. Att fundera ut vilka typer av tester man ska investera sin dyrbara tid i att skriva \u00e4r en i allra h\u00f6gsta grad kreativ process. Det kr\u00e4ver att man \u00e4r b\u00e5de djupt insatt i hur produkten man bygger \u00e4r t\u00e4nkt att fungera och att man har f\u00f6rst\u00e5else f\u00f6r vilka tekniska faktorer som tenderar att leda till felk\u00e4llor.<\/p>\n<p>Vi h\u00f6rs!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nu har det automattestats i n\u00e5gra veckor och det har varit riktigt kul, s\u00e5 jag t\u00e4nkte relatera lite grann av vad jag l\u00e4rt mig \u00a0om att skriva automattester den senaste tiden. Automattestning skiljer sig \u00e5t fr\u00e5n manuell testning p\u00e5 n\u00e5gra nyckelpunkter. Den stora f\u00f6rdelen med automattester \u00e4r naturligtvis att det inte kr\u00e4vs en m\u00e4nsklig testare [&hellip;]<\/p>\n","protected":false},"author":93,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[394,1],"tags":[395,187,30],"_links":{"self":[{"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/posts\/3330"}],"collection":[{"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/users\/93"}],"replies":[{"embeddable":true,"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/comments?post=3330"}],"version-history":[{"count":3,"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/posts\/3330\/revisions"}],"predecessor-version":[{"id":3333,"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/posts\/3330\/revisions\/3333"}],"wp:attachment":[{"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/media?parent=3330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/categories?post=3330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.traineebloggen.se\/index.php\/wp-json\/wp\/v2\/tags?post=3330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}