Testing the Workflows of a System

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

1
Requirements Engineering Process
Chapter 7 System Models.
Requirements Engineering Process
Copyright © 2003 Pearson Education, Inc. Slide 7-1 Created by Cheryl M. Hughes The Web Wizards Guide to XML by Cheryl M. Hughes.
BASIC SKILLS AND TOOLS USING ACCESS
Module 7 Proposal Budgets.
Manuscript Central Training Author Center Module 2.
Slide 1 FastFacts Feature Presentation December 13 th, 2007 We are using audio during this session, so please dial in to our conference line… Phone number:
1 CREATING AN ADMINISTRATIVE DRAW REQUEST (HBA) Complete a Checklist for Administrative Draw Requests (Form 16.08). Draw Requests amount must agree with.
Prepared by: Workforce Enterprise Services For: The Illinois Department of Commerce and Economic Opportunity Bureau of Workforce Development ENTRY OF EMPLOYER.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Custom Services and Training Provider Details Chapter 4.
Plan My Care Brokerage Training Working in partnership with Improvement and Efficiency South East.
Plan My Care Training Care Management Working in partnership with Improvement and Efficiency South East.
1 Advanced Tools for Account Searches and Portfolios Dawn Gamache Cindy Bylander.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Photo Slideshow Instructions (delete before presenting or this page will show when slideshow loops) 1.Set PowerPoint to work in Outline. View/Normal click.
Knowledge Extraction from Technical Documents Knowledge Extraction from Technical Documents *With first class-support for Feature Modeling Rehan Rauf,
Course Objectives After completing this course, you should be able to:
Use Cases.
Week 2 The Object-Oriented Approach to Requirements
Turing Machines.
Software testing.
Defect testing Objectives
© Telcordia Technologies 2004 – All Rights Reserved AETG Web Service Advanced Features AETG is a service mark of Telcordia Technologies. Telcordia Technologies.
PP Test Review Sections 6-1 to 6-6
© Paradigm Publishing, Inc Access 2010 Level 1 Unit 1Creating Tables and Queries Chapter 2Creating Relationships between Tables.
Microsoft Access.
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
Access Tables 1. Creating a Table Design View Define each field and its properties Data Sheet View Essentially spreadsheet Enter fields You must go to.
Health Artifact and Image Management Solution (HAIMS)
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 24.1 Test-Driving the Ticket Information Application.
INTRODUCTION Lesson 1 – Microsoft Word Word Basics
Office 2003 Introductory Concepts and Techniques M i c r o s o f t Office 2003 Integration Integrating Office 2003 Applications and the World Wide Web.
Sample Service Screenshots Enterprise Cloud Service 11.3.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Item Class User Friendly Maintenance  Copyright.
4 Oracle Data Integrator First Project – Simple Transformations: One source, one target 3-1.
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Chapter 10 Software Testing
Software Processes.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
1 How Do I Order From.decimal? Rev 05/04/09 This instructional training document may be updated at anytime. Please visit and check the.
GEtServices Services Training For Suppliers Requests/Proposals.
GL Interfaces 1 Using General Ledger Interfaces The File Maintenance and Procedures to successfully use the General Ledger Interfaces Jim Simunek, CPIM.
2004 EBSCO Publishing Presentation on EBSCOadmin.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
To the Assignments – Work in Progress Online Training Course
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
Chapter 13 Web Page Design Studio
Systems Analysis and Design in a Changing World, Fourth Edition
Physics for Scientists & Engineers, 3rd Edition
1 Atlas Copco Distribution Center DS Connect User’s Guide This document is uncontrolled if viewed or printed outside the IMS.
Page 1 Orchard Harvest ™ LIS Find a Patient Training.
4/4/2015Slide 1 SOLVING THE PROBLEM A one-sample t-test of a population mean requires that the variable be quantitative. A one-sample test of a population.
Registry and Referral System HCW/PSW Staff User Manual
Benchmark Series Microsoft Excel 2013 Level 2
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Introduction Telerik Software Academy Software Quality Assurance.
Testing the Workflows of a System Telerik Software Academy Software Quality Assurance.
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
Systems Analysis and Design in a Changing World, Fourth Edition
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Presentation transcript:

Testing the Workflows of a System Use Case Testing Testing the Workflows of a System Vasil Chimev Junior QA Engineer Centaur Team Telerik QA Academy

