Software System Testing

Slides:



Advertisements
Similar presentations
Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
Advertisements

System Integration Verification and Validation
Testing and Quality Assurance
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
©Company confidential 1 Performance Testing for TM & D – An Overview.
Systems Analysis and Design in a Changing World, 6th Edition
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
H-1 Network Management Network management is the process of controlling a complex data network to maximize its efficiency and productivity The overall.
Client/Server Architectures
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
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.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Software Testing Life Cycle
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Components of Database Management System
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
 CS 5380 Software Engineering Chapter 8 Testing.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Quality of System requirements 1 Performance The performance of a Web service and therefore Solution 2 involves the speed that a request can be processed.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Introduction to Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
How to fix Error code 0x80072ee2 in Windows 8.1? Fix%20%20Update%20Error%200x80072EE2%20in%20Windows%20 8.1,%20Windows%2010!%20-%20Fix%20PC%20Errors.htm.
Proctor Caching and System Check September 4, 2014 Becky Hoeft Conference Number: (877) Conference Pin:
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Testing and delivery Web design principles. Web development is software development.
WEB TESTING
Performance Testing of Web Apps
Software Testing Strategies for building test group
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
SYSTEM TESTING.
Software Architecture in Practice
SOFTWARE TESTING OVERVIEW
SEVERITY & PRIORITY RELATIONSHIP
Chapter 18 Maintaining Information Systems
Different Types of Testing
Chapter 8 – Software Testing
PPT By:Bruce R. Maxim UM-Dearborn
CHAPTER 2 Testing Throughout the Software Life Cycle
Chapter 10 Verification and Validation of Simulation Models
Database Driven Websites
Teaching slides Chapter 9.
Software testing strategies 2
Introduction to Software Testing
Lecture 09:Software Testing
Section 14.1 Section 14.2 Identify the technical needs of a Web server
Testing and Test-Driven Development CSC 4700 Software Engineering
Fault Tolerance Distributed Web-based Systems
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Chapter 6 – Architectural Design
Software models - Software Architecture Design Patterns
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Teaching slides Chapter 6.
Software Verification, Validation, and Acceptance Testing
CS310 Software Engineering Dr.Doaa Sami Khafaga
Chapter 5 Architectural Design.
Chapter 7 Software Testing.
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Software Testing Strategies
Presentation transcript:

Software System Testing IMPORTANT NOTICE TO STUDENTS: These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions. Software System Testing CS 360 Lecture 19

System Testing System testing is testing conducted on an integrated system to evaluate its compliance with specified requirements. Takes, as its input, all of the integrated components that have passed integration testing. The purpose of integration testing is to detect any inconsistencies between the units that are integrated together. Detect defects within the system as a whole. “Black-box” testing approach.

System Testing Source of Software Faults During Development

Types of System tests Basic Tests Stress Tests Interoperability Tests Performance Tests Scalability Tests Stability Tests Smoke Tests Regression Tests Documentation Tests

Basic system tests Boot Upgrade/Downgrade Diagnostic Boot tests are designed to verify that the system can boot up its software image (or, build) from the supported boot options. Upgrade/Downgrade Upgrade/downgrade tests are designed to verify that the system software can be upgraded or downgraded (rollback) in a graceful manner. Diagnostic Diagnostic tests are designed to verify that the hardware components (or, modules) of the system are functioning as desired Power-On Self Test

Stress tests Determines the robustness of software by testing it beyond the limits of normal operation. The system is monitored during the overload to ensure that the system can sustain and recover from the stress. Reasons for conducting stress tests: Allows the test team to monitor performance during failures. To verify if the system has saved all data before crashing, or not. To verify if the system prints meaningful error messages while crashing, of if it prints seemly random exceptions. To verify if unexpected failures do not cause security issues.

Stress tests Scenarios: Monitor the system behavior when the maximum number of users log in at the same time. All users performing critical operations at the same time. All users accessing the same file at the same time. Critical software modules unresponsive such as a database service failure.

