The Client

The client is one of the leaders in configuration audit and control. It enables companies to control risk and increase operational efficiency through its advanced configuration audit and control solutions which detect and analyze all configuration events across the IT infrastructure.

Business Needs

The client has a core product that provides complete control of virtual and physical IT configurations, combining configuration assessment with change auditing in a single software solution for enterprise configuration control. Configuration assessment policies shipped with this product proactively assess and validate IT configurations against internal policies, compliance standards and security best practices, reporting on out-of-policy settings and providing detailed remediation guidance. Once IT gets configurations into a known, good state, customer's proven change auditing helps them maintain it, detecting and alerting IT to improper change. And rich reporting provides immediate visual feedback on IT infrastructure health, supports drilldown to change details, assists in remediation efforts and provides evidence for an audit. This product is frequently maintained and upgraded so the client wants to apply automation testing methodology to their maintenance process. Regarding to this reason, the client choose FPT Software as its offshore partner to maintain this system. At the current stage of maintenance process, each time the product has been changed, the client needs to do a lot of regression tests and it takes a lot of efforts as well as increases maintenance costs. So in this project, they wanted FPT Software to test their product using automation test methodology. With this approach, created test scripts will be reusable and it ensures that the system will provide much precise result according to the business rules of the system. And, this will help the client saving much more efforts and costs during their maintenance process.

Challenges

The first challenge comes from the complexity of the current system. This product is a huge multi platform compatible enterprise software solution with millions line of code. For each period of 3 months, it has a new release. Secondly, automation testing is a large concept while we do not have much experience with this type of testing. We have to identify which parts of the system should be done with automation testing and which parts should not. Thirdly, the system is a multi-platform application so that we need to do the automated test on different platforms and environments. There will be potential issues during testing process.

Solutions

From the beginning of the project, we decided to choose the most stable modules of the application to apply the automation testing methodology. During the first phase, we still did the manual testing by QA to understand the business flows and then we investigated the solution for automated testing. Our project team has 6 members (5 at offshore, 1 at onsite). The onsite member coordinated with the customer’s developers to produce an Automated Testing Framework during 3 months. The main function of this framework is using RMI to hook for objects from business layer, and then using these hooked objects to test. At the end of the first phase we found that the applying of automated testing not only took us 5%-10% to compare with the traditional manual testing but also covered much more middle steps and it made testing much easier.

Benefits

The project got a good evaluation from customer and a very high CSS point. It contributed an appreciated value in the long-term and close relationship between customer and FPT Software. This is illustrated by a contract last till the end of 2012 with FPT Software.

Technologies Used

  • Java Core, Java Bean
  • RMI, SOAP
  • SSH protocol (Secure Shell)
  • CYGWIN
  • Oracle & MS SQL Server
  • Windows, Solaris, Linux