I want to automate Test machine maintenance work like - software installation/upgrade, OS update installation etc. Instead of writing custom scripts or manually managing each Test Machine, I would like to streamline & automate the process, and centrally manage it.
This is what I am looking for (requirements could change over time):
- Support for Desktop - Windows, Mac OS and Linux systems
- Support for tablet and mobile – Android, iOS (Not required. But nice to have. This may be required in future)
- Ability to Centrally Manage following on Test Machines:
- Windows Updates
- System Settings
- Update/Install Softwares:
- Test related – TestComplete, Fiddler etc.
- Browsers- Firefox, Chrome
- .Net framework
- File System – Adding/removing/updating folders, files.
- Services – Stop, run, restart, install, uninstall
- Snapshot management for VMs (Managed by Hyper-V)
- Also a must have feature is the ability to maintain history of the changes done on each test machine.
- If possible, ability to rollback changes if required.
So let’s say I want to upgrade TestComplete across all my test machines, I should be able to define steps that can be run from a single point on all machines – switch to snapshot -> install new TestComplete version/force update -> update firewall to allow Testcomplete -> reboot machines -> update snapshot.
I am looking for a tool that’s easy to use, scalable, and preferably has a low learning curve .
I would really appreciate any guidance in this area.