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

Slides:



Advertisements
Similar presentations
High level QA strategy for SQL Server enforcer
Advertisements

Testing Workflow Purpose
Software Quality Assurance Plan
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Predictor of Customer Perceived Software Quality By Haroon Malik.
Software Testing and Quality Assurance
Software Testing and Quality Assurance
Software Testing and Quality Assurance
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 31 – Testing Systems.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Software Testing and Quality Assurance
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 25 – Testing Interactions (Chapter 6)
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
 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.
Installing software on personal computer
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
MSF Testing Introduction Functional Testing Performance Testing.
Test Design Techniques
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
January 27, 2002 ECEN5033 University of Colorado -- Class Testing 1 Specifying interactions Remainder of slides assume Operations defined by a class are.
Documenting Software Architectures
TESTING STRATEGY Requires a focus because there are many possible test areas and different types of testing available for each one of those areas. Because.
Overview of the Database Development Process
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
ITEC224 Database Programming
An Introduction to Software Architecture
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Instructor: Peter Clarke
Testing Workflow In the Unified Process and Agile/Scrum processes.
Approaching a Problem Where do we start? How do we proceed?
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
C6 Databases. 2 Traditional file environment Data Redundancy and Inconsistency: –Data redundancy: The presence of duplicate data in multiple data files.
Systems Management Server 2.0: Backup and Recovery Overview SMS Recovery Web Site location: Updated.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Verification and Validation Assuring that a software system meets a user's needs.
Management Information Systems, 4 th Edition 1 Chapter 8 Data and Knowledge Management.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
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.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Regression Testing with its types
UML Diagrams By Daniel Damaris Novarianto S..
Testing Tutorial 7.
Integration Testing.
Chapter 9, Testing.
CIS 515 STUDY Lessons in Excellence-- cis515study.com.
Lecture 09:Software Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Analysis models and design models
An Introduction to Software Architecture
Software Development Process Using UML Recap
Presentation transcript:

1 Software Testing and Quality Assurance Lecture 30 – Testing Systems

2 Lecture Objectives Learn how to write test cases from use cases Learn how to quantify the quality of testing

3 Complementary strategies for selecting test cases: Orthogonal Defect Classification (ODC) ODC captures information about the type of faults that are present in a software system under development

4 Use cases as sources of test cases Constructing use profiles Using scenarios to construct test cases The expected result section of a test case

5 Use cases as sources of test cases: constructing use profiles The construction of use profile begins with actors from the use case diagram. After deployment the use case frequencies can be updated based on actual data and used for regression testing.

6 Use cases as sources of test cases: Using scenarios to construct test cases The process for identifying specific values from the variables mentioned in a use case has four steps: Identify all of the values that will be supplied by the actors contained in the use case. Identify equivalence classes of values for each input data type. Construct tables that list combinations of values from the various equivalence classes. Construct test cases that combine a single permutation of values with the necessary environmental constraints.

7 Use cases as sources of test cases: Using scenarios to construct test cases— example

8 Use cases as sources of test cases: Using scenarios to construct test cases— example (cont...) Each row specifies a test.

9 Use cases as sources of test cases: the expected result section of a test case For complex systems it is very difficult to determine the expected results from a test run. E.g. spacecraft control software.

10 Use cases as sources of test cases: the expected result section of a test case Techniques to reduce that amount of effort required to develop expected results: Construct the results incrementally The test cases are written to cover some subset of a use of the system. E.g. database (from 50 to 1000 records) Grand tour test cases: results of one test case are the inputs for the next test case Disadvantage: a failure to test case 1 we can’t run test 2.

11 Testing multiple representations Systems are written using a composite of complied servers (c++), interpreted clients (java), and multiple data sources. Important features of these systems from a testing perspective: Interactions between two data models. Interactions between pieces written in different languages. Interaction between static and dynamic portions of the program.

12 Testing multiple representations (cont...) To address these features perform a thorough unit test process: All pieces of the system should be exercised Test the interactions across language and representation boundaries. Test the interfaces between two languages to determine that a complete object is transferred.

13 Testing multiple representations (cont...) Test the following: Be certain that each connection in either direction is exercised Validate the results by examining the transformed objects in detail to ensure that nothing is missing or misinterpreted Measure coverage by covering all of the primitive types of each language

14 What needs to be tested: testing for qualitative system attributes Testing for qualitative system attributes Translate each qualitative claim into measurable attribute Design test cases that can detect the presence or absence of these measurable attributes Execute the test cases and analyze the results Aggregate these results to determine if a specific claim is justified.

15 What needs to be tested: testing for qualitative system attributes Validate performance claims: Quantify the term acceptable performance (a number of transactions per second) Create new data or use historical data to use in the tests. Run the tests, collect results and timing data. Make determination (pass or fail) for the claim.

16 What needs to be tested: testing the system deployment Testing the system deployment: required for configurable systems and for applications that require dynamic interaction with the environment. Deployment testing is intended to ensure that the packaging used for the system provides adequate setup and delivers a product in working condition.

17 What needs to be tested: testing the system deployment (cont...) The initial test case if a full, complete installation. Interactions between options Certain options may not be installed Libraries or drivers may be needed for other options

18 What needs to be tested: testing the system deployment (cont...) Levels of installation: Typical Custom full

19 What needs to be tested: deployment testing technique Identify categories of platforms on which the system will be deployed. Locate at least one system of each type that has a typical environment but that has not had the system installed on it. Install the system using the deployment mechanism. Run a regression set of system tests and evaluate the results.

20 What needs to be tested: test system security Three categories of issues that could be classified as security: The ability of the application to allow authorized access and to prevent access by unauthorized persons. The ability of the code to access all of the needed resources that it needs to execute. The ability of the application to prevent unauthorized access to other system resources not related to the application.

21 What needs to be tested: test system security Modularity of executables and the dynamic aspects of the code does raise security issues: Permissions for files deployed in a directories: test one resource in each directory and one user from each security class.

22 Key points Testing the system deployment: required for configurable systems and for applications that require dynamic interaction with the environment.

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