Testing - Page P3-L15-1 MEF-TRANSITION-P3-L15-1 Dr. M.E. Fayad Lesson 15: Testing SoftwareEngineeringII.

Slides:



Advertisements
Similar presentations
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
Advertisements

Object-oriented Software Change Dynamic Impact Analysis Lulu Huang and Yeong-Tae Song Dept. of Computer and Information Sciences Towson University Towson,
Test Execution and Defect management. 2 Module Objectives Introduction to Test Execution Checklist of Test Execution Defect management Defect Classification.
Component 4: Introduction to Information and Computer Science Unit 9: Components and Development of Large Scale Systems Lecture 5 This material was developed.
Object-Oriented Metrics. Characteristics of OO ● Localization ● Encapsulation ● Information hiding ● Inheritence ● Object abstraction.
Informatics 43 – April 30, What is a test case? An input to a system, and the correct output. An “input” may be complex. Example: – What is an input.
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
Copyright © Active Frameworks, Inc.. - All Rights Reserved - V2.0 Introduction - Page L1-1 PS95&96-MEF-L1-1 Dr. M.E. Fayad Creationa l Paradigm.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
MEF-TRANSITION-P2-L7-1 Dr. M.E. Fayad Collecting Project Metrics - Page P2-L7-1 Lesson 7: Collecting Project Metrics SoftwareEngineeringII.
Testing Smart Report Template By: Kashif Masud Topics Smart Report Template overview Testing techniques used and why Number of test cases generated Effort.
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
A UTOMATED S OFTWARE T ESTING Mishna Haria Mxh06u.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
White-box Testing Black-box Testing Extensions
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
Prof. Mohamed Batouche Software Testing.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Selecting a CASE Tool - Page P1-L4-1 MEF-TRANSITION-P1-L4-1 © Dr. M.E. Fayad Lesson 4: Selecting an OO CASE Tool SoftwareEngineeringII.
Tracking the Project - Page P2-L8-1 MEF-TRANSITION-P2-L8-1 Dr. M.E. Fayad Lesson 8: Tracking & Controlling the Project SoftwareEngineeringII.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Software Measurement & Metrics
Testing Workflow In the Unified Process and Agile/Scrum processes.
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
Software Metrics (Part II). Product Metrics  Product metrics are generally concerned with the structure of the source code (example LOC).  Product metrics.
Chapter 13: Regression Testing Omar Meqdadi SE 3860 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.
Selecting An OO Technique - Page P1-L3-1 MEF-TRANSITION-P1-L3-1 Dr. M.E. Fayad Lesson 3: Selecting an OO Technique SoftwareEngineeringII.
OO & Prototyping - Page P3-L12-1 MEF-TRANSITION-P3-L12-1 Dr. M.E. Fayad Lesson 12: OO & Prototyping SoftwareEngineeringII.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Waterfall Life Cycle
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
Test Case Designing UNIT - 2. Topics Test Requirement Analysis (example) Test Case Designing (sample discussion) Test Data Preparation (example) Test.
Reusability - Page P3-L10-1 MEF-TRANSITION-P3-L10-1 Dr. M.E. Fayad Lesson 10: Reusability SoftwareEngineeringII.
MTA EXAM Software Testing Fundamentals : OBJECTIVE 6 Automate Software Testing.
Resource Requirements - Page P2-L5-1 MEF-TRANSITION-P2-L5-1 Dr. M.E. Fayad Lesson 5: Establishing Resource Requirements SoftwareEngineeringII.
OOAD UNIT V B RAVINDER REDDY PROFESSOR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING.
Testing OO Software Encapsulation means modeling and storing with an object the parts and the operations. Interactions become implicit in code. Makes difficult.
Martin Hoffman Monica Hoffman. Goal To determine if a correlation exists between specified internal and dependability (external) metrics.
Inspections - Page P3-L14-1 MEF-TRANSITION-P3-L14-1 Dr. M.E. Fayad Lesson 14: Inspections SoftwareEngineeringII.
CS223: Software Engineering Lecture 21: Unit Testing Metric.
Legacy Systems - Page P3-L11-1 MEF-TRANSITION-P3-L11-1 Dr. M.E. Fayad Lesson 11: Dealing With Legacy Systems SoftwareEngineeringII.
Lecture 2 Software Testing 2.1 System Testing 2.2 Component Testing ( Unit testing ) 2.3 Test Case Design 2.4 Test Automation.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Testing Integral part of the software development process.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Discussion of Course Syllabus Class will start momentarily. Please Stand By … CS 8532: Advanced.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad , Monday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Final Exam Study Guide COP 4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of EE and Computer Science University of.
Static Software Metrics Tool
Design Characteristics and Metrics
Halstead’s software science: An analystical model
Object-oriented software testing
Class and Method Design
Design Metrics Software Engineering Fall 2003
How does a Requirements Package Vary from Project to Project?
The Object Oriented Approach to Design
Design Metrics Software Engineering Fall 2003
Informatics 43 – April 28, 2016.
Presented by Trey Brumley and Ryan Carter
Department of Computer Science Regression Testing.
Software Testing “If you can’t test it, you can’t design it”
CS 2704 Object Oriented Software Design and Construction
Coupling Interaction: It occurs due to methods of a class invoking methods of other classes. Component Coupling: refers to interaction between two classes.
Improving Your Testing
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Chapter 8: Design: Characteristics and Metrics
Presentation transcript:

