course presentation eel5881, fall, 2003 project: network reliability tests project: network...
TRANSCRIPT
Course PresentationCourse PresentationEEL5881, Fall, 2003EEL5881, Fall, 2003
Project: Network Reliability TestsProject: Network Reliability Tests Team: GladiatorTeam: Gladiator
Shuxin LiShuxin Li Victor VelezVictor Velez Xin BaiXin Bai
OverviewOverview
Current System problemsCurrent System problems Proposed SystemProposed System
RequirementsRequirements SpecificationSpecification Software Project Management PlanSoftware Project Management Plan Software Requirement SpecificationSoftware Requirement Specification Test PlanTest Plan
Current system problemsCurrent system problems
Servers tests are not reliable given Servers tests are not reliable given a domain at any random time.a domain at any random time.
The servers are monitored by manualThe servers are monitored by manual Doesn’t monitoring nor logging the Doesn’t monitoring nor logging the
machines available in a domain. machines available in a domain. No statistical analysis is performed. No statistical analysis is performed.
Proposed SystemProposed System
The ping Network Management tool canThe ping Network Management tool can Monitoring network services status:Monitoring network services status:
telnet, web, ftp, ssh, smtp and pop3telnet, web, ftp, ssh, smtp and pop3 Every event of network status will be Every event of network status will be
recorded and displayed in services detailrecorded and displayed in services detail Client can configure the parametersClient can configure the parameters
CSV logger (comma-separated-value)CSV logger (comma-separated-value) Email notificationEmail notification UI notification (User Interface)UI notification (User Interface)
Operational ScenariosOperational Scenarios User begin to load new server lists.User begin to load new server lists. User press “begin monitor” buttonUser press “begin monitor” button The system will show all monitored servers status at The system will show all monitored servers status at
services detailservices detail System will show the statistics chartSystem will show the statistics chart User press “stop monitor” buttonUser press “stop monitor” button System will stop monitoringSystem will stop monitoring User can configure the parametersUser can configure the parameters System will keep historic situations of monitored System will keep historic situations of monitored
servers.servers.
Operational FeaturesOperational Features Must Have: Must Have:
Allow user import the correct server list file (Config.xml)Allow user import the correct server list file (Config.xml) The capacity of monitor all possible type of serversThe capacity of monitor all possible type of servers Show all services details Show all services details Show all current faults (server down, bad ping package Show all current faults (server down, bad ping package
reply..)reply..) Keep all servers status historyKeep all servers status history Show the real-time statistics Show the real-time statistics Generate log file Generate log file
Would Like to Have: Would Like to Have: Ability for user to configure the parametersAbility for user to configure the parameters Distinguish the different server status by different Distinguish the different server status by different
colorful logocolorful logo
Expected Impacts Expected Impacts
Automatically monitor different types of serversAutomatically monitor different types of servers Display the current services detail and faults with no delayDisplay the current services detail and faults with no delay Use statistics chart to help user get visualized resultsUse statistics chart to help user get visualized results Allow user to configure the log file and notification methodAllow user to configure the log file and notification method
CVS logCVS log E-mail NotificationE-mail Notification UI NotificationUI Notification
Best tool designed for collecting server status Best tool designed for collecting server status information. information.
Higher effectivenessHigher effectiveness Friendly user interface designFriendly user interface design
Software EnvironmentSoftware Environment
System ProcessorSystem Processor P2 233Mhz or aboveP2 233Mhz or above
Operating SystemOperating System Windows 2000 or Windows xpWindows 2000 or Windows xp
Other RequirementOther Requirement Must have java JDK 1.4 Must have java JDK 1.4
Programming environmentProgramming environment Borland Jbuilder 9.0Borland Jbuilder 9.0
Project Management PlanProject Management Plan
Software Life Cycle processSoftware Life Cycle process
Project Management PlanProject Management Plan
Project Team Organization Project Team Organization Democratic team organizationDemocratic team organization
Egoless programming.Egoless programming. No single leader. No single leader. Shuxin Li, Xin Bai, Victor Velez are in the Shuxin Li, Xin Bai, Victor Velez are in the
team.team. All the technique decisions will be discussed All the technique decisions will be discussed
and finally made democratically.and finally made democratically. Communication will be handled through email Communication will be handled through email
and scheduled face-to-face meetings when and scheduled face-to-face meetings when ideas and design need to be decided.ideas and design need to be decided.
Project Management PlanProject Management Plan
Quality Assurance Quality Assurance Non-execution based testing - Walkthroughs Non-execution based testing - Walkthroughs
(the participant driven approach). (the participant driven approach). Each team member also act as a QA member, Each team member also act as a QA member,
detect and record each other’s faults. detect and record each other’s faults. Risk Management Risk Management
Client’s resistance to changeClient’s resistance to change The iterative process inherent in the The iterative process inherent in the
Waterfall model will help us in managing Waterfall model will help us in managing this risk.this risk.
Deliverables TimetableDeliverables Timetable
ArtifactArtifact Due DatesDue Dates <some will have <some will have multiple deliveries>multiple deliveries>
Meeting Minutes Meeting Minutes In maintenance. Update In maintenance. Update approximately once every approximately once every two weektwo week
Individual LogsIndividual Logs In maintenance. Update In maintenance. Update when necessarywhen necessary
Group Project Management Group Project Management ReportsReports
N/AN/A
ConOpsConOps 10/01/0310/01/03
Project PlanProject Plan 10/01/0310/01/03
SRSSRS 10/01/0310/01/03
High-Level DesignHigh-Level Design 10/21/0310/21/03
Detailed DesignDetailed Design 10/21/0310/21/03
Test PlanTest Plan 10/01/0310/01/03
User's ManualUser's Manual 11/18/0311/18/03
Final Test ResultsFinal Test Results 11/18/0311/18/03
Source, Executable, Build Source, Executable, Build InstructionsInstructions
11/18/0311/18/03
Project LegacyProject Legacy 11/18/0311/18/03
Software Requirements Software Requirements SpecificationSpecification
Product OverviewProduct Overview The software will run under a windows The software will run under a windows
EnvironmentEnvironment The software will be able to monitorThe software will be able to monitor::
Web services: http and https Web services: http and https Email servers: POP3, SMTPEmail servers: POP3, SMTP FTP serversFTP servers Telnet or ssh serversTelnet or ssh servers
The software will report:The software will report: Real-time Statistic chartReal-time Statistic chart Services detail and current faultsServices detail and current faults
Event TableEvent TableEvent NameEvent Name External StimuliExternal Stimuli External ResponsesExternal Responses Internal data and stateInternal data and state
Load Server ListLoad Server List Open button is pressedOpen button is pressed Search the server list Search the server list file and Load it into file and Load it into systemsystem
Server list file is read and Server list file is read and recordedrecorded
Monitor the serverMonitor the server Begin to monitor Begin to monitor button is pressedbutton is pressed
System begin to test System begin to test the listed server list the listed server list show the monitoring show the monitoring resultsresults
Monitoring of any network Monitoring of any network device with an IP address device with an IP address using PING (ICMP) or TCP using PING (ICMP) or TCP PortsPorts
Stop the Monitoring Stop the Monitoring Stop monitor button is Stop monitor button is pressedpressed
System stop the System stop the monitoring monitoring immediatelyimmediately
Stop sending PING (ICMP) Stop sending PING (ICMP) or sense the TCP Portsor sense the TCP Ports
Check each server Check each server domain detail statusdomain detail status
Click the server name Click the server name in the left framein the left frame
All the server detail will All the server detail will be shown immediatelybe shown immediately
Execute “Show detail” Execute “Show detail” method for each servermethod for each server
Check the statistics Check the statistics server statusserver status
Statistics Label is Statistics Label is selected and selected and periodically, refresh periodically, refresh button is pressedbutton is pressed
A statistics chart will A statistics chart will be shown including be shown including time + faults detectedtime + faults detected
Execute the “draw Execute the “draw graphic” method by given graphic” method by given argumentsarguments
Check the history of Check the history of servers statusservers status
History Label is History Label is selectedselected
A history of server A history of server recent changing will be recent changing will be shownshown
Execute the “show history” Execute the “show history” method by given method by given argumentsarguments
Configure the Configure the parametersparameters
Config Label is Config Label is selectedselected
User can configure: User can configure: CSV logger, Email CSV logger, Email notification or UI notification or UI notificationnotification
Execute the relevant Execute the relevant methods and store the methods and store the configuration into the configuration into the config.xml file config.xml file
Use Case DiagramUse Case Diagram
Software Requirements Software Requirements SpecificationSpecification
Use Case DescriptionsUse Case Descriptions Load server list - the user import a server list Load server list - the user import a server list Start monitoring - the user will let system Start monitoring - the user will let system
begin to monitor all required serversbegin to monitor all required servers Stop monitoring - the user will stop monitor all Stop monitoring - the user will stop monitor all
required serversrequired servers Configuration - the user will configure three Configuration - the user will configure three
parametersparameters CSV logger: comma-separated-values log fileCSV logger: comma-separated-values log file Email notification: configure the smtp email serverEmail notification: configure the smtp email server UI notification: configure user interface notificationUI notification: configure user interface notification
Software Requirements Software Requirements SpecificationSpecification
Check statistic result – The system will Check statistic result – The system will show user the statistic chart with X axes show user the statistic chart with X axes represents the time while Y axes represents the time while Y axes represents the faults detected represents the faults detected
Check history – The system will show user Check history – The system will show user the overall servers status history including:the overall servers status history including:
AliveAlive DeadDead Bad replyBad reply
Test PlanTest Plan
Overall ObjectivesOverall Objectives Find as many errors as possible before the Find as many errors as possible before the
user of the software finds them user of the software finds them Ensure good software quality, that is, a robust Ensure good software quality, that is, a robust
final productfinal product Make sure that our software adheres very Make sure that our software adheres very
closely to the client requirements and closely to the client requirements and specification documentsspecification documents
Test CasesTest Cases
Case 1Case 1 Objective: to demonstrate the behavioral sanity of the system.Objective: to demonstrate the behavioral sanity of the system. Description: Description:
Whether the software is starting properly. Whether the software is starting properly. Whether the Graphical User Interface (GUI) is displaying Whether the Graphical User Interface (GUI) is displaying
correctly and it’s feel and look is consistent with rest of the correctly and it’s feel and look is consistent with rest of the application. application.
Whether the GUI is displaying the fields correctly. Whether the GUI is displaying the fields correctly. Whether the software is stopping properly. Whether the software is stopping properly.
Test Condition: We will test it for both development environment Test Condition: We will test it for both development environment and test environment and test environment
Expected Results: Information is displaying properly in the GUIExpected Results: Information is displaying properly in the GUI
Test CasesTest Cases
Case 2Case 2 Objective: demonstrate the functional correctness of “Import the Objective: demonstrate the functional correctness of “Import the
server list” module.server list” module.
Description: check if a given server list .xml file is correct, The Description: check if a given server list .xml file is correct, The system will accept it and ready to monitor. If a give server list file system will accept it and ready to monitor. If a give server list file is incorrect, The system will give an alert asking for the right file.is incorrect, The system will give an alert asking for the right file.
Test Condition: We will test it for development environment and Test Condition: We will test it for development environment and test environmenttest environment
Expected Results: Only correct .xml file will be accepted Expected Results: Only correct .xml file will be accepted
Test CasesTest Cases
Case 3Case 3 Objective: demonstrate the functional correctness of “Monitor” Objective: demonstrate the functional correctness of “Monitor”
module.module. Description: Description:
As soon as correct server list is loaded and user has pressed the As soon as correct server list is loaded and user has pressed the start monitoring, the software can monitor all the servers start monitoring, the software can monitor all the servers simultaneouslysimultaneously
Each server status will be displayed and recorded at the same timeEach server status will be displayed and recorded at the same time Test Condition: We will test it for both development environment Test Condition: We will test it for both development environment
and test environment and test environment Expected Results: Software will distinguish different type of Expected Results: Software will distinguish different type of
servers and be able to monitor all servers, showing the servers servers and be able to monitor all servers, showing the servers statusstatus
Test CasesTest Cases
Case 4Case 4 Objective: demonstrate the functional correctness of Objective: demonstrate the functional correctness of
“Statistic” module.“Statistic” module. Description: Description:
As soon as correct server list is loaded and user has pressed As soon as correct server list is loaded and user has pressed the start monitoring, the software can draw a real-time fault-the start monitoring, the software can draw a real-time fault-detected chartdetected chart
Test Condition: We will test it for both development Test Condition: We will test it for both development environment and test environment environment and test environment
Expected Results: Software will draw the statistic Expected Results: Software will draw the statistic chart with no delaychart with no delay
Test CasesTest Cases
Case 5Case 5 Objective: prove that the system works as integrated unit when Objective: prove that the system works as integrated unit when
all the fixes are complete.all the fixes are complete.
Description: it demonstrates whether all areas of the system Description: it demonstrates whether all areas of the system interface with each other correctly. Also test whether the software interface with each other correctly. Also test whether the software has error handling behavior for every possible error.has error handling behavior for every possible error.
Test Condition: test it for both development environment and test Test Condition: test it for both development environment and test environment environment
Expected Results: The system integrates well and execute Expected Results: The system integrates well and execute correct functions. The system passes the above functional tests correct functions. The system passes the above functional tests as one integrated systemas one integrated system
Test CasesTest Cases
Case 6Case 6 Objective: demonstrate the compatibility of our Objective: demonstrate the compatibility of our
software with other hardware.software with other hardware. Description: Description:
We will install our software on other types of computers We will install our software on other types of computers such as with different processors, speeds and capabilitiessuch as with different processors, speeds and capabilities
We will check our software on these computers We will check our software on these computers Test Condition: We will test it for both development Test Condition: We will test it for both development
environment and test environment environment and test environment Expected Results: We expect our software to pass Expected Results: We expect our software to pass
these tests for different system environmentsthese tests for different system environments
SnapSnap
Thank you!Thank you!