CPIS 357 Software Quality & Testing

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Software Quality Assurance Plan
Testing Workflow Purpose
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing and Quality Assurance
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Documentation Testing
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)
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Software Process and Product Metrics
Introduction to Software Testing
Types and Techniques of Software Testing
Software Testing & Strategies
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 1 Basic Concepts and Preliminaries
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Introduction to Computer Technology
Effective Methods for Software and Systems Integration
Chapter : Software Process
Introduction to Information System Development.
S/W Project Management
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Chapter 2 The process Process, Methods, and Tools
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Chapter 2 Process: A Generic View
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.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Chapter SIX Implementation, Testing and Pragmatics Making it a reality.
Software Construction Lecture 18 Software Testing.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M37 8/20/2001Slide 1 SMU CSE 8314 /
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering Lecture 10: System Engineering.
IT Project Management, Third Edition Chapter 8 1 Chapter 5: Project Quality Management.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Chapter 3- BASIC CONCEPTS OF TESTING Why software can never be perfect The terms commonly used by software testers.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
CS223: Software Engineering Lecture 25: Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
Software Quality and Testing (CSC 4133)
Fundamentals of Information Systems, Sixth Edition
Software Engineering (CSI 321)
Software Testing Testing process, Design of test cases.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 2 Theory of Program Testing
IEEE Std 1074: Standard for Software Lifecycle
Quality Management Perfectqaservices.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Introduction to Software Testing
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.
Chapter 1 Introduction(1.1)
Chapter 10 – Software Testing
Software Quality Assurance Lecture 2
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010

Lecture Objectives Chapter 1 :Basic Concepts and Preliminaries Central Issue in Testing Testing Activities Test Levels Sources of Information for Test Case Selection White- Box and Black – Box Testing Test Planning and Design Monitoring and Measuring Test Execution Test Tools and Automation Test Team Organization and Management

Central Issue in Testing Figure 1: A subset of the input domain exercising a subset of the program behavior Divide the input domain D into D1 and D2 Select a subset D1 of D to test program P It is possible that D1 exercise only a part P1 of P Selection of the subset of the input domain must be done in a systematic and careful manner so that the deduction is as accurate and complete as possible. For example. The idea of coverage is considered while selecting the test case.

Figure 2: Different activities in process testing Testing Activities Figure 2: Different activities in process testing Identify the objective to be tested. (Purpose designing one or more test case) Select inputs.(Requirements specification, source code) Compute the expected outcome.(High Level understanding both objective and specification) Set up the execution environment of the program. (Local/Remote) Execute the program.(Different location at different time) Analyze the test results.(Pass/Fail/Inconclusive)

Figure 3: Development and testing phases in the V model Test Levels Unit testing Individual program units, such as procedure, methods, Function and Classes in isolation Integration testing Modules are assembled to construct larger subsystem and tested by software developer and test engineer System testing Includes wide spectrum of testing such as functionality, Security, Stability, Performance, reliability and load Acceptance testing Customer’s expectations from the system Two types of acceptance testing UAT: System satisfies the contractual acceptance criteria BAT: System will eventually Measure the quality of the product rather than searching for the defect. Figure 3: Development and testing phases in the V model

Figure 4: Regression testing at different software testing levels Test Levels Figure 4: Regression testing at different software testing levels New test cases are not designed Test are selected, prioritized and executed To ensure that nothing is broken in the new version of the software

Source of Information for Test Case Selection Requirement and Functional Specifications Capturing user needs. Informal or formal manner Examples: plaintext, flowchart, figures, equations, use case, entity relationship diagram or class diagram Source Code Internal behavior of the system. By software engineer (for the design details) and programmer add more details Example: Sort Function Input and Output Domain Example: factorial (0) =1; factorial (1) =1 ; factorial (n) =n* factorial (n-1) Operational Profile Is a quantitative characterization of how the system will be used and guide test engineers in selecting test case input. Fault Model Error Guessing Fault Seeding (Fault Injection) Mutation Analysis (Fault Simulation)

White-box and Black-box Testing White Box Testing ( Structural Test) Black Box Testing (Functional Test) Examines source code with focus on: Control Flow Data Flow Control flow refers to flow of control from one instruction to another. Data flow refers to propagation of values from one variable or constant to another variable. It is applied to individual units of a program. Software developers perform structural testing on the individual program units they write Examines the program that is accessible from outside Applies the input to a program and observe the externally visible outcome. It is applied to both an entire program as well as to individual program units. It is performed at the external interface level of a system. It is conducted by a separate software quality assurance group.

Test Planning and Design The purpose is to get ready and organized for test execution. A test plan provides a: Framework A set of ideas, facts or circumstances within which the tests will be conducted. Scope The test activities and the outline of the domain. Details of resource needed Effort required Schedule of activities Budget During the test design phase the system requirements are critically studied, system features to be tested and the objective and the detailed behavior of test cases are defined. Test objectives are identified from different sources. Each test case is designed as a combination of modular test components called test steps. Test steps are combined together to create more complex tests.

Monitoring and Measuring Test Execution Metrics for monitoring test execution (concern on test). Metrics for monitoring defects (concern on the result from the test). Needed to be tracked and analyzed in a periodic basic (daily or weekly). Metrics is meaningful if enable management to make decision making which reduce delay, improve quality and lower the cost. The evaluation done through the following: Evaluate the effectiveness, Evaluate productivity, Evaluate the quality, Evaluate the product. Test case effectiveness metrics Measure the “defect revealing ability” of the test suite Use the metric to improve the test design process Test-effort effectiveness metrics Number of defects found by the customers that were not found by the test engineers After product Developed.

Test Tools and Automation strengths Prerequisites List Increased productivity of the testers. Better coverage of regression testing. Reduced durations of the testing phases. Reduced cost of software maintenance. Increased effectiveness of test cases. The test cases to be automated are well defined. Test tools and an infrastructure are in place. The test automation professionals have prior successful experience in automation. Adequate budget have been allocation for the procurement of software tools. Weaknesses Long learning Curves. High time and cost for test preparation. Test tool limitation.

Figure 5: Structure of test groups Test Team Organization and Management Figure 5: Structure of test groups Unit Testing  Programmer System Integration  Test engineer System test group  must be separated from development group and they put the plan for the UAT, BAT Acceptance  Client special group (SW quality assurance engineer, business associate, customer support engineer) Hiring and retaining test engineers is a challenging task. Interview is the primary mechanism for evaluating applicants.