Table of Contents Use Case Testing Main Concepts Use Case Diagrams Logical vs. Concrete Test Cases Formal vs. Informal Use Cases Application of Use Case Testing

What Is Use Case Testing Use case testing is a way to ensure that we have tested typical and exceptional workflows and scenarios for the system This is done from the point of view of the two sides: Actors Directly interacting with the system Stakeholders Indirectly interacting with the system

Use Case Testing Use case testing definition: A black-box test design technique in which test cases are designed to execute user scenarios

Use Case Use case definition: A sequence of transactions in a dialogue between a user and the system with a tangible result

When Use Case Testing Is Not Appropriate? In some cases state-based testing may be more appropriate If we have heavy interaction of past events and conditions with the way current events and conditions should be handled

Use Case Informality The concept of a "use case" can vary considerably in formality and presentation

Use Case Informality (2) The basic idea of use cases is simple: We have some numbered (or at least sequential) list of steps Describes how an actor interacts with the system The steps can be shown in text or as part of a flowchart Use cases also show the results obtained at the end of the sequence of steps

Normal Workflow vs. Exceptions Use Cases represent two basic scenarios: Normal workflow Shows the typical, normal processing Also called: the primary scenario, the normal course, the basic course, the main course, the happy path, etc. Exceptions Shows abnormal processing Also called: exceptions, exceptional processing, or alternative courses

Receiving Use Cases In most cases test analysts do not create use cases – they receive them Test analysts create their tests based on use cases

Deriving Test Cases A test should be created for every workflow Including both: typical and exceptional workflows Sometimes exceptional workflows are not provided with the use cases received Test analysts have to prepare them using requirements or some other sources Failing to test exceptions is a common testing mistake when using informal use cases

The Bug Hypothesis Use case testing is looking for possible bugs in situations where: The system interacts improperly with the user The system delivers an improper result

Combining Use Cases And Other Test Techniques Use Cases Testing can involve applying other test techniques: Equivalence partitioning Boundary value analysis Decision table When combinations of conditions determine the actions

Deriving Tests With Use Cases Examples

E-commerce Site Use Case Example An example of a use case describing purchases from an e-commerce site may look like: E-commerce purchase: Normal workflow Customer places one or more Items in shopping cart Customer selects checkout System gathers address, payment, and shipping information from Customer System displays all information for User confirmation User confirms order to System for delivery

E-commerce Site Use Case Example (2) An example of a use case describing purchases from an e-commerce site may look like: Exceptions Customer attempts to check out with an empty shopping cart; System gives an error message Customer provides invalid address, payment, or shipping information; System gives error messages as appropriate Customer abandons transaction before or during checkout; System logs Customer out after 10 minutes of inactivity

Deriving The Test Cases Deriving test cases includes mapping each step of the workflow into a step in the test procedure Variations of a test procedure A few variations of a test case having the same core steps can be described on a single row, appended to the base test case

Deriving The Test Cases (2) A test case for the normal workflow can be: # Test Step Expected Result 1 Place 1 item in cart Item in cart 2 Click checkout Checkout screen 3 Input valid address, valid payment using American Express, and valid shipping method information Each screen displays correctly and valid inputs are accepted 4 Verify order information Show as entered 5 Confirm order Order in system 6 Repeat steps 1-5, but place 2 items in cart, and pay with Visa, and ship international As shown in 1-5 7 Repeat steps 1-5, but place the maximum number of items in cart and pay with MasterCard 8 Repeat steps 1-5, but pay with Discover

Deriving The Test Cases (3) An exceptional test case can be: # Test Step Expected Result 1 Do not place any items in cart Cart empty 2 Click Checkout Error message 3 Place item in cart, click checkout, enter invalid address, then invalid payment, then invalid shipping information Error messages, can't proceed to next screen until resolved 4 Verify order information Shown as entered 5 Confirm order Order in system 6 Repeat steps 1-3, but stop activity and abandon transaction after placing item in cart User logged out exactly 10 minutes after activity 7 Repeat steps 1-3, but stop activity and abandon transaction on each screen As shown in 6 8 Repeat steps 1-4, do not confirm order

Graphical Representation of Use cases Use Case Diagrams Graphical Representation of Use cases

UML Use cases can be graphically presented as diagrams using UML Serve the purpose of defining requirements on a relatively abstract level Describe typical user-system interactions

Use Case Diagram - Example This is an example of use case diagram for an ATM machine:

