Archive for November, 2008

Drastic times require drastic action

Friday, November 28th, 2008

By Paul Gasparro

The economic downturn in the U.S. has hit every industry including high tech. Sun Microsystems (18% of workforce), Teradyne (5% of workforce), National Semiconductor (330 people), and Applied Materials (1,800 people). The list goes on in the telecom ecosystem that MapleWorks is part of. Gigaom identified dramatic cuts at Nokia (600), Motorola (3,000), and Nortel (10% of its work force).

In spite of the layoffs, tech companies are under pressure to get products to market with reduced staffs. How does the CEO address this issue? The answer is not to nibble at the problem, but to take drastic actions. The aggressive action will create an environment of rethinking the going forward model. So instead of cutting 10% or even 20%, set a plan to cut by 30% or 40%.

With this plan in place, the next move is to take advantage of Canada’s excellent telecom R&D skills and cost advantages. Working with MapleWorks Technology gives you access to the best development resources available in the world (see Larry Dignan’s report on Gartner findings) at a cost reduction of up to 40% from the US resources, and on the same continent.

An experienced engineer in the US will cost a company about $200K (salary, benefits, overhead) annually. This means that a staff of 20 represents a $4M fixed expense. The company could reduce the staff by 75%, and add 15 people in Canada at a cost of about $90K per person annually. The new expense rate will be $2.4M, or about 40% less. The quality and efficiency of the staff will not suffer. Future staff additions can be made at MapleWorks without losing a beat from the development perspective, and without investing in the capital associated with typical US hiring.

(Paul Gasparro is Co-founder and Vice President of Business Development for MapleWorks – the smart choice for on-shore software development.)

Private companies are also feeling the hatchet. The October 21, 2008 edition of VentureWire Alert identified a whole batch of layoffs. Online video company Heavy Inc.cut 14% of its staff, online wiki provider Wikia Inc. has laid off about than 10% of its staff in a “restructuring,” and other companies to announce layoffs in recent days include Hi5 Networks Inc., Pandora Media Inc., SearchMe Inc., Zillow.com, Zivity Inc., AdBrite Inc., Jive Software Inc., Redfin Corp., and Seesmic Inc. These companies are under pressure to reduce burn rates and preserve cash. The prospects of getting more are poor.

The pressure is being applied as Venture Capitalists are being pressured by their limited partners to conserve cash. These limited partners are in many cases forced to rethink their high risk investment strategy as their portfolios dwindle with the sinking of the stock markets. Hence they are hedging on their commitments to fund the VC’s, or in some extreme cases trying to recover previously committed funds. VCs have adopted a combat field position. Save the bleeding companies with a reasonable chance of survival, let the dying companies die, and let the walking wounded stay in pain. This philosophy was best articulated at a Sequoia Capital at a now well-documented meeting with all its portfolio companies on Oct. 7 to warn them that the “good times” were over.

Test Automation – A Solution from Mapleworks

Wednesday, November 19th, 2008

By David Zinman

To expedite development and quality assurance cycles, many software projects incorporate automated testing. Automation of testing can greatly reduce phase times and reduce costs for the any outsourced or internal project. By analyzing the way test automation is done, Mapleworks has developed a solution called Mapleworks Automated Testing System or MATS.

What is required from a test automation system?

  1. The ability to run different types of tests:
    • Unit testing
    • Full system testing
    • Integration testing
    • Regression testing
    • Performance testing
  2. Consistency and reliability
  3. Observable detailed results with comparison ability
  4. Flexibility – test and test suites

At Mapleworks we’ve found some practical problems with test automation. Take the case of a long and involved test script. These types of scripts can be recorded by a test platform or created manually with a sustained effort. If an essential piece of functionality has to be modified, then the script must be re-recorded or re-factored in some way. And say this modification is applicable to several different places in the delivery, the cost rises exponentially to the quality assurance cycles.

At Mapleworks, we have designed a novel approach to solving this problem. Using the TestComplete platform, we have added an abstraction layer that takes an arbitrary label and points it to each testable object. This de-couples the test script and testing engine from the tested program.

What we can now do is record an intricate test procedure, convert it to a MATS (Mapleworks Automation Test System) script and create the mapping file for the testable components.

An added benefit from this architecture is that the QA team can write tests before the project is completed. All that is required to run testing suites is the mapping file to be filled in with the actual component internal name which can be obtained using the TestComplete ‘map object from screen’ tool.

The mapping syntax is straightforward: an arbitrary descriptive name, its object type (button, list, etc), and its component internal name which is implementation specific.

Sample Component Definition File:

Template Editor|Catalogs, Tab,.WinFormsObject(’WindowDockingArea’, ”, 3).Pane.Panes.item[1]

Template Editor|Catalogs|=Catalogs|,Copy,WinFormsObject(’TemplateEditorFramework’). WinFormsObject(’splitContainer1′).WinFormsObject(’SplitterPanel’, ”, 1).WinFormsObject(’Navigation’). WinFormsObject(’CatalogTab’).WinFormsObject(’CatalogFramework’).WinFormsObject(’tableLayoutPanel11′)=WinFormsObject(’FormFramework’).WinFormsObject(’mainContent’).WinFormsObject(’caiTableLayoutPanel1′).WinFOrmsObject(’panel’).WinFormsObject(’CatalogFramework’).WinFormsObject(’tableLayoutPanel11′)

Template Editor|Firewall and QoS|Port Triggering|Table|Service,Table, WinFormsObject(’TemplateEditorFramework’).WinFormsObject(’splitContainer1′).WinFormsObject(’SplitterPanel’, ”, 2). WinFormsObject(’ContentPanel’).WinFormsObject(’PortTriggering’).WinFormsObject(’panel1′).WinFormsObject(’ports’).WinFormsObject(’Port’, ”, %row%+3)

The test script has a similar syntax: the arbitrary descriptive name, an action, and any optional parameters.

Sample Test:

Test=Set Service in Port Trigger to ‘aci’ using drag and drop

Template Editor|Catalogs,Click Template Editor|Catalogs|Services|Tree|TCP,Click
Template Editor|Catalogs|Services|Tree|TCP|,
Find,aci
Template Editor|Catalogs|Services|Tree|TCP|%currentEntry%
,Click
Template Editor|Catalogs|Services|Tree|TCP|%currentEntry%
,Drag, Template Editor|Firewall and QoS|Port Triggering|Table|0|Service

Mats simplifies testing since creating tests does not require programming just simple scripting, the tests are flexible to most application changes, and developers only need modify the script to update, create, and run tests that support changed functionality/implementation.

What can be tested?

  • Files
  • dBs (via ADO)
  • Native Windows applications
  • Web applications
  • Visual properties of controls (fonts, colors etc.)
  • Input/output text (variable text such as user names and fixed text such as prompts for multi-lingual applications)

Here is what the architecture looks like:

Notice that TestComplete is not required to run the tests, the much cheaper TestExecute is all that is needed. At least one instance of TestComplete is required however to record any scripts.

Benefits

There are several advantages that MATS gives to the testing procedure. The use of arbitrary component names permit implementation to be changed without changing tests. Tests are easier to create since they can be written by testers in simple script before the application is available. Testing can easily be performed by developers before committing changes. This assures addition problems are not introduced.

What started as a convenient and cost effective way for an us to offer a value added service has become a product in its own right. We have found customers who are interested in adding this novel approach to automated testing to their QA procedures as a way to cut costs, and expedite testing cycles.