Title: Agile Development and Test Environments
1Agile Development and Test Environments
2Todays Topics
- Goals of the Test Environment
- Reality Check
- Technologies Available
- Applying These technologies
- to Testing Environments
3The Goals of the Test Environment
- We test to ensure ourselves that it will work as
desired in production - Testing infrastructure needs to provide a mirror
of the production infrastructure - Testing infrastructure also needs to facilitate
our testing methods - Regression Testing, Performance Testing
- Stress Testing, Unit Testing, Compatibility
Testing - Load Testing, Developers testing
4The Real World
- It can be very costly to mirror production
environments - It can be very time consuming to prepare test
environments - Controlling and refreshing Test environments is
difficult - The Devil is often in all of the details
5Infrastructure Technologies That Can Help
- Computer Virtualization
- Server / Workstation
- Storage Virtualization
- Software or Hardware based
- Pointer based
- Detailed Documentation
- Configuration Management
6Computer Virtualization Server/ Workstation
- Virtualization is a software layer that decouples
the physical hardware from the operating system - Virtual machines are encapsulated into files
- Virtualization was first introduced in the 1960s
7Computer Virtualization
8Computer Virtualization Advantages
- Partitioning
- Multiple application and operating systems can
reside on one machine - Isolation
- Complete isolation from the host computer
- Encapsulation
- The virtual machine is a file in the file system
9Storage Virtualization
- Pointer Based technologies
- Present a view of the production
- database
- They just keep track of writes
- Can be done with either hardware or software
10Storage Virtualization
Only the writes to the database are saved
11Storage Virtualization Advantages
- Save on disk space
- Quick refresh
- Ease of use
12Detailed Configuration Documentation Software
- Creates a blueprint of the configuration of
hardware, operating systems and applications - Creates a fingerprint or hash of each entity
- Change Isolation drill down
- Allows for a detail compare between collection
points - Isolates any differences
- Entity
- Or inside of the Entity
13Detailed Configuration
14Detailed Configuration
15Applying These Technologies to Our Test
Environments
- Compatibility testing
- Develop a library of different virtual machines,
control sets - Use your software control library to check in and
check out the virtual machines - Run the testing against the Virtual database
- All of this could be done on one machine
- If you run into real world compatibility issues
compare your control machines to it
16Applying These Technologies to Our Test
Environments
- Developers testing
- Use a virtual machine to
- continuously compile your code
- Use a message agent like
- cruise control to notify you of problems
17Applying These Technologies to Our Test
Environments
- Performance testing
- Correlate the virtual environments performance
to production environments performance - Run your testing using virtual machines as drones
- Translate your results to production
18Applying These Technologies to Our Test
Environments
- Stress testing
- Change the configuration of the
- virtual machines resources
19Supporting Production - Bugs in the Real World
- It happens what should work is not working
- You can not duplicate the bug internally, it has
to be the local environment - Suggestions
- Use your detailed documentation tool and gather
the details about the local environment - Isolate the differences by comparing the local
environment to your controlled environment - For future testing, convert the the local
environment into your controlled virtual
environment
20Systems Compare High Level
21Systems Compare File Level
22Systems Compare Detail Level
23Fun Facts
- 90 of the top 100 software companies use
Virtual Machines for testing - Reduction in deployment time to days VS weeks
- Increased test environments CPU utilization from
6-8 to 50-70 - Capital expenditures for test environments can be
reduced by 80 - Space, cooling and power demands are also reduced
24Contact Information
- Nick Cellentani
- Cranel, Inc.
- ncellentani_at_cranel.com
- 614-318-4238 work
- Bill Warren
- Adexis
- wwaren_at_adexisstorage.com
- 614-318-4232