1 Software Testing and Quality Assurance Lecture 31 – Testing Systems.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

FT228/4 Knowledge Based Decision Support Systems Knowledge Engineering Ref: Artificial Intelligence A Guide to Intelligent Systems, Michael Negnevitsky.
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Object-Oriented Software Development CS 3331 Fall 2009.
Designing and Developing Decision Support Systems Chapter 4.
COMP 121 Week 7: Object-Oriented Design and Efficiency of Algorithms.
Chapter 4 Quality Assurance in Context
Predictor of Customer Perceived Software Quality By Haroon Malik.
ITIL: Service Transition
Software Testing and Quality Assurance
Software Development Process Models. The Waterfall Development Model.
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 26 (a) – Testing Interactions (Chapter 6)
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Software Testing for Safety- Critical Applications Presented by: Ciro Espinosa & Daniel Llauger.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
SOFTWARE PROJECT MANAGEMENT Project Quality Management Dr. Ahmet TÜMAY, PMP.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Chapter 10: Architectural Design
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
Software Considerations in Airborne Systems
1 Prediction of Software Reliability Using Neural Network and Fuzzy Logic Professor David Rine Seminar Notes.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Lecture # 22 Software Evolution
Chapter 10.
UML - Development Process 1 Software Development Process Using UML (2)
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
ITEC224 Database Programming
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
Database Design - Lecture 2
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Testing Theory cont. Introduction Categories of Metrics Review of several OO metrics Format of Presentation CEN 5076 Class 6 – 10/10.
Lecture 9: Chapter 9 Architectural Design
Software Measurement & Metrics
Testing Workflow In the Unified Process and Agile/Scrum processes.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Simulation is the process of studying the behavior of a real system by using a model that replicates the behavior of the system under different scenarios.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
9 Systems Analysis and Design in a Changing World, Fourth Edition.
PRJ566 Project Planning & Management Software Architecture.
Center for Reliability Engineering Integrating Software into PRA B. Li, M. Li, A. Sinha, Y. Wei, C. Smidts Presented by Bin Li Center for Reliability Engineering.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Software Quality Assurance and Testing Fazal Rehman Shamil.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
Software Testing and Quality Assurance Practical Considerations (1) 1.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Software Development and Safety Critical Decisions
Regression Testing with its types
John D. McGregor Session 9 Testing Vocabulary
Security SIG in MTS 05th November 2013 DEG/MTS RISK-BASED SECURITY TESTING Fraunhofer FOKUS.
OVERVIEW Impact of Modelling and simulation in Mechatronics system
Software Quality Engineering
IEEE Std 1074: Standard for Software Lifecycle
Software testing strategies 2
Software metrics.
Presentation transcript:

1 Software Testing and Quality Assurance Lecture 31 – Testing Systems

2 Lecture Objectives Types of Testing Measuring Test Coverage Software Maintenance Activities

3 Types of testing Stress testing Life-cycle testing Performance testing

4 Types of testing: stress testing Stress testing is operating a system under conditions that come close to exhausting the resources needed by the system: Filling RAM with objects. Filling hard disk with records. Move the mouse back and forth. Natural growth of information that accumulates as the system is operated. For OO systems: Create large number of instances of classes

5 Types of testing: steps in stress testing Identify the variable resources that increase the amount of work the system has to do If there are relationships among these resources, develop a matrix that lists combinations of resource levels to use Create test cases that use each combination Execute and evaluate the results

6 Types of testing: life-cycle testing Two types of life cycles that do make sense to test: Domain life cycles: these correspond to the key processes in the domain (for accounting system run a series of test to cover a full fiscal year). Computer application life cycles: it begins with the installation of the application and ends with its removal (test the installer and uninstaller programs).

7 Types of testing: performance testing Perception: object-oriented systems are inherently slow. Testing for performance is like measuring the reliability of a piece of software. Establishing the context within which the performance will be measured: Context: description of the environment in which the measurement will be made.

8 Types of testing: performance testing technique Define the context in which performance measure applies: Describe the state of the application to be tested. Describe the execution environment in terms of the platform being used. Describe the other applications running at the time of tests

9 Types of testing: performance testing technique Identify the extremes within the context. Define, as expected result, what will constitute acceptable performance. Execute the tests and evaluate the results.

10 Types of testing: problems with real data in testing Problems with real data in testing: Extensive past data available. Analysis of the data requires time.

11 Types of testing: problems with real data in testing It might be quicker to manufacture data that has specific properties than to use real data: Analyze the existing data to identify patterns. Construct test data that follow these patterns but for which the expected results are more easily determined Design test cases that use the test data in the context of the of a complete life cycle. Execute and evaluate the results.

12 Testing different types of systems Reactive systems Embedded systems Multitiered systems Distributed systems

13 Measuring test coverage Coverage: is the metrics that indicates level of confidence we have in our testing. What is to be covered? To measure coverage two categories can be used: Inputs: how many of the possible inputs have been used in test cases. Outputs: how many of the possible outputs that a system can produce have been produced during testing.

14 Measuring test coverage As systems have become more integrated into Life-critical and mission- critical systems, Expectations have increased to include “does the system do any thing it is not suppose to do?”

15 Measuring test coverage (cont...) When is coverage measured? Coverage data is collected continuously during testing When is coverage used? “at release time”, coverage is part of the decision criteria for release.

16 Software maintenance activities Corrective maintenance are activities of handling problems resulting from faults. Adaptive Maintenance involves adjusting the application to changes in the environment, or changes from other parts of the system.

17 Software maintenance activities Perfective maintenance involves making changes to improve some aspect of the system, even when the changes are not suggested by faults. Preventive maintenance involves changing some aspect of the system to prevent failures.

18 Software maintenance activities (cont...)

19 Key points Types of testing: stress testing, life- cycle testing, and performance testing Coverage: is the metrics that indicates level of confidence we have in our testing.

20 Announcement SWE Revised Program Discussion Monday December 29, 2008 at 12:10-1:00 in 24/141