Some time ago I've written a portal in pure PHP for controlling test laboratory of C# applications. The whole testing process is based on a framework of our own production. TestSuites are run from Windows Scheduler that fires up AutoIt processes. AutoIt scripts clone a Virtual Machine. Later TestComplete 8.1 scripts are run on this VM. All actions are stored in Firebird Database engine.
The environment maintains a couple of Semaphores that are used for starting Virtual Machines. Clones are set up to start with a specific IP address that is later changed according to a dynamic list. Remote commands are sent to Windows guests via STAF (Software Testing Automation Framework). Semaphores prevent Virtual Machine clones to start at once and mix up their IP addresses and Host names.
The Virtual Laboratory portal includes:
- viewing running tests
- viewing today's tests
- viewing current week's tests
- viewing tests that ended with an error
- viewing tests from a specific time period
- viewing global testing log from today
- viewing global testing log from this week
- viewing the list of semaphores and their status
- viewing Virtual Laboratory statistics (run tests and their results, percantage of success etc)
(all tests are divided into Test Suites that are divided into TestCases)
- viewing TestCase's/TestSuite's notes
- "count statistics" - fires up firebird's recalculation of indexes on "statistic's tables"