Learn, Share and Keep Learning
| Client Server - Testing Marimba - IT Infrastructure Management Application |
|
This application was used to manage IT assets of whole organization. It gives functionality of distributing software in the organization, managing hardware and software assets and making sure that licensing policy is intact. Solution offered by Marimba, can overcome IT challenges of every organization. Typically every organization will have similar issues in managing their IT assets. These issues could be
There were three different modules to deal with these challenges
Inventory Management can be used to maintain hardware and software inventory of the entire organization. In inventory management client component will be installed on all the end points and it will be scanned periodically. During end point scanning, Inventory management will collect hardware information, software information, information about processes etc. This information will be sent to the centralized server and can be accessed from a single place. This module will facilitate the process of software distribution in the entire organization. With the application packager, application can be packaged in a format that can be distributed using subscription module. Subscription module allows you to create software distribution policies and software can be distributed using these policies. For example, your organization might have policies that if a manager joins, he should get Microsoft Project Plan software. Now if any person joins your organization as manager, MPP will be delivered to him. Policy compliance is the module to make sure that policies created in the subscription are enforced properly. This module will make sure that policies are enforced properly using end-point scanning mechanism of Inventory management module.
Testing will be conducted on various platforms with different hardware and software configuration. Testing will be conducted with the packaging of different type of applications. End to end testing will be performed early to find defects in the policy compliance. Test Cases Test cases for these types of application are normally very complex and significant work is involved in setting up the testing environment itself. Typical test cases for this application looks like
There were different variant of these cases in terms of different application, configuration, different distribution policies etc. On top of these combination, this application was developed in Java and was supported on all the major platforms like AIX, HP-UX, Linux, Windows etc. Apart from the normal functional testing we also did Scalability testing. This was done for directory server and database. All these scanner reports were getting stored in the database and user information was maintained in the directory server. We wrote some simple scripts to populate the directory server and used SQL Loader to populate the database. Data files for SQL loader were created using SilkTest. Test Automation It was very challenging experience as far as Test Automation goes. For GUI automation SilkTest was used for windows flavor. For GUI automation on Linux, we tried to use silkbean.jar but could not get the proper results so finally dropped the idea of GUI automation on Unix flavors. Fortunately, for all the activities, there was a command line interface and that allowed us to do automation on Unix flavor as well. We started of with automation from Inventory module on Unix flavors as it was very easy to write shell scripts to get all the information from the system that Inventory module was collecting. Inventory scanner was storing this information in the central database which could be accessed from any web browser. Information of the scanner service could be obtained in the CSV format from this browser. So in a complete automation suite, we were following these steps :
On Windows platform, instead of using Shell Scripts windump was used to get all the information about system. In application packager, most of the cases were related to GUI. Complexity was present in the installation of software using application packager. In this case we were to automate the process of making sure that software installed properly. We did this for some applications and knew what kind of changes will be made in the system after installing this application. Typical operation was to get information from the file system and registry to make sure that application is installed properly. For subscription manager and policy compliance, complete end-to-end automation was not possible. But still all the GUI related parts were handled properly. Since lots of dynamic content was there in the GUI of these applications proper framework was created to handle them as well. For example, In subscription manager you need to select user/group for which you can specify policy and this list will be different for different directory servers and users present in them. But in and all, it was a wonderful experience automating this application. Test Measurement One of the toughest thing in this project was to make sure that all the combinations are covered. There was a provision to support three directory server, two databases and eleven platforms. Making sure that all the combinations are covered was a big task. For this we divided different combinations according to the priority. For example, Active directory with SQL on Windows 2003 was priority one and Active directory with Oracle on Windows NT was priority three. We specified in our release criteria that every major release has to be tested on all the combinations, for minor release all priority one and two issues and patches will be tested on priority one combinations. That way we could manage various combinations effectively. Testing Skills A lot, you need to know, learn a lot of things to test this type of application. You should have good knowledge of all the operating systems, directory servers how to use them, how to create domain controllers, primary and secondary database, shell scripting, SilkTest and what not. I guess working on this type of project can increase your knowledge two folds.
|