Include vs. Extend Conditions In use case diagrams relationships between use cases can be: "Include" conditions Always executed "Extend" conditions Can lead to extensions of a use case under certain conditions at a certain point (extension point) Not always executed as there are alternatives

Logical vs. Concrete Test Cases

Logical vs. Concrete Test Cases According to the level of detail test cases are considered to be two main types: Logical (or high-level) test cases Concrete (or low-level) test case

Formal vs. Informal Use Cases

Formal vs. Informal Use Cases Use cases shown in previous slides are also called informal Contain only the main steps of a user-system interaction Another type of use cases are formal use cases Contain more information than informal use cases

Elements of a Formal Use Case The typical elements of a formal use case are: ID Some use case identifier number Name A short name, like E-commerce Purchase Actor The actor, such as Customer Description A short description of the use case

Elements of a Formal Use Case (2) The typical elements of a formal use cases are: Priority The priority, from an implementation point of view Frequency of use How often this will occur Preconditions What must be true to start the use case normally

Elements of a Formal Use Case (3) The typical elements of a formal use cases are: Typical workflow - often like the informal use case, but sometimes broken into two columns: One for the actor actions One for the system response

Elements of a Formal Use Case (4) The typical elements of a formal use cases are: Exception workflows One for each exception Often also includes actor action and system response columns Postconditions Specifies what should be true about the state of the system after the use case completes normally

Formal Use Case Example The header of a formal use case can be: ID 02.001 Name E-commerce Purchase Actor Customer Description Allow customer to compile a transaction by purchasing the item(s) in her shopping cart Priority Very high Frequency of use 25% of customers, up to 1,000 customers per day Preconditions 1. One or more items in shopping cart 2. Customer is logged in 3. Customer has clicked on checkout Some of the informal use case steps become preconditions

Formal Use Case Example (2) The main body of a formal use case can be: Typical workflow 1. System gathers address, payment and shipping information from Customer 2. System displays all information for User confirmation 3. User confirms order to System for delivery Exception 1 Customer attempts to checkout with empty shopping cart System gives error message Exception 2 Customer provides invalid address, payment or shipping information System gives error messages as appropriate Exception 3 Customer abandons transaction before or during checkout System logs out Customer out after 10 minutes of inactivity Postconditions Order is active in system True only if the normal workflow is completed

Application of Use Case Testing

Application of Use Case Testing The use case testing technique is useful for both system testing and acceptance testing Testing typical user system interactions Application in integration testing When use case diagrams are used to model the interactions between different subsystems

Use Case Testing ? ? ? ? ? Questions? ? ? ? ? ? ?

