Scenario testing Tor Stålhane. Scenario testing – 1 There are two types of scenario testing. Type 1 – scenarios used as to define input/output sequences.

Slides:



Advertisements
Similar presentations
PROCESS/HOW TO/Chronological Order Essay:
Advertisements

Design by Contract.
1 Automated Testing & Test Tools Apirada Thadadech.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
A Linguistics-Based Approach for Use Case Driven Analysis Using Goal and Scenario Authoring Vijayan Sugumaran Oakland University Rochester, Michigan, USA.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Use Case Analysis Chapter 6.
Usability Inspection n Usability inspection is a generic name for a set of methods based on having evaluators inspect or examine usability-related issues.
Fundamentals of Information Systems, Second Edition
An evaluation framework
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Adding the Detail Filling in Use Case Templates. Use Case Template The use case diagram is important for visualizing a system and as a communication tool.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 9.3 Software Testing Strategies.
1 CSc Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.
Non-functional requirements
Test Design Techniques
Terms: Test (Case) vs. Test Suite
Test coverage Tor Stålhane. What is test coverage Let c denote the unit type that is considered – e.g. requirements or statements. We then have C c =
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Exam examples Tor Stålhane. The A scenario – 1 We are working in a small software development company – 10 developers plus two persons in administrative.
Scenario testing Tor Stålhane. Scenarios Designing scenario tests is much like doing a requirements analysis The requirements analyst tries to foster.
S/W Project Management
TESTING.
Transaction Processing Systems and System Development Life Cycle
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
SYSTEM DEVELOPMENT -Understanding the Problem IPT Miss O’Grady.
Process Design (Requirements). Recall the Four Steps of Problem Solving * Orient Plan Execute Test These apply to any kind of problem, not just spreadsheet.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Usability testing. Goals & questions focus on how well users perform tasks with the product. – typical users – doing typical tasks. Comparison of products.
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Connect training Involving people with aphasia in making a tool to discover what living with aphasia is like.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Requirements Engineering Requirements Elicitation Process Lecture-9.
The First in GPON Verification Classic Mistakes Verification Leadership Seminar Racheli Ganot FlexLight Networks.
Software Project Planning Defining the Project Writing the Software Specification Planning the Development Stages Testing the Software.
Test vs. inspection Part 2 Tor Stålhane. Testing and inspection A short data analysis.
Chapter 2.2 Game Design. CS Overview This introduction covers: –Terms –Concepts –Approach All from a workaday viewpoint.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
IT Job Roles & Responsibilities Shannon Ciriaco Unit 2:
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
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.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Introduction to Earth Science Section 2 Section 2: Science as a Process Preview Key Ideas Behavior of Natural Systems Scientific Methods Scientific Measurements.
MIS 7003 MBA Core Course in MIS Professor Akhilesh Bajaj The University of Tulsa Introduction to S/W Engineering © All slides in this presentation Akhilesh.
Facilitate Group Learning
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Evaluating Requirements
CS223: Software Engineering Lecture 8: Requirement Engineering.
UML - Development Process 1 Software Development Process Using UML.
Project Planning Defining the project Software specification Development stages Software testing.
Observing the Current System Benefits Can see how the system actually works in practice Can ask people to explain what they are doing – to gain a clear.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
T Iteration Demo LicenseChecker I2 Iteration
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.
Use Case Analysis Chapter 6.
Architecture Concept Documents
IS442 Information Systems Engineering
A test technique is a recipe these tasks that will reveal something
1.2 System Design Basics.
WEB DESIGN Cross 11, Tapovan Enclave Nala pani Road, Dehradun : ,
Presentation transcript:

Scenario testing Tor Stålhane

Scenario testing – 1 There are two types of scenario testing. Type 1 – scenarios used as to define input/output sequences. They have quite a lot in common with requirements elicitation. Type 2 – scenarios used as a script for a sequence of real actions in a real or simulated environment

Scenario testing – 2 As we will see later, quite a lot of what is needed in order to write a good scenario is closely related to what is needed to write good requirements. One of the reasons why scenario testing is so efficient may be that we, in some sense, we repeat the requirements process but with other people involved.

