Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.

Slides:



Advertisements
Similar presentations
Testing Workflow Purpose
Advertisements

System Integration Verification and Validation
Physical Architecture Layer Design
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
The case study ‘Encounter’ Section ‘About case studies’ 4 th Workshop “Software Engineering Education and Reverse Engineering” Zagreb, 5 – 12 September.
Systems Analysis and Design in a Changing World, 6th Edition
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System implementation and deployment Updated: November.
9. SYSTEM INTEGRATION.
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.
Project Execution & Termination Life Cycle Execution Presented by: Basker George.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
Chapter 10 Information Systems Controls for System Reliability—Part 3: Processing Integrity and Availability Copyright © 2012 Pearson Education, Inc.
Verification & Validation and Systems Integration.
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Software Project Management Fifth Edition
Categories of Testing.
Software Engineering Modern Approaches
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Chapter 13 Requirements and Domain Classes. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFrameworkDetailed.
REQUIREMENTS ANALYSIS. Initialize Use Case for Encounter Encounter foreign character player designer Set rules actors Encounter Travel to adjacent area.
Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 7 Requirements and Domain Classes SWE 316: Software Design and Architecture.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
SWE © Solomon Seifu CONSTRUCTION. SWE © Solomon Seifu Lesson 13-2 Testing.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Requirements Engineering ments_analysis.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
The Project – Database Design. The following is the high mark band for the Database design: Analysed a given situation and produced and analysed a given.
Chapter SIX Implementation, Testing and Pragmatics Making it a reality.
1. The Context of Software Engineering. Definition of “Engineering” The profession in which a knowledge of the mathematical and natural sciences gained.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
ANU comp2110 Software Design lecture 5 COMP2110 Software Design in 2003 lecture 5 Requirements Specifications lecture 3 of 3 The Encounter game case study.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
© 2010 John Wiley & Sons Ltd. Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
TESTING (S,S,AND A,B) By KARTHIKEYAN KANDASAMY. TESTING Scenario testing – 1.System & 2. Usecase Defect bash System o Functional and non functional testing.
Requirements Engineering ments_analysis.
Requirements Engineering Requirements Validation and Management Lecture-24.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Chapter 4 Requirements Engineering (1/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
CSC480 Software Engineering Lecture 7 September 16, 2002.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
 System Requirement Specification and System Planning.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
CSC 480 Software Engineering
Software Engineering Modern Approaches
SaralTA Batch-07 Software Testing Presented By - Chittaranjan M.
Software Testing.
Chapter 4 – Requirements Engineering
Chapter 4 Requirements Engineering (1/3)
Review for Final, Fall 2010 Close book, Close notes
Applied Software Implementation & Testing
Introduction to Software Testing
Lecture 09:Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
4 REQUIREMENTS ANALYSIS CASE STUDY
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1

© 2010 John Wiley & Sons Ltd. Chapter 28: Testing at the System Level 2

Learning Goals of This Chapter How do functional and non-functional testing differ? How do you conduct performance tests? What is load / stress event testing? Reliability and Availability testing? Recoverability testing? How do you test usability? How do you validate security? How do you test when requirements are sparse or even non-existent? What is acceptance testing? What is testing like for agile processes? What are compatibility, installation, and serviceability testing? How do alpha- and beta- releases relate to testing? What is automated testing? Requirements analysis Design Implementation Testing Maintenance Planning The Software Development Lifecycle 3

© 2010 John Wiley & Sons Ltd. Performance … Test speed of application Load / Stress … Test against heavy event traffic Reliability and Availability … Determine percentage up-time Recoverability … Test ease with which applications recovers from crash Non-Functional Tests 4

© 2010 John Wiley & Sons Ltd. Usability … Determine degree of user satisfaction. Security … Determine susceptibility to intended and unintended breaches Compatibility … Application compatible with other systems as required Install-ability … Test ease of installation Serviceability … Test ease of keeping up-to-date at customer site Non-Functional Tests (cont.) 5

© 2010 John Wiley & Sons Ltd. System Testing Encounter : Engage Foreign Character Use Case Test Step 1 Steps 2, 3, and 4 Step 5 6

© 2010 John Wiley & Sons Ltd. System Testing Encounter 7

© 2010 John Wiley & Sons Ltd. System Testing Encounter 2 8

© 2010 John Wiley & Sons Ltd. Accessibility How easily can users enter, navigate & exit? e.g., measure by average time taken to... Responsiveness How ready is the application to allow the user to accomplish specified goals? How often is GUI display accurate (percentage)? How quickly are user actions acknowledged? How often is the application ready for user action? Efficiency Degree to which the number of required steps for selected functionality is minimal “minimal” calculated theoretically e.g., measure by minimal time / average time Comprehensibility How easy is the product to understand and use with documentation and help? e.g., measure time taken for standard queries Key Attributes for Usability Testing* * Partly adapted from Kit [Ki]. 9

© 2010 John Wiley & Sons Ltd. Example of Usability Scores QualityScoreVariance Industry Average Variance Accessibility Responsiveness Efficiency Comprehensibility

© 2010 John Wiley & Sons Ltd. Usability Testing 1 11

Usability Testing 2 © 2010 John Wiley & Sons Ltd. 12

Usability Testing 3 © 2010 John Wiley & Sons Ltd. 13

© 2010 John Wiley & Sons Ltd. Testing for Security Confidentiality oSniffers validate that data passed not visible to unauthorized parties oHire professional hackers? Nonrepudiation oExperiments to validate Integrity oAlter data and validate consequences Authentication oHire professional hackers? Authorization oHire professional hackers? 14

© 2010 John Wiley & Sons Ltd. Why Test Without Requirements? Provides a “feel” for the application Even complete requirements do not do this well The Requirements document omits implicit ones The Requirements may be incomplete -- be inconsistent with the code -- be missing -- never have been written down at all You can’t access the requirements because the product is from a third party Vendor software that you must test before using 15

Directed Graphs node edge © 2010 John Wiley & Sons Ltd. 16

Initial Directed Graph for OpenOffice 1 2 Actions Launch text document processing. Enter text Hit file / save Enter a file name and press save 34 An action. Edge indicates sequence (only one in this case). © 2010 John Wiley & Sons Ltd. 17

Directed Graph for OpenOffice 1 2 Actions 1.Launch text document processing. 2.Enter text 3.Hit file / save as 4.Enter a file name and press save 5.Convert 3 line to headings at levels 1, 2, and 3 6.Bold some text 7.File exists? 8.Hit save / “already exists” pops up / yes save headings 6 boldsave headings 8 7 [Predicate node] T F © 2010 John Wiley & Sons Ltd. 18

Using the Directed Graph for OpenOffice for Testing 1 2 Actions 1.Launch text document processing. 2.Enter text 3.Hit file / save as 4.Enter a file name and press save 5.Convert 3 line to headings at levels 1, 2, and 3 6.Bold some text 7.File exists? 8.Hit save / “already exists” pops up / yes save headings 6 bold headings 8 7 [Predicate node] T F save Paths: © 2010 John Wiley & Sons Ltd. 19

© 2010 John Wiley & Sons Ltd. Order of Testing With Directed Graphs The most expected paths with no error or anomaly conditions The most expected paths with error or anomaly conditions The paths most likely to yield defects 20

© 2010 John Wiley & Sons Ltd. Alpha- and Beta- Releases In-house and highly trusted users  Multiplies testing  Previews customer reaction  Benefits third-party developers  Forestalls competition Selected customers  Multiplies testing activity  Obtains customer reaction Alpha Beta 21

© 2010 John Wiley & Sons Ltd. Test TypeApproachCorresponding document sections Unit White- and black box; method and class tests; test against D- requirements and design. SRS section(s): 3.2 Classes/Objects SDD section(s): 6. Detailed design Integration Gray box; mostly package-level; oriented to builds (1, 2, and 3); test against architecture and C- requirements. SRS section(s): 2. Overall description, 3.1 External interfaces, validate representative requirements in 3.2 Classes/Objects SDD section(s): 3. Decomposition description, 4. Dependency description, 5. Interface description. System Black box; all packages; whole system (Build 3); test against non- functional requirements, architecture and C-requirements. SRS section(s): 2. Overall description, 3.1 External interfaces, validate representative requirements in 3.2 Classes/Objects, 3.3 Performance requirements, 3.4 Design constraints, 3.5 Software system attributes, 3.6 Other requirements SDD section(s): 3. Decomposition description, 4. Dependency description, 5. Interface description ; validate representative requirements in 6. Detailed design. Approaches and Documentation for Test Types 22

© 2010 John Wiley & Sons Ltd. 23

© 2010 John Wiley & Sons Ltd. DocumentSectionRequirement Title SRS User interface for setting quality values User interface for setting quality values 3.2.ECEncounter characters 3.2.FCForeign characters 3.2.PPlayer characters 3.2.PQThe player quality window SDD for RPG framework 3.1.2Characters package 5.0Interface description SDD for Encounter 3.1.2EncounterCharacters package 4.2Inter-process dependencies Interface to the EncounterCharacters package Features to be Tested in Build 1 24

© 2010 John Wiley & Sons Ltd. Quality Player input value Foreign input value OtherAction Intera- tion Test # B1.1 N/A Get player character Verify by name B1.2 N/A Get foreign character Verify by name B1.3 Concentra- tion 3040N/A Verify output values == input values B1.4 Stamina3040N/A Verify output values == input values B Integration Test Inputs, Outputs, and Actions 25

© 2010 John Wiley & Sons Ltd. 26

Architecture and Modularization of Encounter Role-playing Game EncounterCharacters EncounterGame EncounterCast «facade» EncounterGame «facade» EncounterEnvironment «facade» © 2010 John Wiley & Sons Ltd. 27

4. select exit for character 3a. enter quality value 1b. «create» 2. «create» 3b. setQuality() :Encounter- Game :Player quality window main player character: Player Character dressing room: Area 1a*. «create» 5. move() Sequence Diagram for Initialize Use Case * Numbering keyed to use case User © 2010 John Wiley & Sons Ltd. 28

3.1 «create» engagement: Engagement 2.1 setPlayerQuality() 1.3 «create» 3.2 displayResult() :Player’s main character :Encounter game :Engagement Display freddie: Foreign Character 1.2 display() :Encounter Cast 1.1 displayForeignChar() 2.2 setQuality() 2.3 setForeignQuality() 2.4 setQuality() 2. execute() Sequence Diagram for Encounter Foreign Character Use Case © 2010 John Wiley & Sons Ltd. 29

A Comparison of Method Invocations in Eclipse © 2010 John Wiley & Sons Ltd. 30

Graphical Comparison of Method Execution Time in Eclipse © 2010 John Wiley & Sons Ltd. 31