FOR0383 Software Quality Assurance

Similar documents
Rational Software. Course Registration System Use-Case Model

Course Registration Case Study

Modeling a Problem Scenario with UML

UML TUTORIALS THE USE CASE MODEL

Use Case Diagrams. Tutorial

Large Scale Systems Design G52LSS

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Tips for writing good use cases.

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Scenario-based Requirements Engineering and User-Interface Design

CS 3610: Software Engineering. Summer Software Requirements Specification Document. Project Title: Road Repair Tracking System

The Role of Requirements Traceability in System Development

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements

User experience storyboards: Building better UIs with RUP, UML, and use cases

Course Outline. Foundation of Business Analysis Course BA30: 4 days Instructor Led

Analysis and Design of a Simplified Patient Care System, DNS

Requirement engineering Exercise the POS System solution

The Dangers of Use Cases Employed as Test Cases

DOCUMENTING USE CASES

BCS Certificate in Systems Modelling Techniques Syllabus

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

STUDENT ADMINISTRATION TRAINING GUIDE TROUBLE SHOOTING WAIT LISTS

Functional Test Plan Template

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

New York University Computer Science Department Courant Institute of Mathematical Sciences

Ready to get started? Click the button below to tell us which account number you currently have:

The role of integrated requirements management in software delivery.

Advanced Software Test Design Techniques Use Cases

Software Requirements Specification of A University Class Scheduler

TheEducationEdge. Scheduling Guide

Object-oriented design methodologies

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Electronic Data Solutions. E-Prescription System Software Requirement Specifications. Version 1.0

Vision Document Airline Reservation System

Communication Diagrams

UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior

CSc 230 Software System Engineering FINAL REPORT. Project Management System. Prof.: Doan Nguyen. Submitted By: Parita Shah Ajinkya Ladkhedkar

Why Data Flow Diagrams?

Software Engineering I CS524 Professor Dr. Liang Sheldon X. Liang

Software Specification and Architecture 2IW80

Developing Business Architecture with TOGAF

Preparing your Domain to transfer from Go Daddy

StudentInformationSystem

Requirements Engineering for Web Applications

Supply Chain Management Use Case Model

Group18-CUCE2012. Mr. Mobile Project. Software Testing Plan (STP) Version: 4.0. CM Identifier: G18_SE004

Registration Using myuk

Kirsten Sinclair SyntheSys Systems Engineers

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

How To Use Online Student Health Online

Agilent MicroLab Software with Spectroscopy Configuration Manager and Spectroscopy Database Administrator (SCM/SDA)

Software Requirements Specification. Web Library Management System

Course Overrides. Introduction. Accessing Course Overrides

STOCK MARKET INVESTMENT FANTASY LEAGUE

1) Testing of general knowledge 25%. Each right question counts 1. Each wrong counts 0.5. Empty

Model-based Testing: Next Generation Functional Software Testing

Test Automation Architectures: Planning for Test Automation

OVERVIEW OF THE PROJECT...

PRV Outreach MediPASS Enrollment Overrides (Via Fax or Only)

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

Create New MyWorkKeys Account Quick-Start Guide for the ACT National Career Readiness Certificate (ACT NCRC )

Online Class Registration Quick Guide for Students

Process: Self Service

RYERSON UNIVERSITY Ted Rogers School of Information Technology Management And G. Raymond Chang School of Continuing Education

Learning Management System (LMS) User Guide. 4 March 2015

OO Analysis and Design with UML and USDP. Solutions. Created by Dr. Jim Arlow. Version 2.0

An Associate of the UOB Group A UTRADE FX ELITE QUICK START GUIDE

Pathway help: Class Search/Browse Catalog

Sage 100 ERP (MAS90 / MAS200) How to Set up Security in Sage 100 ERP

AEORION STUDENT MANAGEMENT SYSTEM

Functional Requirements Document -Use Cases-

Menouer Boubekeur, Gregory Provan

Johnson County Community College

Test Plan Online Book Store Phase-II. Vamsi Krishna Mummaneni

FPT UNIVERSITY. Capstone Project

Energy Use Case - Creative Ideas For Creating a Business Environment

StFX Registration Tutorial

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Use Case Modeling. Software Development Life Cycle Training. Use Case Modeling. Set A: Requirements Analysis Part 3: Use Case Modeling

Distance Education Policies and Procedures

2 business days from the date of K-Cyber Invest registration.

PeopleSoft Enterprise Campus Solutions 9.0 Enrollment Web Services

MC EDT Designee Maintenance Procedure Summary. Ministry of Health and Long-Term Care

EVENT REGISTRATION UPLOADER DOCUMENTATION

1. Component#2 File Management System

JMS, MAT150 THIS SYLLABUS, COURSE SCHEDULE, ASSIGNMENTS, AND EXAM DATES Summer 2014 ARE SUBJECT TO CHANGE AS CIRCUMSTANCES DICTATE.