Testing - Page P3-L15-1 MEF-TRANSITION-P3-L15-1 Dr. M.E. Fayad Lesson 15: Testing SoftwareEngineeringII

Testing - Page P3-L15-2 MEF-TRANSITION-P3-L15-2 Dr. M.E. Fayad Lesson Objectives oUnderstand the importance of testing oLearn how to maximize the effectiveness of unit testing using OO oUnderstand why OO minimizes regression testing oUnderstand why OO facilitates automated testing oLearn when to automate testing

Testing - Page P3-L15-3 MEF-TRANSITION-P3-L15-3 Dr. M.E. Fayad I MPORTANCE O F P ROPER T ESTING Validate the system for use Defect free code a must for successful reuse Users associate defects with quality

Testing - Page P3-L15-4 MEF-TRANSITION-P3-L15-4 Dr. M.E. Fayad M AXIMIZING T HE E FFECTIVENESS O F U NIT T ESTING Keep object interfaces to a minimum High level of cohesion - object contains only functionally related components Keep objects a reasonable size –Build large objects out of small objects –How to determine correct size: »McCabe’s Complexity Metric »Halstead’s Metrics »Rule of Thumb: Methods no more than two pages

Testing - Page P3-L15-5 MEF-TRANSITION-P3-L15-5 Dr. M.E. Fayad M C C ABE C OMPLEXITY A NALYSIS A IDS U NIT S IZING Graph shows potential execution paths Complexity to be kept below a predetermined threshold No unstructured code sequences FOR MORE INFORMATION: McCabe Associates Twin Knolls Professional Park 5501 Twin Knolls Rd. Suite 111 Columbia, MD FOR MORE INFORMATION: McCabe Associates Twin Knolls Professional Park 5501 Twin Knolls Rd. Suite 111 Columbia, MD 21045

Testing - Page P3-L15-6 MEF-TRANSITION-P3-L15-6 Dr. M.E. Fayad H ALSTEAD’S S OFTWARE S CIENCE - D EFINITIONS Determine difficulty from the program Calculate vocabulary of the program –Vocabulary = n1 + n2, where »n1=Number of unique operators »n2=Number of unique operands Calculate length of the program –Length = N1 + N2, where »N1=Total operators »N2=Total operands Calculate difficulty from vocabulary and length FOR MORE INFORMATION: Halstead, Maurice H. Elements of Software Science Elsevier North Holland, Inc FOR MORE INFORMATION: Halstead, Maurice H. Elements of Software Science Elsevier North Holland, Inc. 1977

Testing - Page P3-L15-7 MEF-TRANSITION-P3-L15-7 Dr. M.E. Fayad OO M INIMIZES R EGRESSION T ESTING Regression testing retests capabilities after an update Before OO, encapsulation was not enforced This led to... F1 F5 F2a S1 S2 F4F3 Many units have access to the same data! Changing F2 could impact all other functions!

Testing - Page P3-L15-8 MEF-TRANSITION-P3-L15-8 Dr. M.E. Fayad OO M INIMIZES R EGRESSION T ESTING Encapsulation and Information Hiding prevent unintentional interactions O1a O2 O4 O5 O3 Changing this object has little or no impact on other objects!

Testing - Page P3-L15-9 MEF-TRANSITION-P3-L15-9 Dr. M.E. Fayad OO F ACILITATES A UTOMATED T ESTING Automated test generation techniques work well for OO –Objects provide manageable units –Encapsulation provides natural test boundaries –Rigorous interfaces help generation of thorough test cases

Testing - Page P3-L15-10 MEF-TRANSITION-P3-L15-10 Dr. M.E. Fayad W HEN T O A UTOMATE T ESTING Very large applications –Test more frequently during development –Narrow down changes to smaller sections of new code Long life-cycle applications –Captures test cases when experts are still available Frequently upgraded applications –Formal testing repeated many times

Testing - Page P3-L15-11 MEF-TRANSITION-P3-L15-11 Dr. M.E. Fayad T ESTING S UMMARY OO maximizes the effectiveness of unit testing Encapsulation minimizes impacts, reducing errors in regression testing OO is well suited for automated testing Automate testing for: –Very large applications –Long life-cycle applications –Frequently upgraded applications