Software Testing and Quality Assurance

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

Presentation by Prabhjot Singh
Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 21 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
January 20, 2002ECEN5033 University of Colorado, Testing OO Software Part Two 1 Testing Object-Oriented Software – Testing Models Software Engineering.
Software Testing and Quality Assurance
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Software Testing and Quality Assurance: Planning for Testing
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 SWE Introduction to Software Engineering Lecture 5.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Software Testing and Quality Assurance
Software Testing and Quality Assurance: Introduction and Terminology
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Software Testing and Quality Assurance: Inspection Reading Assignment: –John McGregor and David A. Sykes, A Practical Guide to Testing Object-Oriented.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Introduction to Software Testing
UML - Development Process 1 Software Development Process Using UML (2)
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Best Practices By Gabriel Rodriguez
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CPIS 357 Software Quality & Testing
RUP Implementation and Testing
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Testing Analysis and Design Models Review Class 3 Overview of Testing Analysis and Design Models Models and Testing Guided Inspection Analysis Model Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Understand Application Lifecycle Management
Instructor: Peter Clarke
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.

Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Lecture 3 Software Engineering Models (Cont.)
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
1 Introduction to Software Engineering Lecture 1.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
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.
Software Engineering Saeed Akhtar The University of Lahore.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
CPSC 871 John D. McGregor Module 6 Session 2 Validation and Verification.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Quality Assurance and Testing Fazal Rehman Shamil.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
John D. McGregor Session 9 Testing Vocabulary
John D. McGregor Session 9 Testing Vocabulary
John D. McGregor Session 9 Testing Vocabulary
Introduction to Software Testing
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software Verification, Validation, and Acceptance Testing
Software Development Process Using UML Recap
Presentation transcript:

Software Testing and Quality Assurance Lecture 16 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)

Lecture Outline To learn how to inspect the semantics of UML models. To be able to setup an inspection session.

Introduction Developers model the software they are constructing because: It assists in understanding the problem they are solving It helps manage the complexity of the system being developed. High quality of models make a valuable contribution to the project

Introduction (cont...) Guided inspection: An enhanced inspection technique for verifying the models as they are created; and For validating the completed models against project requirements.

Introduction (cont...) Reviews focus on what is in the model rather than what should be in the model. Guided inspection applies the testing perspective early in the development process. Guided inspection requires valuable resources, and the time and attention of project personnel.

Introduction: the V Model System Models System Implementation Architecture Models Subsystem Integration Component Models Component Implementation Guided Inspection Code-based Testing techniques

Place of guided inspection in the development process The last activity in each phase in the development process should be a verification of the required qualities of the developed product. Differences between succeeding models: The scope of the content The level of abstraction

Guided inspection in the development process: models and phases Architectural design model and standard design patterns and algorithms Each interface in the Architecture is implemented by one or more components Detailed design Standard architectural patterns and creativity of designers Basic structure of interfaces and their interactions Architectural design The domain analysis model and the requirements model Concepts needed to explain the specific problem; standard algorithm Application analysis The minds of the domain experts Domain concepts, standard algorithms Domain analysis Transformed from Content Phase/model

The basics of Guided inspection The guided inspection technique provides a means of objectively and systematically searching a work product for faults by using explicit test cases. The basic steps in guided inspection Define the test space Select values from the test space using a specific strategy

The basics of Guided inspection Apply the test values to the product being tested Evaluate the results and the percentage of the model covered by the test Based on some criteria.

The basics of Guided inspection (cont...) The previous steps are specialized to the following steps: Specify the scope and depth of the inspection Identify the basis models from which the model under test (MUT) was created Develop test cases for each of the evaluation criteria to be applied using the contents of the basis model as input. Establish criteria for measuring test coverage.

The basics of Guided inspection (cont...) Perform the static analysis using the appropriate checklist. “Execute” the test cases. Evaluate the effectiveness of tests using the coverage measurement. If the coverage is insufficient, expand the test suite and apply the additional tests, otherwise, terminate the testing.

The basics of Guided inspection : Example Initial stages of developing Brickles Following work products have been produced: Design-level class diagrams [Ref. Figure 2.18] State diagrams [Ref. Figure 2.19] Sequence diagrams [Ref. Figure 2.20] Test the design model before starting coding

The basics of Guided inspection : Example (cont...) Assign the inspection team, the team includes Two developers A system tester from the company Company’s process person (Moderator) The tester will develop a set of test cases from the use case diagram. The developers will show how the classes in the design model handle each test case. The moderator will define the inspection boundaries, schedule the guided inspection sessions, etc

The basics of Guided inspection : Example (cont...) Step 1: Specify the scope and depth of the inspection The scope is defined by a set of use cases. We will cover all use cases The depth is defined by identifying levels of containment in the composition hierarchies. Test only those objects that represent the state of the match (BricklesDoc object)

The basics of Guided inspection : Example (cont...) Step 2: Identify the basis models from which the model under test (MUT) was created Design Model Design-level class diagrams [Ref. Figure 2.18] State diagrams [Ref. Figure 2.19] Sequence diagrams [Ref. Figure 2.20]

The basics of Guided inspection : Example (cont...) Step 3: Develop test cases for each of the evaluation criteria to be applied using the contents of the basis model as input. Tester will write all test cases based on the Use case diagrams like Figure 2.11, 2.12 (see next slide)

The basics of Guided inspection: Example― use cases for Brickles (cont

The basics of Guided inspection : Example (cont...) Each test case should be in the following format The use case: A player stops a Brickles match by selecting QUIT from the File Menu Preconditions: The Player has stated the Brickles, has moved the paddle, and has broken some bricks Test input: The player selects Quit Expected output: All game action freezes and the game window disappears

The basics of Guided inspection : Example (cont...) Step 4: Establish criteria for measuring test coverage. All use cases should be tested. Coverage will be 100 % for use cases and 60 % for composition hierarchies.

The basics of Guided inspection : Example (cont...) Step 5: Perform the static analysis using the appropriate checklist. Developers complete the design model checklist [Ref. Figure 4.3] Developers compare class diagram from analysis model [Ref. Figure 2.13] with the class diagram in the design model.

The basics of Guided inspection : Example— Design model checklist (cont...)

The basics of Guided inspection : Example (cont...) Step 6: “Execute” the test cases. Moderator schedules a meeting and makes the relevant material available to all involved During the meeting, the developers show how test cases will be handled by the classes in the design model

The basics of Guided inspection : Example (cont...) Step 7: Evaluate the effectiveness of tests using the coverage measurement. The moderator will note down the problems found during the symbolic execution of test cases. Founded bugs will be analyzed by the team and proper description for each bug will be developed.

The basics of Guided inspection : Example (cont...) Step 8: If the coverage is insufficient, expand the test suite and apply the additional tests, otherwise, terminate the testing. The moderator will prepare and submit a report to the project manager that contains: The problems found during the execution of the test cases. Where execution terminated. The sequence diagram used to record the test execution.

Guided inspection issues Should test cases be available to the developers prior the inspection test? No, developers should not have the scenarios prior the inspection test. Should testers only use test cases for the current increment in an inspection test? No, running a test scenario from a previous increment as a regression check on the mode is a useful idea. Coverage in models Higher the level of abstraction, the higher the level of coverage.

Key points The guided inspection technique provides a means of objectively and systematically searching a work product for faults by using explicit test cases. The basic steps in guided inspection Define the test space Select values from the test space using a specific strategy Apply the test values to the product being tested Evaluate the results and the percentage of the model covered by the test