1 CSE 403 Reliability Testing These lecture slides are copyright (C) Marty Stepp, 2007. They may not be rehosted, sold, or modified without expressed permission.

Slides:



Advertisements
Similar presentations
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Advertisements

Performance Testing - Kanwalpreet Singh.
Database Architectures and the Web
Performance and Reliability 101 Brent Cromarty Ping Identity
Module 20 Troubleshooting Common SQL Server 2008 R2 Administrative Issues.
Lecture 2: Servers and Services Network Design & Administration.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Software Testing and Quality Assurance Testing Web Applications.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 12: Managing and Implementing Backups and Disaster Recovery.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
©Company confidential 1 Performance Testing for TM & D – An Overview.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Module 14 Monitoring and Maintaining Windows Server® 2008 Servers.
CSE 403 Lecture 19 Reliability Testing slides created by Marty Stepp
Hands-On Microsoft Windows Server 2008 Chapter 11 Server and Network Monitoring.
Windows Server 2008 Chapter 11 Last Update
Website Load Testing Yuliya Boedeker And James C. Helm, Ph. D. INNOVATION 2002 May 16, 2002.
Low Cost Load and Performance Testing. Example Test.
Anthony Borton. MV P “It was an epic failure... I tried to get on and couldn't” I'm really annoyed that I wasted so much time trying to get onto.
1 CSE 403 System Testing Reading: various web sites about Selenium! These lecture slides are copyright (C) Marty Stepp, They may not be rehosted,
Windows Server MIS 424 Professor Sandvig. Overview Role of servers Performance Requirements Server Hardware Software Windows Server IIS.
1 CSE 403 System Testing and Test Plans These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Software Testing Life Cycle
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
Btec National Diploma Level 31 IT Systems Troubleshooting and Repair Identify and select remedies.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Module 9 Planning a Disaster Recovery Solution. Module Overview Planning for Disaster Mitigation Planning Exchange Server Backup Planning Exchange Server.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Maintaining and Updating Windows Server Monitoring Windows Server It is important to monitor your Server system to make sure it is running smoothly.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
CSCI 1033 Computer Hardware Course Overview. Go to enter TA in the “Enter Promotion Code” box on the bottom right corner.
Web Server.
Module 9 Planning and Implementing Monitoring and Maintenance.
1 End User Support Introduction Identify and select remedies.
Understanding Performance Testing Basics by Adnan Khan.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
Virtual Machine Movement and Hyper-V Replica
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Troubleshooting Windows Vista Lesson 11. Skills Matrix Technology SkillObjective DomainObjective # Troubleshooting Installation and Startup Issues Troubleshoot.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Defining Networking Chapter 2.
Software Metrics and Reliability
Troubleshooting Tools
Project Center Use Cases Revision 2
Project Center Use Cases
Segments Basic Uses: slides minutes
Hands-On Microsoft Windows Server 2008
Project Center Use Cases
Large Distributed Systems
Chapter 2: System Structures
Project Center Use Cases Revision 3
Project Center Use Cases Revision 3
Software Architecture in Practice
Introduction to Operating Systems
Introduction to CAST Technical Support
Testing and Test-Driven Development CSC 4700 Software Engineering
Performance testing for large size web-services
Communications & Computer Networks Resource Notes - Introduction
Software System Testing
Integration Reading: McConnell, Code Complete, Ch. 29
LO3 – Understand Business IT Systems
IT OPERATIONS Session 7.
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Presentation transcript:

1 CSE 403 Reliability Testing These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed permission from the author. All rights reserved.

2 Big questions What kinds of testing can be done to see whether my web app is reliable? What are the metrics for reliability? Can I

3 Load testing load testing: Measuring system's behavior and performance when subjected to particular heavy tasks. often tested at ~1.5x the expected SWL (safe working load) examples: testing a word processor by loading large documents testing a printer by sending it many large print jobs testing a web app by having several users connect at once Differences between performance and load testing performance testing looks for code bottlenecks (which are often the same at any level of load) and fixes them in load testing, level of load remains fixed load testing measures performance at a given level of activity so that you can make decisions about allocating resources