* Exercises (1) Which of the following types of defects is use case testing MOST LIKELY to uncover? Defects in the process flows during real-world use of the system Defects in the interface parameters in integration testing Integration defects caused by the interaction and interference of different components Defects in the system as it transitions between one state and another (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Exercises (2) Use cases can be performed to test: * Exercises (2) Use cases can be performed to test: Performance testing Unit testing Business scenarios Static testing Test Conditions are derived from: Specifications Test Cases Test Data Test Design (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Exercises (3) The Test Cases derived from use cases: * Exercises (3) The Test Cases derived from use cases: Are most useful in uncovering defects in the process flows during real world use of the system Are most useful in uncovering defects in the process flows during the testing use of the system Are most useful in covering the defects in the process flows during real world use of the system Are most useful in covering the defects at the Integration Level (c) 2007 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.*

Exercises (4) In the next few slides a semiformal use case of a bank system for home equity loans is provided Derive logical test cases for testing the normal and the exceptional workflows for the system Create use case diagram based on this use case

Exercises (5) Actor Telephone Banker Preconditions The Telephone Banker is logged into Loan System. Normal Workflow The Telephone Banker receives a phone call from a Customer. The Telephone Banker interviews the Customer, entering information into the Loan System through a Web browser interface on their Desktop. Once the Telephone Banker has gathered the information from the Customer, the Loan System determines the creditworthiness of the Customer using a Scoring Mainframe. Based on all of the Customer information, the Loan System displays various Home Equity Products that the Telephone Banker can offer to the customer. If the Customer chooses one of these Products, the Telephone Banker will conditionally confirm the Product. The interview ends. The Telephone Banker directs the Loan System to transmit the loan information to the Loan Document Printing System (LoDoPS) in the Datacenter for origination.

Exercises (6) Actor Telephone Banker Exception Workflow 1 During step 2 of the normal workflow, if the Customer is requesting a large loan or borrowing against a high-value property, the Telephone Banker escalates the application to a Senior Telephone Banker who decides whether to proceed with the application. If the decision is to proceed, then the Telephone Banker completes the remainder of step 2 and proceeds normally. If the decision is not to proceed, the Telephone Banker informs the Customer that the application is declined and the interview ends. Exception Workflow 2 During step 4 of the normal workflow, if the System does not display any Home Equity Products as available, the Telephone Banker informs the Customer that the application is declined and the interview ends.

Exercises (7) Actor Telephone Banker Exception Workflow 3 During step 5 of the normal workflow, if the Product chosen by the Customer was a Home Equity Loan, the Telephone Banker offers the Customer the option of applying for life insurance to cover the loan. If the Customer wants to apply, the following steps occur: The Telephone Banker interviews the Customer, entering health information into the Loan System through a Web browser interface on their Desktop. The Loan System processes the information. One of two outcomes will occur: a. The Loan System declines to offer insurance based on the health information given. The Telephone Banker informs the Customer that the insurance application was denied. This exception workflow is over and processing returns to step 5. b. The Loan System offers insurance at a rate based on the loan size and the health information given. The Telephone Banker informs the Customer of the offer.

Exercises (8) Actor Telephone Banker The Customer makes one of two decisions: a. Accept the offer. The Telephone Banker makes the life insurance purchase part of the overall application. This exception workflow is over and processing returns to step 5. b. Reject the offer. The Telephone Banker excludes the life insurance purchase from the overall application. This exception workflow is over and processing returns to step 5. Exception Workflow 4 During any of steps 1 through 5 of the normal workflow, if the Customer chooses to end the interview without continuing the process or selecting a product, the application is cancelled and the interview ends. Exception Workflow 5 If no Telephone Banker is logged into the system (e.g., because the system is down) and step 1 of the normal workflow begins, the following steps occur:

Exercises (9) Actor Telephone Banker The Telephone Banker continues to take the information manually. At the end of the interview, the Telephone Banker informs the Customer that a Telephone Banker will call back shortly with the decision on the application. Once a Telephone Banker is logged into the system, the application information is entered into Loan System and normal processing resumes at step 2. The Telephone Banker calls the Customer once one of the following outcomes has occurred: Step 5 of normal processing is reached. Processing continues at step 5. At step 2 of normal processing, exception workflow 1 was triggered. Processing continues at step 2. At step 4 of normal processing, exception workflow 2 was triggered. No processing remains to be done. Postconditions Loan application is in LoDoPS system for origination.

Exercises (10) In the next few slides a semiformal use case of an elevator is provided Derive exceptional workflows for the use case Derive concrete test cases for testing the normal and the exceptional workflows for the system Create use case diagram based on this use case

Exercises (11) Use Case Name Use Elevator Summary: Rider calls an elevator and uses it to ride to another floor Actor Elevator rider Preconditions Elevator is in service Normal Workflow Rider presses elevator call button Elevator system detects elevator call button pressed Elevator moves to the floor Elevator doors open Rider gets in and presses floor button Elevator doors closes If requested floor is in the same direction the elevator is going, elevator moves to requested floor If requested floor is not in the same direction the elevator is going, and no floors have been requested in that direction, elevator changes direction and moves to required floor

Exercises (12) Use Case Name Use Elevator Normal Workflow If requested floor is not in the same direction the elevator is going, and at least one floor has been requested in that direction, elevator continues processing requests in the same direction until all requests are satisfied, then changes direction and moves to required floor Elevator doors open Rider gets out Elevator doors closes If the elevator has no more requests, it moves to its home floor

Exercises (13) For the following demo: http://demos.telerik.com/silverlight/#DataForm/ICollection ViewSynchronization you have Edit item use case: Formal Use Case ID: DF0001 Name: Edit item Description: Customer navigates the DataForm demo and edits an item Actor goal: To enter its own data Actor: Customer Priority: Very high Basic flow: 1. Navigate http://demos.telerik.com/silverlight 2. Find DataForm --> ICollectionViewSynchronization demo 3. Choose an item 4. Edit the item 5. Save changes Post-conditions: The data are entered and saved correctly

Exercises (14) Define alternate and exceptional flows Think about which steps could be Pre-conditions Derive test cases using one of the templates below: Test case template: Action: Actor Verification: System … …. Test case template: Use case steps: Test case steps: Expected result: …