User:Mevans/EnvironmentNote

From MozillaWiki
Jump to: navigation, search

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
     }
  }
}