Upload
rue
View
19
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Brendan Heckman Matthew Fusaro Ryan McGivern. VMWeb Milestone III. VMWeb Architecture. A little on the front-end…. Catalyst Web Framework Similar to Ruby on Rails Provides framework that will allow us to develop a light-weight web application that - PowerPoint PPT Presentation
Citation preview
Brendan HeckmanMatthew FusaroRyan McGivern
VMWeb Architecture
A little on the front-end… Catalyst Web Framework
Similar to Ruby on Rails Provides framework that will allow us to
develop a light-weight web application that▪ Efficiently communicates with the intermediate
database▪ Translates the database information into objects▪ Provides a simple and appealing UI for ▪ Visualizing the state of Entities▪ Performing operations on Entities
And of course MVC…
Model Access and modify content▪ Database connection (DBIx::Class)
View Display data in a meaningful manner▪ Template Toolkit▪ Javascript libraries, CSS
Controller Flow Control▪ Dispatch actions appropriately and maintain
context
DBIx::Class (Perl ORM)
ORM – Object-Relational Mapping Creates objects associated with tables in a
relational database Database Model
Creates result class file for each table▪ Corresponds to row-level data in table
Enable this model in the appropriate controllers
Allows the flow control to query data as necessary
Layer of abstraction – remove DB dependence
Screenshot: Auth. Module
Front-end Schedule
Front-end Schedule Deviations
Back-end Schedule
Back-end schedule Deviations
Test Plan: Front-end
Compatibility OS Independence▪ Conduct a complete set of tests on multiple
operating systems Browser compatibility ▪ Implement tests across a set of common browsers
UI Tests Test UI elements capture and submit user
input accurately Test View components accurately group data
Advantages of Catalyst
Test Anything Protocol (TAP) Provides test-driven development process Helper functions add stubs to test directory ▪ Establishes unit tests for inherent operations of
each module▪ One may extend these unit tests if a given object needs
to be further interrogated
▪ Functional tests are therefore automatically created
▪ Need only conduct behavior testing▪ i.e Does flow control behave as expected
UML: Scheduler Implementation
Test Plan: Scheduler
Black-box test Internal logic of the scheduler is not relevant
to external components Test sets▪ Submit correctly configured jobs into into DB▪ Does job checking logic pick them up correctly▪ Monitor end results and catch errors coming out other side
▪ Submit malformed jobs into DB▪ Confirm that errors are handled as expected in job validation
▪ Deliberately submit jobs that will create exceptions on ESX server▪ i.e Job is validated according to API but rejected by ESX server
▪ Overload the job queue▪ Test further submitted jobs wait to enter queue
UML: Database Connector
Test Plan: DB Connector
White-box test Component most vulnerable to data-
integrity loss Requires test set for complete statement
coverage▪ DBMysqlAdapter class▪ Create a unit test that will run each of the
methods that modifies or pulls information from the database and check that the results are what is desired.
UML: Inventory
Test Plan: Inventory
Black-box test Executes task when asked to and
returns data Test set▪ Call the inventory collector and ask it to do
the inventory. When done, print the structures it creates and make sure the data matches what the ESX server reports.▪ Call the inventory collector while another job
is being processed on the ESX server and see if we get I/O errors.
Test Plan: Inventory
White-box test To ensure object properties fall through
conditional branches correctly Test set▪ Modify data on the ESX server so some values
are either absent or out of bounds. We can utilize the printMe() function to show any errors▪ Pass malformed data to the functions and
make sure it handles the data appropriately.
Test Plan: Utility functions
Virtual Machine Power On Power Off Reboot Suspend Rename Delete Unregister
Host Power On Power Off Reboot Maintenance
-mode Stand-by
Resource Pool Configure Relocate
Test Plan: Utility functions
Black-box test Accuracy of utility function tested by
performing operations on existing VMs, hosts, or resource pools
Test set▪ Unit test that covers all utility functions▪ Confirm each function performs its respective
action