Scenario testing Tor Stålhane. Scenarios Designing scenario tests is much like doing a requirements analysis The requirements analyst tries to foster.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Design by Contract.
Test process essentials Riitta Viitamäki,
1 Automated Testing & Test Tools Apirada Thadadech.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Usability Inspection n Usability inspection is a generic name for a set of methods based on having evaluators inspect or examine usability-related issues.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
An evaluation framework
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
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.
Test Design Techniques
Terms: Test (Case) vs. Test Suite
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.
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.
S/W Project Management
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
TESTING.
Transaction Processing Systems and System Development Life Cycle
Chapter 8: Systems analysis and design
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Chapter 11: An Evaluation Framework Group 4: Tony Masi, Sam Esswein, Brian Rood, & Chris Troisi.
Reliability Andy Jensen Sandy Cabadas.  Understanding Reliability and its issues can help one solve them in relatable areas of computing Thesis.
SYSTEM DEVELOPMENT -Understanding the Problem IPT Miss O’Grady.
Software Testing as a Social Science Cem Kaner, J.D., Ph.D. Professor of Software Engineering Florida Institute of Technology (Extracted for WTST from.
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)
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,
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
Connect training Involving people with aphasia in making a tool to discover what living with aphasia is like.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Requirements Engineering Requirements Elicitation Process Lecture-9.
Approaching a Problem Where do we start? How do we proceed?
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.
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
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.
1 Technical & Business Writing (ENG-315) Muhammad Bilal Bashir UIIT, Rawalpindi.
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
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.
Requirements Collection By Dr. Gabriel. Requirements A requirement is any function, constraint, or property that the system must provide, meet, or satisfy.
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.
Black Box Software Testing Copyright © 2003 Cem Kaner & James Bach 1 Black Box Software Testing Fall 2004 PART 6 -- SCENARIO TESTING by Cem Kaner, J.D.,
12/10/15.  It is a Cross Life Cycle Activity (CLCA) that may be performed at any stage ◦ In fact, some part of it (e.g. risk analysis and management)
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
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.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
EVALUATION PROfessional network of Master’s degrees in Informatics as a Second Competence – PROMIS ( TEMPUS FR-TEMPUS-JPCR)
1 End User Support Introduction Identify and select remedies.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki How to Write.
Software Quality Assurance and Testing Fazal Rehman Shamil.
UML - Development Process 1 Software Development Process Using UML.
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.
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.
INFO 638Lecture #91 Software Project Management Conclude Adaptive Project Framework INFO 638 Glenn Booker.
Introduction to Software Testing Maili Markvardt.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
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.
Inspecting Software Requirement Document
A test technique is a recipe these tasks that will reveal something
Black Box Software Testing (Academic Course - Fall 2001)
Please use speaker notes for additional information!
Applying Use Cases (Chapters 25,26)
Booksy University Admin and SuperUser.
Presentation transcript:

Scenario testing Tor Stålhane

Scenarios Designing scenario tests is much like doing a requirements analysis The requirements analyst tries to foster agreement about the system to be built. The tester exploits disagreements to predict problems with the system. The tester doesn’t have to –reach conclusions or make recommendations about how the product should work. His task is to expose credible concerns to the stakeholders –make the product design tradeoffs. He exposes the consequences of those tradeoffs, especially unanticipated or more serious consequences than expected –to respect prior agreements. (Caution: testers who belabor the wrong issues lose credibility.) The scenario testes need not be exhaustive, just useful.

Why use scenario tests? Learn the product Connect testing to documented requirements Expose failures to deliver desired benefits Explore expert use of the program Make a bug report more motivating Bring requirements-related issues to the surface –reopening old requirements discussions (with new data) –surfacing not-yet-identified requirements.

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, 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

Soap Operas Build a scenario based on client / customer experience. Exaggerate each aspect of it – for instance –for each variable, substitute a more extreme value –if a scenario can include a repeating element, repeat it lots of times –make the environment less hospitable to the case (increase or decrease memory, printer resolution, video resolution, etc.) Create a real-life story that combines all of the elements into a test case narrative.

Examples of story lines when used for testing Pension fund William starts as a metal worker for Industrial Entropy Incorporated in During his career he becomes ill, works part time, marries, divorces, marries again, gets 3 children, one of which dies, then his wife dies and he marries again and gets 2 more children…. World wide transaction system for an international bank A fish trade company in Japan makes a payment to a vendor on Iceland. It should have been in Icelandic Kronur, but was done in Yen instead. The error is discovered after 9 days and the payment is revised and corrected. However, the interest calculation (value dating)…

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 containing user inputs and system responses.

Scenario testing type 1 – 2 The detailed, textual use cases are used as test scripts. The test is performed as follows: 1.Set the system in the state defined by the use case precondition 2.Give the first / next input 3.Observe the system’s response 4.If not as expected, report a possible error 5.If more input go back to step 2 6.Check that the post-conditions are OK 7.If not OK, report a possible error

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.