4 Goals of load tests Expose bugs that don't show up during normal usage memory leaks / memory management problems buffer overflows concurrency problems / race conditions Ensure that system meets performance requirements load tests can be done repeatedly as regression tests to make sure system retains required performance

5 Stress testing stress testing: An extreme load test where the system is subjected to much higher than usual load. often an error (timeout, etc.) is the expected result Goals of stress testing see how gracefully the system handles unreasonable conditions discover any data loss or corruption problems when under load test recoverability and recovery time Difference between load and stress testing stress testing often runs at a level of load far beyond load tests stress tests are meant to break things there's no clear boundary between a load test and stress test

6 System reliability reliability testing: Measuring how well the system can remain available and functional over time. Common goals: "two nines": 99% uptime(down 3.65 days/year) "four nines": 99.99% uptime(down 52 minutes/year) "five nines": % uptime(down 5 minutes/year) Why does a system become unavailable? software failures hardware failures network failures

7 Estimating failures Most hardware dies either very early or very late components have a mean time between failures (MTBF) rating FITS: failures per billion hours (1,000,000,000) Software failure depends on many factors quality of design and engineering process complexity and size of the system experience level of the development team percentage of reused code depth of testing performed Software failures are often measured per 1000 lines of code.

8 Improving reliability Replicate crucial system components example: two web servers, two database servers Benefits of replication system is only considered unavailable if BOTH are down 2 replicas * 99% reliability => 99.99% reliability

9 Repairing failures Some failure recovery can be automated roll back transaction / fall back to another database redirect to another site reboot (Windows!) Most failure recovery requires a human component on-site support staff on-call developers or QA engineers (Google pagers) Estimating failure recovery time MTTR (mean time to repair) < 10 minutes if problem/fix are known 1 hour to 2 weeks if not availability = MTBF / (MTBF + MTTR)

10 Logging logging: Writing state information to files or databases as your application runs. Reasons to do logging: logging is the println-debugging of web apps notice patterns of repeated errors a minimal guarantee on errors: the error will be logged Why not just output error messages to the page? the wrong person sees the message (user, not developer) user shouldn't be told detailed information about the system or about the causes of errors message is not permanent (shows on page, but then is lost)

11 Log file contents Web server software has its own request/error logs A typical Apache log file /var/log/apache2/error.log : [Tue Nov 20 12:07: ] [notice] Apache/2.2.6 (Win32) mod_ssl/2.2.6 OpenSSL/0.9.8e PHP/5.2.5 configured -- resuming normal operations [Tue Nov 20 12:07: ] [notice] Server built: Sep :58:56 [Tue Nov 20 12:07: ] [notice] Parent: Created child process 8872 PHP Notice: Constant XML_ELEMENT_NODE already defined in Unknown on line 0 [Sun Nov 04 18:29: ] [error] [client ] File does not exist: D:/www/gradeit/courses/142/07au/a5/files/BL/BEIROUTY_ /output_3_2.png, referer: ssignment=a5&section=BL&student=BEIROUTY_ &small=1 [Sun Nov 04 18:29: ] [error] [client ] File does not exist: D:/www/gradeit/courses/142/07au/a5/files/BL/BEIROUTY_ /output_3_3.png, referer: ssignment=a5&section=BL&student=BEIROUTY_ &small=1 [Tue Oct 30 17:22: ] [error] [client ] PHP Warning: Invalid argument supplied for foreach() in D:\\www\\gradeit\\Section.php on line 43, referer: assignment=a5

12 Log file viewers some logging frameworks provide log viewers can sort, search, color-code various types of messages

13 Web site monitoring web site monitoring: a third-party machine "pings" your machine periodically to make sure it is live downloadable scripts (ZABBIX, Spong, CheckWebSite) some can be scripted to gather more detailed data, create reports paid services (ExternalTest, SiteUpTime, Internet Vista)