Monday, May 17, 2010

In the End, End-to-End is Everything

Enterprises of any significant size depend on extensive software portfolios to operate. I know of several who manage more than two hundred applications and at least one whose inventory exceeds 500. Granted, some of these are small departmental systems, but many support mission critical operations. And, of course, most of these are undergoing continuous changes in the form of corrections, enhancements and updates. This results in a constantly shifting production landscape.

Yet software testing disciplines are almost exclusively focused on individual applications within the context of a given project. Traditional V-model approaches track the software development process for a particular system, for example, and while they may touch upon interfaces it is only for those systems directly connected. Even user acceptance testing is usually organized and performed within silos, with each participant focused on his or her area of expertise.

But the reality is that many of these systems are interconnected. Even if there is no direct interface, they may share data that originates elsewhere and terminates somewhere else, perhaps several applications removed. Thus, a change to one area often has unforeseen effects in another, and generally accepted test practices are not designed to uncover them.

The result is that even a well-tested application can wreak unexpected havoc once in production, and this is what keeps management up at night.

The solution, obviously, is testing end-to-end. That is, following information all the way from its origination to its termination, as in Order to Cash, Procure to Pay, and Hire to Retire. And even among these mega processes there are interrelationships: raw materials are procured that are processed by plant employees into finished goods for sale. Extensive integration is both the benefit and the curse of enterprise applications.

So why isn’t end-to-end testing widely practiced?

First, because it’s complicated. The fact is that enterprises are organized around functional silos and few, if any, truly understand all of the interconnections and relationships among them. Not everyone may even be aware of the existence of some systems, let alone how they affect, or are affected by, others. It takes a lot of diligence to identify the right end-to-end scenarios, then ferret out the right resources for each silo, then coordinate them all into a meaningful workflow.

Second, because it’s hard. Effective end-to-end testing requires a robust and controlled test environment that can reproduce – or at least simulate – production. This means installing the vast majority of the software portfolio and providing for both internal and external interfaces, either live or simulated. It also requires provisioning test data that is both comprehensive and coherent so that the flow of data from one end to the other is consistent. None of this is easy.

And, finally, it takes a lot of time. Just the logistics of coordinating each functional resource to perform their respective tasks in the right order is time-consuming. In one case it took five calendar days to execute one cycle of Order to Cash, most of it lost to the hand-off between people from role to role. This is often the showstopper, because once an application has completed its project and related testing, it is usually on a fast track to production. Or, even worse, the change is actually a fix to a problem that has created an emergency. But whatever the reason, changes may be made daily and typical end-to-end testing takes far longer. The result is that most end-to-end issues aren’t discovered until production.

But it doesn’t have to be that way.

End-to-end testing can be achieved and performed regularly, even daily. The key is to adopt the right strategy, implement the right tools, and enlist the right team.

Adopting the right strategy means including end-to-end testing as part of an overarching approach for every application. This means doing the analysis to understand the sources and uses of data for any application to reveal both immediate and far-flung interfaces. It also means applying risk analysis to understand which systems have the potential for critical operational impact, and making sure the test repository is kept current and updated as changes are made.

Implementing the right tools means deploying an automation solution that enables extensive end-to-end testing to run lights-out every night if necessary. In the above example of Order to Cash taking five days to execute manually, the same process was automated using Worksoft Certify…and it executes in less than a minute. How? No wait time, think time or hand-off time. Just rapid, error-free execution that is fully documented. This type of speed means hundreds of extensive end-to-end tests can be executed for each and every change before it reaches production.

And automation isn’t just for execution. Just knowing what changes have been made and what impact they may have on critical business processes is itself a challenging task. Wading through arcane release notes or change notifications or IT tickets is tedious enough, but even assuming you can understand what they say it doesn’t mean you can tell what the impact might be. Solutions like the Worksoft Transport Analyzer can simplify and accelerate the entire change impact analysis process so you know for sure what to test.

Enlisting the right team means not just finding and recruiting the right experts for each functional silo, but also assembling a centralized test team that can coordinate the human, hardware and software resources necessary to make end-to-end testing a reality.