Interoperability tests Tests how a component or complete application interacts with another application. During interoperability testing, checks are made on how data from one application is transferred into another application and further processed to give the accepted output.

Performance tests Tests are designed to determine the performance of the actual system compared to the expected one Tests are designed to verify response time, execution time, throughput, resource utilization and traffic rate For example: End-to-end response time (as seen by external user) Database access time Network connection time Network throughput

Scalability tests Testing of a software application to measure its capacity to scale up/down or scale out/in. Scaling up/down (Vertical Scaling): Adding/removing resources to a single compute node (CPU cores, RAM, etc.). Tests how the software performs based on fluctuation of resources on a single node. Scaling in/out (Horizontal Scaling): Adding/removing complete compute nodes to a system. Tests how the software performs when components reside or are replicated on different compute nodes.

stability tests Testing the ability of the software application to continue to function over time and over its full range of use, without failing or causing failure. Stability testing advantages: Provide confidence in the software Monitor the effectiveness of your system (Availability, down time, etc.)

stability tests Possible errors related to software stability: System latencies increase over time. The system begins to encounter functionality problems. The system begins to show strange behavior. The system may crash altogether. Example test cases for stability testing: To verify the upper limit of the system. How the system handles crash scenarios and recovers. Transaction response time over a period of time. How the system behaves under heavy/light load.

Smoke tests Also call confidence testing, sanity testing, build verification testing Term “smoke test” comes from a similar type of hardware testing. Where the device passes if it doesn’t catch on fire when turned on. Tries to reveal simple failures severe enough to reject a software release. Ensures that the most important functionalities of a component or system appear to work correctly. Smoke testing is performed at different levels Integration testing System testing Acceptance testing

Regression tests Type of software testing that seeks to uncover new bugs in existing areas of a system after changes have been made to them. Ensures that a change has not introduced new faults. Also verifies intended results are still being produced.

Regression tests Required when Change in requirements and code is modified according to the requirement. A new feature is added to the software. An error is discovered and fixed. Performance/security issued are fixed.

Documentation tests Tests that ensures that the documentation of a software system matches with what actually exists in the software system. Documentation tests include Verifying requirements, diagrams, design patterns, and other approaches for software development of the application. Verifying software application test cases and results. Verifying software application source code version(s). Reviews to update inconsistent and vague sections. Executing spelling, grammar, and format checks.

Testing Web applications Questions to ask when testing web apps: What are the expected loads on the server (e.g., hits/time)? What kind of performance is required under such loads (server response time, database query times)? What kinds of tools will be needed for performance testing (such as web load testing tools, other tools already in house that can be adapted, web robot downloading tools, etc.)? Who is the target audience? What kind of browsers will they be using? What kind of connection speeds will they by using? What kind of performance is expected on the client side (e.g., how fast should pages appear, how fast should animations, applets, etc. load and run)? Will down time for server and content maintenance/upgrades be allowed? how much? What kinds of security (firewalls, encryptions, passwords, etc.) will be required and what is it expected to do? How can it be tested?

Testing Web applications Questions to ask when testing web apps: How reliable are the site's Internet connections required to be? And how does that affect backup system or redundant connection requirements and testing? What processes will be required to manage updates to the web site's content, and what are the requirements for maintaining, tracking, and controlling page content, graphics, links, etc.? Which HTML specification will be adhered to? How strictly? What browsers will be allowed? Will there be any standards or requirements for page appearance and/or graphics throughout a site or parts of a site? How will internal and external links be validated and updated? how often? Can testing be done on the production system, or will a separate test system be required? How are browser caching, variations in browser option settings, dial-up connection variabilities, and real-world internet 'traffic congestion' problems to be accounted for in testing? Do web site visits generate logs/traces of individual user interactions? How extensive or customized are the server logging and reporting requirements; are they considered an integral part of the system and do they require testing?

System Testing Questions?