User:Mevans/EnvironmentNote
From MozillaWiki
Scenario One
Below depicts a realistic definition of the testruns for testing the basic platform compatibility matrix for the firefox browser.
Product: FirefoxBrowser {} //================================================================== //==== Define the Environment Types for the compatibility attributes //================================================================== // Environment types have a name with the potential values associated // with the name. // // Note: Not clear if Environment types are associated with a product // or just free floating entities within the system. // list of the support operating systems Environment: OsType { // 8 values Values: {Ubuntu,CentOS,Win2000,WinXP,WinVista,Win7,MacOSLeopard,MacOSSnowleopard} } // support both 32bit and 64bit operating systems Environment: OsArchSize { // 2 values Values: {32bit,64bit} } // what is the initial user profile state for the tests Environment: UserProfile { // 4 values Values: {clean,dirtysmall,dirtymed,dirtylarge} } // what plugins should be installed prior to the start of the tests Environment: InstalledPlugins { // 6 values Values: {Standardset,None,Java,QuickTime,Shockwave,Silverlight} } //=============================================================== //==== Simple test cases to be performed on the support platforms //=============================================================== TestCase: startBrowser {} TestCase: openWebsite {} TestCase: openTabWithKeyBoard{} TestCase: closeTab{} //=============================== //==== Define the Testsuites ==== //=============================== // The SmokeCompatibility suite defines all possible test combinations. // In total, the Environment types represent a total of 384 platform // compatibility test cases. // // OsType(8) * OsArch(2) * UserProfile(4) * InstallPlugins(6) == 384 // // The SmokeCompatibility test suite probably would not in practice be used // in a testrun since we would break the test combinations down by platform // type in other test suites. Also note that in this representation, the // astrix '*' equals all values of the Environment type. TestSuite: SmokeCompatibility { //represents 1536 possible test results Environment: OsType { Values: {*} } Environment: OsArchSize { Values: {*} } Environment: UserProfile { Values: {*} } Environment: InstalledPlugins { Values: {*} } TestCaseList { startBrowser openWebsite openTabWithKeyBoard closeTab } } // define compatibility tests for win platforms TestSuite: SmokeWinSupportedOSes { // represents 24 test case results Environment: OsType { Values: {WinXP,WinVista,Win7} // no longer support win2000 } Environment: OsArchSize { // need to run 32bit and 64bit Values: {*} } Environment: UserProfile { Values: {dirtymed,dirtylarge} } Environment: InstalledPlugins { Values: {Standardset} } TestCaseList { startBrowser openWebsite openTabWithKeyBoard closeTab } } // define compatibility tests for platforms TestSuite: SmokeLinuxSupportedOSes { // represents 4 test case results Environment: OsType { Values: {Ubuntu,CentOS} } Environment: OsArchSize { // only care about 64bit linuxes Values: {64bit} } Environment: UserProfile { Values: {dirtymed,dirtylarge} } Environment: InstalledPlugins { Values: {Standardset} } TestCaseList { startBrowser openWebsite openTabWithKeyBoard closeTab } } // define compatibility tests for platforms TestSuite: SmokeMacSupportedOSes { // represents 8 test case results Environment: OsType { Values: {Leopard,Snowleopard} } Environment: OsArchSize { // need to run 32bit and 64bit Values: {*} } Environment: UserProfile { Values: {dirtymed,dirtylarge} } Environment: InstalledPlugins { Values: {Standardset} } TestCaseList { startBrowser openWebsite openTabWithKeyBoard closeTab } } //================================================================= //==== Define Testcycle For Firefox browser compatibility ==== //================================================================= // The TestCycle BrowserCompatibility represets 36 tests to run using 3 testruns and 3 testers. TestCycle: BrowserCompatibility { Product: FirefoxBrowser TestrunList { TestRun: WinTests { // 24 test case to run Testsuite : SmokeWinSupportedOSes Assigned Tester : Joe Cool } TestRun: MacTests { // 8 test case to run Testsuite : SmokeMacSupportedOSes Assigned Tester : Joe Shmoe } TestRun: LinuxTests { // 4 test cases to run Testsuite : SmokeLinuxSupportedOSes Assigned Tester : Joe Jackson } } }