Granted, even with these factors in place it won’t happen overnight. The key is to remember that even a little end-to-end testing is better than none, and all the time you will save from avoiding even one production crisis can be reinvested to continually expand your scope. With patience, effort and commitment you can eventually arrive at the point where your end-to-end execution validates hundreds of your most critical business processes...while you sleep, soundly.

26 Comments :

Blogger 火吟 said...

What must be must be.......................................................

May 29, 2010 at 6:58 PM  
Blogger 陳逸群 said...

一個人最大的敵人常是自己。 ............................................................

June 11, 2010 at 1:55 AM  
Blogger BryannaR22369 said...

we‘re so proud of you!............................................................

June 14, 2010 at 7:00 PM  
Blogger SadeRa盈君iford0412 said...

看看blog放鬆一下,工作累死了................................................................

June 18, 2010 at 6:14 AM  
Blogger 曉薇 said...

感謝您寫下您的生活,也是把珍寶來和諸君分享的心意。.................................................................

June 23, 2010 at 8:38 AM  
Blogger 王邦鈺 said...

良言一句三冬暖,惡語傷人六月寒。.................................................................

June 27, 2010 at 2:35 AM  
Blogger GlenS_Mielke12嘉偉17 said...

Poverty tries friends..................................................................                           

June 27, 2010 at 3:23 AM  
Blogger 瑞尹 said...

Pen and ink is wits plough. ....................................................................

June 30, 2010 at 3:41 PM  
Blogger 貴寶 said...

It takes all kinds to make a world.............................................................

July 4, 2010 at 2:15 AM  
Blogger 王名仁 said...

人有兩眼一舌,是為了觀察倍於說話的緣故。............................................................

July 8, 2010 at 12:14 AM  
Blogger 佳皓佳皓 said...

hi!~~leave you a message to say hello, and thanks for your share!..................................................................

July 10, 2010 at 6:02 AM  
Blogger 陳韋夏陳韋夏益東富益東富 said...

很榮幸能到你的BLOG留言o^~^o..................................................................

July 10, 2010 at 6:04 AM  
Blogger 芸茂芸茂 said...

來幫忙拼人氣~Go Go Go..................................................................

July 12, 2010 at 6:19 AM  
Blogger 偉倫s倪陳合恭陳陳sgdgd陳 said...

希望我的支持可以帶給你快樂--加油.............................................................

July 14, 2010 at 7:11 PM  
Blogger 雲亨雲亨雲亨 said...

Accept that some days you are the pigeon, and some days you are the statue.............................................................

July 17, 2010 at 1:08 AM  
Blogger 宥妃宥妃 said...

愛看您的新文章!加油!............................................................

July 19, 2010 at 5:13 PM  
Blogger bur蔡ge佳ssal郁berto said...

要求適合自己的愛情方式,是會得到更多,還是會錯過一個真正愛你的人。.................................................................

July 25, 2010 at 12:19 AM  
Blogger 童祖如童祖如 said...

Learning makes a good man better and ill man worse.............................................................

July 27, 2010 at 9:20 PM  
Blogger 張志亦劉美玲 said...

幫你推個文~~期待更新!加油啊!............................................................

July 30, 2010 at 10:54 PM  
Blogger 張陳俊凱柏 said...

一個人的價值,應該看他貢獻了什麼,而不是他取得了什麼....................................................

August 3, 2010 at 1:11 AM  
Blogger 淑倫惟芳 said...

Learning makes a good man better and ill man worse.............................................................

August 5, 2010 at 10:40 PM  
Blogger 基韬 said...

一棵樹除非在春天開了花,否則難望在秋天結果。............................................................

August 8, 2010 at 6:14 PM  
Blogger 偉曹琬 said...

男女互悅,未必廝守終生,相愛就是美的。.................................................................

August 11, 2010 at 1:13 AM  
Blogger 孫邦柔 said...

在莫非定律中有項笨蛋定律:「一個組織中的笨蛋,恆大於等於三分之二。」............................................................

August 13, 2010 at 1:02 PM  
Blogger 于庭吳 said...

你的部落格很棒,我期待更新喔............................................................

August 15, 2010 at 3:01 PM  
Blogger 1615 said...

累死了…來去看看文章轉換心情~............................................................

August 17, 2010 at 8:33 PM  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home