What does (single tilde) mean?... 5

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition.

DEVELOPMENT OF HR INFORMATION SYSTEM FOR

SolovatSoft. Load and Performance Test Plan Sample. Title: [include project s release name] Version: Date: SolovatSoft Page 1 of 13

Asset Management Automatic Financials Upload on the MITAS Internet Property Management site

MusicMark. Electronic Batch Registration: Getting Started

**Effective all Academic Sessions will display as (1) One Term on the

System testing from UML diagrams

Section C. Requirements Elicitation

Independent Study Courses

Service Oriented Architecture Design and Development Method. Name: René van Donselaar. Universiteit Utrecht

USER MANUAL KNOWLEDGE CENTER - PORTAL

Data Analysis 1. SET08104 Database Systems. Napier University

Introduction to Computers and Programming. Testing

Transcription:

FOR0383 Software Quality Assurance Lecture 30 Testing with Use Cases Register for Courses Student Course Catalog System 4/13/2009 Dr Andy Brooks 1

Source Article Generating Test Cases From Use Cases by Jim Heumann Rational edge e-zine for the rational community, June, 2001 Rational Software 2001 http://www.ibm.com/developerworks/rational/library/content/rationaledge/jun01/ge neratingtestcasesfromusecasesjune01.pdf Use cases are developed early in the project lifecycle. Test cases can be written before any code is written. 4/13/2009 Dr Andy Brooks 2

What is a Use Case? According to the Rational Unified Process, a Use Case fully describes a sequence of actions performed by a system to provide an observable result of value to a person or another system using the product under development. Use cases tell the customer what to expect, the developer what to code, the technical writer what to document, and the tester what to test. 4/13/2009 Dr Andy Brooks 3

Figure 1: Use Case Diagram for a University Course Registration System Register for Courses Student Course Catalog System Select Courses to Teach Close Registration Professor Registrar The ovals are Use Cases. The stick figures are human or other system actors. The lines represent (directed) communication. 4/13/2009 Dr Andy Brooks 4

It is a significant step to identify use cases and actors, but now there is more to be done. Each use case also requires a significant amount of text to describe it. This text is usually formatted in sections, as shown in Table 1. 4/13/2009 Dr Andy Brooks 5

Table 1: Format for a Use-Case Textual Description Use Case Section Name Brief Description Flow of events Special Requirements Preconditions Postconditions Description An appropriate name. A brief description of the Use Case. A description of what the system does, not how the system does it. The description must be understandable by the customer. Non-functional requirements that need to be addressed during design and implementation. Constraints that apply at the time the Use Case starts. Constraints that apply at the time the Use Case ends. The most important part is flow of events (basic flow and alternative flow). 4/13/2009 Dr Andy Brooks 6

Figure 2: Basic Flow of Events and Alternate Flows of Events for a Use Case Rational Software 2001 Basic flow should be considered as what normally happens. Sometimes alternative flows return to the basic flow and sometimes they end the Use Case. 4/13/2009 Dr Andy Brooks 7

Use Case: Register for Courses, Basic Flow Rational Software 2001 1. Logon This use case starts when a Student accesses the Wylie University Web site. The system asks for, and the Student enters, the student ID and password. 2. Select Create a Schedule The system displays the functions available to the student. The student selects "Create a Schedule." 3. Obtain Course Information The system retrieves a list of available course offerings from the Course Catalog System and displays the list to the Student. 4/13/2009 Dr Andy Brooks 8

Use Case: Register for Courses, Basic Flow Rational Software 2001 4. Select Courses The Student selects four primary course offerings and two alternate course offerings from the list of available course offerings. 5. Submit Schedule The student indicates that the schedule is complete. For each selected course offering on the schedule, the system verifies that the Student has the necessary prerequisites. 6. Display Completed Schedule The system displays the schedule containing the selected course offerings for the Student and the confirmation number for the schedule. 4/13/2009 Dr Andy Brooks 9

Use Case: Register for Courses, Alternative Flows Rational Software 2001 1. Unidentified Student In Step 1 of the Basic Flow, Logon, if the system determines that the student ID and/or password is not valid, an error message is displayed. 2. Quit The Course Registration System allows the student to quit at any time during the use case. The Student may choose to save a partial schedule before quitting. All courses that are not marked as "enrolled in" are marked as "selected" in the schedule. The schedule is saved in the system. The use case ends. 4/13/2009 Dr Andy Brooks 10

