Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh.

Slides:



Advertisements
Similar presentations
Software Testing Techniques
Advertisements

Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.
QuEdge Testing Process Delivering Global Solutions.
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Software Quality Assurance Plan
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Definitions and objectives Software testing strategies Software test.
Creator: ACSession No: 13 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Testing - Techniques CSE300 Advanced Software Engineering.
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
Chapter 17 Software Testing Techniques
Software engineering for real-time systems
Software Quality Metrics
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
BASIS PATH TESTING ● By Tom McCabe ● McCabe, T., "A Software Complexity Measure," IEEE Trans. Software Engineering, vol. SE-2, December 1976, pp
Testing an individual module
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Software Testing Prasad G.
Project Management and Scheduling
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 13 & 14 Software Testing Strategies and Techniques
Introduction to Systems Analysis and Design Trisha Cummings.
Introduction to Software Quality Assurance (SQA)
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Prof. Mohamed Batouche Software Testing.
Software System Engineering: A tutorial
Chapter 6 : Software Metrics
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Software Testing Testing types Testing strategy Testing principles.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Agenda Introduction Overview of White-box testing Basis path testing
Software Quality Metrics
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 14a: Software Testing Techniques Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Testing “The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some.
CSE 7314 Software Testing and Reliability Robert Oshana Lecture 13
1 Program Testing (Lecture 14) Prof. R. Mall Dept. of CSE, IIT, Kharagpur.
CSC 480 Software Engineering Testing - I. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Project Management. Introduction  Project management process goes alongside the system development process Process management process made up of three.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Theory and Practice of Software Testing
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
DETAILED DESIGN, IMPLEMENTATION AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Testing Integral part of the software development process.
ISQB Software Testing Section Meeting 10 Dec 2012.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Metrics 1.
Software Testing.
Software Testing.
Prologue.
Software Engineering (CSI 321)
IEEE Std 1074: Standard for Software Lifecycle
Chapter 13 & 14 Software Testing Strategies and Techniques
Types of Testing Visit to more Learning Resources.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Software testing strategies 2
Software Testing (Lecture 11-a)
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Testing “If you can’t test it, you can’t design it”
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh

Definition IEEE An activity in which a system or component under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component.

Attributes Software engineer intuition and experience. Specification. Code. Dataflow. Fault. Usage. Nature of the application.

Types of Testing Equivalence class partitioning. Boundary value. Decision table. Exploratory. Operational profile.

Equivalence class partitioning According to two attributes: Valid. Invalid. Example: age (valid) age 120 (Invalid)

Steps for ECP Define valid and invalid values. Test as many valid classes together. Do one test for each invalid class.

Boundary value Must test the following: Legally defined minimum. Legally defined maximum. The first possible value below the legally min. The first possible value above the legally max. Age ex: 0, 120, -1, 121

Decision table Lists all conditions and all resultant outputs. Y :yes N: no 1:yes and no.

Exploratory testing Emphasizing planning the focus of the testing process. Doesn’t require pre-planning. When test begins, modifications are still allowed. Test results modify the plan accordingly.

Operational profile Number of tests to be done follows the model of how much it is used during operation. Test more for features that are used more.

Testing Levels Levels vary from organization to organization, and from project to project. Some parameters: Size. Complexity. Safety criticality. Experience of staff. Desire for certification(ISO, CMMI)

Testing Levels (cont.) Operational testing: Software units, DB, integrated components, requirements and integration. Maintenance process: modified and un-modified parts, migration verification, parallel testing, all development levels for improvements. Supporting process: Verification and validation.

Testing strategies Testing all combinations is impossible! Macro: Time to market Amount of functionality to be delivered Quality of product Micro: More automation to speed process Better selection of test cases Less turnovers in testing staff.

Testing strategies (cont.) For functionality changes: Tracing requirements to see cases affected by changes. Modular testing. For quality of product: More variety in types. Better tools. Better unit test tools for developers

Testing strategies (cont.2) To control test effort cost: PM tool for estimations. Add root cause analysis.

Test Design Art and science. Structured: Boundary value Decision table Equivalence class partitioning Un structured: Random Ad hoc Exploratory

Test Coverage of code Impossible to cover all the code. Depends on the definition of ”covering”! Does it mean executing, reading, testing? Use Tom McCabe’s basis technique.

Tom McCabe’s basis technique. 1-Draw a flow graph.(nodes and edges) 2-Compute the metric cyclomatic complexity (nodes). No.edges-no.Nodes+2=cc 3-Choose paths. (cover all nodes and edges)

Test Execution Defined in a test plan (Pseudo code and flow graph) Cover all specifications is important.(categorize according to testable or not) Define components: hardware, software, personnel, data, automated tools.

Testing documentation Media vary depending on level of detail: Word doc. Spread sheets. Databases. Within automated test tools.

IEEE Testing documentation Test plan Test design Test cases Test procedures Test logos Incident reports Test summary report Test item transmittal report

Test management Estimating schedules. Planning for staffing and training. Identifying and planning tasks. Monitoring the execution of the plans and re-planning based on results.

Any questions? Thank You for your attention.