always have everything proven to work

Post on 27-Jun-2015

2.116 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

About the importance of automatic testing. From my talk held at Techdays by Init at November 27th 2013 in Stockholm, Sweden.

TRANSCRIPT

Always have everything proven to work

November 27, 2013

Always have everything proven to work

November 27, 2013

Always have everything proven to work

November 27, 2013

Always have everything proven to work

November 27, 2013

Always have everything proven to work

November 27, 2013

Daniel Stenberg

Email: daniel@haxx.seTwitter: @bagderWeb: daniel.haxx.seBlog: daniel.haxx.se/blog

● Free Software● Network hacker● Embedded developer● Blabbermouth

Agenda● Some trends in software and open source 

backed by some data

● How it looks like out there

● What's important to take from this and what it means for you and me

● What the future holds

Feel free to interrupt

Object, ask, comment when you feel like it.

What's happening now?● More of everything!

More devices with CPUs● Printers● TVs● Set­top boxes● Cars● Phones and tablets● Fridges, toasters and washing machines?● CPUs are cheap and capable enough● When I was young ...

Devices with CPUs

1993 2013

0

many

More CPUs with software● More full fledged CPUs● More Linux on your average CPU● More “common” software in 

CPUs● 37 billion ARM chips, “a million 

PCs a day” ...

32 bit processors sold

1993 2013

0

many

MIPS per die

http://www.r-bloggers.com/cpu-and-gpu-trends-over-time/

1993 2013

0

many

More software is open source

● Embedded OS: 2 to 1● Linux is defacto by chip vendors● Internet servers● Phones, Routers, Printers, Tvs and 

cars

The future is open source

2009 ­ 26% believed more than 50% of purchased software will be open source within 5 years

2013 – 62% believes more than 50% of purchased software will be open source within 5 years

The 2013 Future of Open Source Survey Results – Black duck

Open source adoption

1993 2013

0

many

More open source● The term coined 1998● Number of projects virtually 

doubled every year since

More open source projects

1993 2013

0

many

http://dirkriehle.com/publications/2008-2/the-total-growth-of-open-source/

More open source projects

http://dirkriehle.com/publications/2008-2/the-total-growth-of-open-source/

Software grows bigger

… and do so very fast

Bigger software: Linux● Unix 1.0 (1971) 10,000 lines● Linux 2.2 (1999): 2 million lines● Linux 2.6.0: 5 million lines● Linux 3.1: 15 million lines● Linux 3.12: 20 million lineshttp://www.informationisbeautiful.net/visualizations/million-lines-of-code/

Other big software● Eclipse: 20 MLOC● Firefox: 9 MLOC● Android: 12 MLOC● Chrome: 7 MLOC● MySQL: 12 MLOC● GCC: 7 MLOC● PHP: 2 MLOC● glibc: 1 MLOC● Mac OS X “Tiger” : 85 MLOC● Windows Vista: 50 MLOC● Facebook: 61 MLOC

Lines of source code

1993 2013

0

many

More releases over time● Producers and users want tighter 

release cycles● Switch hardware platform more 

often● Use more commodity hardware● Increase code re­use

Release frequency● Linux kernel, every 9 weeks● Firefox, every 6 weeks● Chrome, every 6 weeks

“We're going to be getting new versions of Windows, we're told, about every 12 to 18 months or so (the number varies a bit depending on the source), instead of every three to five years.”

New products per time

1993 2013

0

many

More● More devices with CPUs● More CPUs per device● More CPUs with software● More software is open source● Bigger software● More releases per time

Tomorrow...

Most of these trends are ongoing with no signs of slowing down...

Coping● Make sure the code is always 

good● Lower thresholds for releasing● Release even more often● Use and do open source

The most important factor for OSS adoption

The 2013 Future of Open Source Survey Results – Black duck

Quality in an age of speed

Non­stop automatic testing

Maintain quality

Be able to release often

Build on every commit

Test on every 

platform

Even cross­compiled

On a fully cross­compiled linux distro, “make test” isn't straight forward

Ptest –  is one way to fix this. For Yocto / OpenEmbedded

Daily snapshots and git

Kids today wants the latest now. 

Give it to them or get replaced.

Let problems be known● Alert on IRC● Email the proper people● Show status on web sites

Fix problems at once● Be able to release soon● Users will get and use the latest● Others will push out their changes 

soon and they need to be tested and must not be blocked by your bugs!

Summing up● Everything is happening more and faster 

than ever● Software and open source are bigger 

than before and are growing more● People want the latest immdiately after 

changes have been pushed● Test your stuff to keep the users.● Automatic testing is the only viable 

option.

Thank you!

Questions?

daniel.haxx.se

top related