Use Case: Register for Courses, Alternative Flows Rational Software 2001 3. Unfulfilled Prerequisites, Course Full, or Schedule Conflicts In Step 5 of the Basic Flow, Submit Schedule, if the system determines that prerequisites for a selected course are not satisfied, that the course is full, or that there are schedule conflicts, the system will not enroll the student in the course. A message is displayed that the student can select a different course. The use case continues at Step 4, Select Courses, in the basic flow. 4. Course Catalog System Unavailable In Step 3 of the Basic Flow, Obtain Course Information, if the system is down, a message is displayed and the use case ends. 5. Course Registration Closed If, when the use case starts, it is determined that registration has been closed, a message is displayed, and the use case ends. 4/13/2009 Dr Andy Brooks 11

Textual descriptions of flows Each step should be numbered. A step should indicate what the actor does and what the system does in response. Alternative flows always specify where they start in the basic flow and where they go when they end. 4/13/2009 Dr Andy Brooks 12

Use-Case Scenarios A scenario is a path through a Use-Case. Following the basic flow is one of many possible scenarios. Scenarios are used for creating test cases. Table 2 lists all the possible scenarios for the diagram shown in Figure 2. Note: In creating a list of all the possible scenarios, the loop of Alternative Flow 3 is either not taken or taken only once. zero times and one time around the loop 4/13/2009 Dr Andy Brooks 13

Table 2: Scenarios for the Use Case shown in Figure 2 Rational Software 2001 Scenario 1 Basic Flow Scenario 2 Basic Flow Alternative Flow 1 Scenario 3 Basic Flow Alternative Flow 1 Alternative Flow 2 Scenario 4 Basic Flow Alternative Flow 3 Scenario 5 Basic Flow Alternative Flow 3 Alternative Flow 1 Scenario 6 Basic Flow Alternative Flow 3 Alternative Flow 1 Alternative Flow 2 Scenario 7 Basic Flow Alternative Flow 4 Scenario 8 Basic Flow Alternative Flow 3 Alternative Flow 4 4/13/2009 Dr Andy Brooks 14

Table 3: Partial Scenario Matrix for the Register for Courses Use Case Rational Software 2001 Scenario Name Starting Flow Alternate S1 Successful registration Basic Flow S2 Unidentified student Basic Flow A1 S3 User quits Basic Flow A2 S4 Course Catalog System unavailable Basic Flow A4 S5 Registration Closed Basic Flow A5 S6 Cannot enroll Basic Flow A3 There should be at least one test case for each scenario. Additional test cases may be required for a scenario like A3 where cannot enroll can be as a result of either unfulfilled prerequisites, a course being full, or a conflict in the schedule. Additional test cases may be required for a scenario to test boundary values. 4/13/2009 Dr Andy Brooks 15

Test Case ID RC1 Table 4: Test Case Matrix for the Register for Courses Use Case Rational Software 2001 Scenario/ Condition S1 successful registration RC2 S2 unidentified student RC3 RC4 S3 valid user quits S4 course registration system unavailable Student ID Password Courses selected Prerequisties fulfilled Course Open Schedule Open Expected Result V V V V V V Schedule and confirmation number displayed I N/A N/A N/A N/A N/A Error message: back to login screen V V N/A N/A N/A N/A Login screen appears V V N/A N/A N/A N/A Error message: back to step 2 V means valid, I means invalid, and N/A means that it is not necessary to supply a data value in this case. 4/13/2009 Dr Andy Brooks 16

Table 4: Test Case Matrix for the Register for Courses Use Case Rational Software 2001 Test Case ID Scenario/ Condition RC5 S5 registration closed RC6 RC7 RC8 S6 cannot enroll, course full S6 cannot enroll, prerequisite not fulfilled S6 cannot enroll, schedule conflict Student ID Password Courses selected Prerequisties fulfilled Course Open Schedule Open Expected Result V V N/A N/A N/A N/A Error message: back to step 2 V V V V I V Error message: back to step 3 V V V I V V Error message: back to step 4 V V V V V I Error message: back to step 4 4/13/2009 Dr Andy Brooks 17

A review (inspection) of Table 4 Test case matrices such as Table 4 should be reviewed for accuracy and completeness. Identify redundant or missing test cases. Outwith successful flow, a row should normally contain at least one I, indicating an invalid condition being tested. For example, RC3, RC4, and RC5 have the same combination of Vs and N/As: Conditions concerned with Course Registration System unavailable and Registration Closed are missing. When a test case matrix is approved, actual data values can then be specified for each test case. 4/13/2009 Dr Andy Brooks 18

Table 5: Test Case Matrix with Data Values Rational Software 2001 4/13/2009 Dr Andy Brooks 19

Generating Test Cases from Use Cases - summary - Identifying all the scenarios in a Use Case is like identifying all the paths in a graph. The loop problem in graph-based testing is solved by looping zero times or one time only. Scenario matrices need to be reviewed for accuracy and completeness before actual data values are chosen for each test case. Perhaps the greatest benefit in trying to write test cases from Use Cases is identifying how to improve the Use Cases. 4/13/2009 Dr Andy Brooks 20