Recall The Team Skills Analyzing the Problem

Slides:



Advertisements
Similar presentations
Testing Workflow Purpose
Advertisements

Test Yaodong Bi.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Use-case Modeling.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Recall The Team Skills Analyzing the Problem
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Project Documentation and its use in Testing JTALKS.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Test Design Techniques
What is Business Analysis Planning & Monitoring?
RUP Requirements RUP Artifacts and Deliverables
Extreme Programming Software Development Written by Sanjay Kumar.
Introduction Telerik Software Academy Software Quality Assurance.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
MOHANA PRIYA TEST SCENARIO  Test scenario represent a powerful tool for test design and are a single event or a sequence of events that happen.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Testing Workflow In the Unified Process and Agile/Scrum processes.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Requirements Management with Use Cases Module 9: Requirements Across The Product Lifecycle Requirements Management with Use Cases Module 9: Requirements.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Is 581 assist Inspiring Minds/is581assistdotcom FOR MORE CLASSES VISIT
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Requirements and the Requirements Engineering Process
Software Engineering (CSI 321)
Recall The Team Skills Refining the Use cases
John D. McGregor Session 9 Testing Vocabulary
Recall The Team Skills Analyzing the Problem (with 5 steps)
Software Testing.
Object-Oriented Analysis and Design
Software Requirements
John D. McGregor Session 9 Testing Vocabulary
Requirements-Based Testing
Unit Test: Functions, Procedures, Classes, and Methods as Units
John D. McGregor Session 9 Testing Vocabulary
Chapter 24 Testing Object-Oriented Applications
Fundamental Test Process
Chapter 19 Testing Object-Oriented Applications
Use Case Model Use case diagram – Part 2.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Chapter 19 Testing Object-Oriented Applications
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Applied Software Project Management
TYPES OF TESTING.
Software Development Process Using UML Recap
Presentation transcript:

Recall The Team Skills Analyzing the Problem Understanding User and Stakeholder Needs Defining the System Managing Scope Refining the System Definition Building the Right System From Use Cases to Implementation From Use Cases to Test Cases Tracing Requirements Managing Change Assessing Requirements Quality

From Use Cases to Test Cases The tester perspective Testing terms Test cases from use cases Black Box vs. White Box testing

A Tester's Perspective: Musings on the Big Black Box Traditionally, testers come late in the development process. They see the system as a black box because they know little about it. They may ask the following What is the system supposed to do and in what order? What are the things that may go wrong? How can we create test scenarios? How could I know that the system is tested completely? Anything else about the system? Is there a way to start testing earlier?

A Tester's Perspective: Musings on the Big Black Box This well be different if we have use cases. Testers will have black box + Comprehensive use case model showing how the system behave, actors, and system-user interaction. each use case has basic and alternative flow of events, pre-conditions, post-conditions Supplementary nonfunctional requirements Thus use-case technique can derive the testing process.

Use case = test case ?? Not really. We still need to make a lot of analysis to derive test cases from the use cases.

Common Testing Terms Test Plan: contains information about the purpose and goals of testing within the project, the strategies and resources needed to execute the testing process. Test case: set of test inputs, execution conditions and expected results developed for a particular objective (like satisfying a requirement) Test Procedure: set of detailed instructions for the setup, execution, and evaluation of results for a given test case.

Common Testing Terms Test script: a software script that automates the execution of the test procedure. Test coverage: defines the degree to which a given test or a set of tests addresses all specified test cases for a given system or component. Test item: a build that is an object of testing Test results: set of data captured during the execution of a test

Relationships of test artifacts Test plan Use case contains Is source of Test case Provides instructions for Test procedure Automates execution of Test script Records results of Test results

The role of test cases Test cases forms the foundation on which to design and develop test procedure Depth of testing is proportional to the number of test cases Scale of test effort is proportional to the number of test cases Test design, development and resources are governed by the test cases

Use case scenarios A scenario is an instance of a use case That is, it is a use case execution wherein a specific user executes the use case in a specific way

Use case scenarios Start use case Alternative flow 3 end use case end use case end use case

Deriving test cases from use cases: A four step processes Identify the use case scenarios For each scenario, identify one or more test cases For each test case, identify the conditions that will cause it to execute. Complete the test case by adding data values

Identify the use case scenarios Use simple matrix that can be implemented in a spreadsheet, database or test management tool. Number the scenarios and define the combinations of basic and alternative flows that leads to them. Many scenarios are possible for one use case Not all scenarios may be documented .. Use an iterative process Not all documented scenarios may be tested Use cases may be at a level that is insufficient for testing Team’s review process may discover additional scenarios

Identify the use case scenarios Example Scenario number Originating flow Alternative flow Next alternative 1 Basic flow 2 Alt. flow 1 3 Alt. flow 2 4 Alt. flow 3 5 6 7 Alt. flow 4 8

Identify the test cases Parameters of any test case: Conditions Input (data values) Expected result Actual result Test case ID Scenario/ conditon Data value 1 Data value 2 Data value N Exp. results Actual results 1 Scenario 1 2 Scenario 2 3 Scenario 3

Identify the test conditions For each test case identify the conditions that will cause it to execute a specific events. Use matrix with columns for the conditions and for each condition state whether it is valid (V): must be true for the basic flow to execute Invalid (I): this will invoke an alternative flow Not applicable (N/A): to the test case Read HOLIS example page 314-315

Add data values to complete the test cases Design real input data values that will make such conditions to be valid or invalid and hence the scenarios to happen. You may want to look at the use case constructs and branches.

Managing test coverage Select the most appropriate or critical use cases for the most thorough testing Choose the use cases based on a balance between the cost, risk, and necessity of verifying the use case. Determine the relative importance of your use cases by using a priority algorithm

Black-box vs. white-box testing =internal inspection =design assurance look inside the system and see how it does the things. Look at the architecture and the implementation of the system

Key Points One of the greatest benefits of the use case techniques is that it builds a set of assets that can be used to derive the testing process. Use cases can directly derive or seed the development of test cases The scenarios of a use case create templates for individual test cases Adding data values completes the test cases Testing non-functional requirements completes the testing process.