Case Study: Automation testing for CMS

The Client

The client is a leading media company which operates one of the most extensive international television businesses in the media industry, delivering quality content designed to inform, entertain and inspire the world.

Business Needs

The company wanted a single offshore partner who could provide a one-stop solution for its Web-interface application which can allow non-technical users to manage process of importing, sharing, and versioning multi-media assets before publishing them to mass media. The system must support the following features:
• Automated templates.
• Integrate with existing Digital Assets Management.
• The WYSIWYG (What You See Is What You Get) editing tools to allow non-technical individuals to create and edit content.
• The ability to track and manage multiple versions of a single instance of content.
• The ability to preview and publish the content to a repository to support access to the content.
• A workflow for article publication.
• Support multiple platforms (WEB, PDA, Mobile and Interactive TV)
• In the maintenance phase, to reduce time to production, it is required to have automation testing for the regression test needed for each production release.

The Challenges

The task of taking a huge database and reshaping it to improve efficiency was a difficult undertaking. FPT Software found that:
• The starting point is a vague set of requirements.
• The system was complex and distributed.
• Extremely communication-intensive type of project.
• Extremely tight-schedule, resulting in a large team.

The Solutions

Since time was as critical as cost savings, FPT Software used its Onsite-Offshore Model and its team of 18 personnel completed the project in 10 months. A team of business analysts was sent to work onsite for 1 month to study the requirements as well as the strong involvement of business users (content producers, process owners, IT department, etc). Once this was completed, the knowledge was transferred to the team to determine areas of design, coding and testing.
The FPT Software team provided an end-to-end Content Management System solution using IBM Websphere 5.0, Oracle 9i and TEAMS 5.0 to develop the system on Sun Solaris 2.9 Server.
The new structure was aimed at exploiting the natural association between lifecycle stages – Development & Testing stages co-locate at off-shore and so do Design & User Acceptance at on-site. The model was conceived along with the client to enable rapid delivery and reaping integration benefits.
Regular conference calls on project management levels to monitor project progress and mitigate risks as well as technical levels to discuss requirements and solutions were conducted through a secure and reliable communication link between the team and client site.
The FPT Software team also supported the client to deploy and maintain the system for 3 months after the acceptance test completed.
For the automation test required, FPT decided to use WATIR (Web Application Testing in Ruby)

The Benefits

• Reducing resource requirements for technical staff, hence saving cost.
• Every non-technical personnel is able to do the job himself. Further, he has complete control over exactly what get published and when it goes live on the public site.
• With the automated publishing process the format and style of every multimedia asset is identical.
• Decentralize the maintenance of site content, reducing bottlenecks.
For the application of WATIR in the project:
Advantages:
• 70% test cases of the project have been covered by WATIR
• Time to regression test for each release reduced to 1 week (it took about 3 weeks in last). The testing script could be re-used in UAT at customer size also, therefore reducing the time to production.
• Quality is improved since now span time of testing reduced, more time for testing/bug fixing, more time for significant cases of the release.
Disadvantages:
• Ruby learning curve for tester.
• Costly to write Ruby testing scripts at the beginning (but cost/time will be saved later on when the scripts are reused and furthermore the test execution time/effort are reduced)
• Ruby only supports IE browser, does not support some UI controls, text length is limited…

Technologies used: 

• J2EE, Oracle 9.2.0.2, Sun Solaris 9, TEAMS 5.0
• HTML, Java, JSP, JavaScript, XML, JSLT 1.0
• Struts, IBM WebSphere 5.0 studio, VSS, ErWin 4.0
• Ruby, WATIR