Shoot the programmer
June 13, 2012 —
(Page 1 of 2)
A friend of mine, who is an experienced venture capitalist in the tech sector, once stunned me by claiming, “You need two people to write great code. One to program, and one to shoot the programmer when he thinks that he is done.”
At the time, this seemed to be a little extreme... but...
Today’s software, particularly business software, is fundamentally complex. Enterprises have wide-ranging requirements, demand many different features, and require constantly evolving functionality. On top of this, businesses need their systems to be flexible, and to provide their users with a host of options.
Hasso Plattner, the former CEO of SAP, once responded to the question posed by one of his clients, “Why is your software so complex?” with the remark, “If you were prepared to make your business less complex, then I could make my software simpler.”
It is challenging to construct software that supports all the features desired by businesses, spanning multiple functions, industries and geographies, in one product. When you add in the need to refine and refactor code, as well as to keep up with changing regulations, technology and trends, it is sometimes surprising that any usable business software ever gets shipped. Hence the sentiment behind my friend’s observation: The job of a programmer is never-ending, and to ship a product, there needs to be some external mandate.
Of course, it is one thing to finish development, but it is quite another to release finished software. There is not a developer alive who writes flawless code, so the completed code needs to be tested, which prompts the question: Just how much testing is needed? When I was once a pup programmer working for a U.K. defense contractor, the government auditors would check our code by counting up the number of conditions (i.e., the “if” statements), and check that at least one formal test condition existed for each one.
Today, at iBE.net, with our codebase extending toward 1,000,000 lines of code, applying such a rigid test methodology is both impractical and inconsistent with agile. Just within our mobile app (50,000 lines of code), there are some 3,500 conditions (“if” or “case” statements). Assuming a rate of 1 test per second, it would take 23,500 seconds to exhaustively test all conditions just within our mobile app. To test all the code, with all its combinations and permutations, would take a longer time than the universe has currently been in existence (which, incidentally, is estimated to be approximately 4 x 10^17 seconds).
Related Search Term(s): testing
Share this link: http://sdt.bz/36712
Most Read
Latest News
Resources
SAP unveils SAP HANA platform innovations for Big Data and spatial processing
Features include smart data access and expanded cloud deployment options
|
|
|
Alteryx raises $12 million to put Big Data analytics in the hands of all business analysts
Quest founder's firm, Toba Capital, selects Alteryx as its first analytics investment
|
|
|
Google I/O kicks off
Developers get new APIs and tools, and the Go language hits version 1.1
|
|
|
Jelastic launches new version of its Java and PHP hosting platform
Jelastic today announced the launch of a new version of its ultra-scalable cloud hosting platform
|
CollabNet fuses CloudForge, TeamForge
New pricing structure and integration gives developers an enterprise-grade choice for dist...
|
|
|
Eclipse release train for Kepler arrives June 26
New version of Eclipse includes Stardust for business process management, and Orion 3.0 fo...
|
|
|
Google I/O kicks off
Developers get new APIs and tools, and the Go language hits version 1.1
|
|
|
Enterprises going mobile get first ALM platform
Solstice Mobile releases AppLauncher for native app development and deployment on multiple...
|
IDC MarketScape: Worldwide Cloud Testing and ASQ SaaS
Demand for solutions to test applications on the cloud and for the cloud is rising signifi...
|
|
|
Get to Know the Database Decision Factors
What should you look for when choosing a relational database system? This informative arti...
|
|
|
Exploring the Database Forest
Today’s database technology landscape is more dynamic and varied than ever before. What’s...
|
|
|
Data Management Resource Guide
Today’s data is generated by more than just applications. Data is generated by trillions o...
|