Writing a scenario – 1 Some rules for writing a good scenario: List possible users – analyze their interest and objectives List system events. How does the system handle them? List special events. What accommodations does the system make for these?

Writing a scenario – 2 List benefits and create end-to-end tasks to achieve them Work alongside users and to see how they work and what they do Read about what systems like this is supposed to do Create a mock business. Treat it as real and process its data

Users When we later say users, we mean the prospective users – those who will later use the system that we are currently developing and testing. What we need to do is to understand how the system is used by its real users.

List possible users For each identified user, identify his interests. A user will value the system if it furthers his interests. Focus on one interest at the time. Identify the user’s objectives. How can we test that each objective is easy to achieve?

List system events An event is any occurrence that the system is supposed to respond to. E.g. for a real time system – anything that generates an interrupt is an event. For each event we need to understand Its purpose What the system is supposed to do ith it Rules related to the event

List special events Special events are events that are predictable but unusual. They require special handling. They will also require special circumstances in order to be triggered. Make sure the scenario includes at least the most important of these circumstances.

List benefits What are the benefits that the system is supposed to provide to the users? Ask the stakeholders about their opinions. Watch out for Misunderstandings Conflicts – e.g. between groups of users or between users and customers.

Work alongside real users Observe then at their work. What do they Usually do during a working day Have problems with How do they usually solve their problems These observations help us to understand the users and give use ideas for scenarios.

Read about this type of systems Before writing a scenario it is important to have knowledge on What is the new system supposed to do – system requirements. What does other, similar systems do – system expectations. This knowledge can be obtained through books, manuals etc.

Create a mock business To crate a mock business we need first of all need good knowledge of how the business works. The mock business must be realistic even if it isn’t real. It might be necessary to use external consultants. Creating a mock business takes a lot of resources but can give valuable results.

Risks of scenario testing – 1 Scenario testing is not good for tesing new code. If we hit a bug early in the scenario test, the rest of the test will most likely have to be postponed until the bug is fixed. The we can resume the testing and go on until we find a new bug and so on. Thus, scenario testing should mainly be used as an acceptance test.

Risks of scenario testing – 2 A scenario test aims to cover all or part of the functionality in a system. It does not consider code coverage of any kind. Scenario tests discover more design errors than coding errors. Thus, it is not useful for e.g. regression testing or testing a new fix.

Scenario testing type 1 – 1 When we do scenario testing type 1, we use the scenarios to write transactions as sequences of Input Expected output The result can e.g. be an extremely detailed textual use case.

Scenario testing type 2 – 1 When it comes to realism, scenario testing type 2 is the ultimate testing method. The goal of scenario testing is to test how the system will behave In real word situations – described by scenarios With real users, supplied by the system owner With real customers – if necessary

Scenario testing type 2 – 2 A scenario tests is done as follows: The environment is arranged according to the scenario description. Customers are instructed as needed. A person – the game master – reads out each step of the scenario. Users and customers react to the situations created by the game master. The events resulting from each scenario is documented – e.g. by a video camera or by one or more observers – for later assessment.

Scenarios The number of possible scenarios is large. Which scenarios we select depends on the customer’s priorities. In addition, since scenario tests are expensive, we can usually just afford to run a few. Scenarios are most efficient when we want to test requirements involving a strong interaction with the systems environment – users, customers, networks, file servers, a stressful work situation etc.

Scenario example – 1 Requirement – MTTR < 1 hr. Scenario for order handling system: We have 50 Mb. of information on the system’s hard disk. When we are registering a new order, we suddenly loose the electrical power. At the same time several customers call us on the phone to enquire the status of their order.

Scenario example – 2 When we run the scenario one or more times, we want to measure the time from the power loss to the system is fully operational again. The test may identify problems pertaining to: Operational routines – e.g back-up Operator training – stress handling Customer handling What about the half-filled-in order?

Acknowledgement Most of the material on scenario test type 1 is taken from “An Introduction to Scenario Testing” by C. Kaner.