© 1999, 2005 Hans Schaefer Slide no. 1 Testing in Darkness: Late and without specifications Testing in Darkness How to discover test requirements and stay.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Chapter 1 - An Introduction to Computers and Problem Solving
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Risks  All projects have some degree of risk  Risks are issues that can cause problems  Delay in schedule  Increased project costs  Technical risk.
T /5115 Software Development Project I/II Project Planning Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Lab/Sessional -CSE-374. SYSTEM DEVELOPMENT LIFE CYCLE.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
SYSTEMS DEVELOPMENT Phases, Tools, and Techniques
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
SE 555 Software Requirements & Specification Requirements Validation.
Overview of Software Requirements
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
Systems Analysis and Design in a Changing World, 6th Edition
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
Introduction to Computer Technology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Testing and Cost / Benefit Tor Stålhane. Why cost / benefit – 1 For most “real” software systems, the number of possible inputs is large. Thus, we can.
Software testing techniques Software testing techniques Testing based on specifications Presentation on the seminar Kaunas University of Technology.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Slightly adapted by Anders Børjesson.
© 2000 Hans Schaefer Slide no. 1 Integration between reviews and test Can you save test work after inspections? Self assessment about how you do inspections.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
N By: Md Rezaul Huda Reza n
Chapter 8: Systems analysis and design
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
What is Software Testing? And Why is it So Hard J. Whittaker paper (IEEE Software – Jan/Feb 2000) Summarized by F. Tsui.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
 CS 5380 Software Engineering Chapter 8 Testing.
Approaching a Problem Where do we start? How do we proceed?
CPSC 372 John D. McGregor Module 2 Session 1 More on requirements and the Investment Decision.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
UML-1 3. Capturing Requirements and Use Case Model.
UML-1 8. Capturing Requirements and Use Case Model.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
IS Analysis and Design. SDLC Systems Development Life Cycle Break problems into management review stages Control cost and time Works best with well understood.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
© 2001 Hans Schaefer Slide no. 1 Fast reviews Fast reviews for small immature organizations Hans Schaefer Software Test Consulting N-5281 Valestrandsfossen,
CS5103 Software Engineering Lecture 02 More on Software Process Models.
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
SWE 513: Software Engineering
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.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Week # 4 Quality Assurance Software Quality Engineering 1.
CS223: Software Engineering Lecture 25: Software Testing.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Risk-Based Management and Testing. 2 This is risk-based testing(J. Bach) Make prioritized list of risks Perform testing that explores each risk As risks.
Software Development.
Pepper modifying Sommerville's Book slides
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Testing and Test-Driven Development CSC 4700 Software Engineering
PPT4: Requirement analysis
Agile Development – a new way of software development?
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

© 1999, 2005 Hans Schaefer Slide no. 1 Testing in Darkness: Late and without specifications Testing in Darkness How to discover test requirements and stay out of the critical path in a crisis. by Hans Schaefer

© 1999, 2005 Hans Schaefer Slide no. 2 Testing in Darkness: Late and without specifications Contents The situation Collecting information Getting concrete requirements Prioritizing the test Staying outside the critical path

© 1999, 2005 Hans Schaefer Slide no. 3 Testing in Darkness: Late and without specifications The situation ”Test this product” ! No or incomplete –requirements –user documentation –design documentation You come in late for test planning Not enough time to test everything

© 1999, 2005 Hans Schaefer Slide no. 4 Testing in Darkness: Late and without specifications Which test we talk about? System or Acceptance Test Test the product against user or customer or market requirements Functions –pr. user / customer class Properties –generally –pr. user –pr. function User / customer is anybody who has an interest in the product. ”Stakeholder”

© 1999, 2005 Hans Schaefer Slide no. 5 Testing in Darkness: Late and without specifications Example what to test Functions –Driver Drive Brake Horn … –Fireman Firedoor Waterpump(s) –Operation office Pulls trains of a certain weight at a certain speed And how did I know all this? - DOMAIN KNOWLEDGE! Properties Generally Safety pr. User (driver) Comfort in cab pr. Function Speed of fire door opening

© 1999, 2005 Hans Schaefer Slide no. 6 Testing in Darkness: Late and without specifications Step 1: Collect information What are the requirements? Who knows about them? Where and how much is the risk? Good with some application domain knowledge!

© 1999, 2005 Hans Schaefer Slide no. 7 Testing in Darkness: Late and without specifications Where to look? Documents People The product itself Prototypes Whatever information there may be

© 1999, 2005 Hans Schaefer Slide no. 8 Testing in Darkness: Late and without specifications Documents which may give you a clue Requirements specification (?) Change requests User manual(s) Online help Project definition Contract Data dictionary Advertising The code (!) Standards the product must follow The previous product and its documentation Competitors’ products and their documentation ±±æ©¥ÛÕ¨Ã˙¬π ¥Ú∞ÁºÃŒ‰∂Œ ≥‡∑“∂ ≥…

© 1999, 2005 Hans Schaefer Slide no. 9 Testing in Darkness: Late and without specifications People to ask questions Project manager –Existing documents / baseline? –Project history? –A list of project participants? –Risk with the use of the product? The chief system designers –What are the design constraints? Developers –What does the product do? Existing test material? –What objects / entities are being manipulated? –Design decisions, restrictions? Users, people who know the intended / previous use –Users: What do they do with the product? What are the objects used? Existing production data? –Users’ managers: The business and its priorities? Risk with the use? –Users’ ”customers”, i.e. general public, government,...

© 1999, 2005 Hans Schaefer Slide no. 10 Testing in Darkness: Late and without specifications The product: Explorative testing Run the product and collect information –Windows –Objects –Menus –Dialogs –Decisions /choices –The way things are implemented –Functions implying other functions –Properties implying other properties –Defects implying other defects

© 1999, 2005 Hans Schaefer Slide no. 11 Testing in Darkness: Late and without specifications Example: Result of exploration A general test requirement. In a screen form you find that the system gives an error message for an input error and provides a new chance for input. Include a test requirement for this in every screen form.

© 1999, 2005 Hans Schaefer Slide no. 12 Testing in Darkness: Late and without specifications The result Lists of Documents People / stakeholders Functions Properties Objects existing test data Idea of Risk, importance Decision What to research in which depth

© 1999, 2005 Hans Schaefer Slide no. 13 Testing in Darkness: Late and without specifications Step 2: Getting concrete requirements Translate what you have found to testable requirements. From unclear to precise. Many questions to the involved people.

© 1999, 2005 Hans Schaefer Slide no. 14 Testing in Darkness: Late and without specifications Example ”The product will be in use every working day” This may mean: –MTBF > 8 hours (or 12, or 16, or 24 ???) –Service may be done during nights or weekends (or only very seldom???) –Maybe some functions don’t need to be up all day? If you can express a requirement with numbers, or make a series of tests to demonstrate its presence, then it is testable.

© 1999, 2005 Hans Schaefer Slide no. 15 Testing in Darkness: Late and without specifications Examples of preliminary (test) requirements and definitions

© 1999, 2005 Hans Schaefer Slide no. 16 Testing in Darkness: Late and without specifications How to document property requirements Use Tom Gilbs method: Four levels: Planned Lowest acceptable Highest known (state of the art) Level in old system And: How do you intend to measure LLOPH

© 1999, 2005 Hans Schaefer Slide no. 17 Testing in Darkness: Late and without specifications If nobody wants to give you numbers? Give them numbers yourself, far outside acceptable ranges. Discuss. Example: MTBF = 1 minute? 10 minutes? 1 hour ? etc.

© 1999, 2005 Hans Schaefer Slide no. 18 Testing in Darkness: Late and without specifications Still in trouble ? If nobody can/wants to give you CONCRETE answers, then either the requirement is not important, Don’t test it or it is badly understood, Test the area well! Maybe you have to stop the release.

© 1999, 2005 Hans Schaefer Slide no. 19 Testing in Darkness: Late and without specifications Ordering this information For every user group and every object in the system, set up a list of functions and properties. Add a list of possible trouble / exceptions. Concrete enough to make test cases. Reference the sourcs.

© 1999, 2005 Hans Schaefer Slide no. 20 Testing in Darkness: Late and without specifications Methods to structure test conditions / requirements Find conditions in specifications etc. Cause effect graphs Decision tables Graphs Data flows Business flows State transition diagrams Entity life history charts Use cases Choose what works for you! Any graphs are better than text!

© 1999, 2005 Hans Schaefer Slide no. 21 Testing in Darkness: Late and without specifications Example: Decision tables Find all conditions and resulting actions for a function Describe combinations of conditions Discard non-interesting combinations Or just test all pairs of inputs Manual or tool aided method (SoftTest, SQSTest, imbus Testbench, CTE, allpairs)

© 1999, 2005 Hans Schaefer Slide no. 22 Testing in Darkness: Late and without specifications Example: Part of a decision table

© 1999, 2005 Hans Schaefer Slide no. 23 Testing in Darkness: Late and without specifications From decision table to test Number of possibilities 2 n (n = # of conditions) Safest to test all combinations Too expensive Saving test cases: –For AND test all YES, and one and one NO –For OR test all NO and one and one YES –Or use a tool (SoftTest, AETG,…) Check completeness –Are common exceptions and trouble included in the test?

© 1999, 2005 Hans Schaefer Slide no. 24 Testing in Darkness: Late and without specifications Step 3: Prioritize the test With the given resources, what to test first what later what to cut out what to test to which depth?

© 1999, 2005 Hans Schaefer Slide no. 25 Testing in Darkness: Late and without specifications Which requirements are how important? Depends on project objectives –Short time to release? –Rich functionality / advanced system –Special properties (available nowhere else) –Few defects Risk of single features How often used How defect prone / failure density Damage if it fails

© 1999, 2005 Hans Schaefer Slide no. 26 Testing in Darkness: Late and without specifications Priority - RISK BASED TESTING We test what is most important and worst Important things - see project objectives, high damage if it fails and often used Worst things - where there are lots of defects –lots of changes –conflicts –made under pressure –made by less qualified personnel –complex –many defects in earlier test / review –etc.

© 1999, 2005 Hans Schaefer Slide no. 27 Testing in Darkness: Late and without specifications Release criteria For every test requirement, answer this question: –MUST it be fulfilled? –Can we live without it? With part of it? –What is the effect if it is not there on release date? –Can we test it within the constraints of this project? What is ”good enough”?

© 1999, 2005 Hans Schaefer Slide no. 28 Testing in Darkness: Late and without specifications The result of the whole A test plan, with priorities, as a tree structure –Global test requirements –User / Customer / stakeholder Functions possible trouble and exceptions Properties –Object events exceptions, trouble alternatives –Properties to test globally Either Or

© 1999, 2005 Hans Schaefer Slide no. 29 Testing in Darkness: Late and without specifications Staying out of the critical path Probably you are involved late. The system is (nearly) ready for testing. Minimize the time to make test material! Try to find existing test material! –ask the developers –ask for production data from existing systems –ask potential customers –standard test suites? Cut down complicated tests!

© 1999, 2005 Hans Schaefer Slide no. 30 Testing in Darkness: Late and without specifications Actually you should not be in this situation The project will probably fail anyway. Your test may leave large holes, and it is risky.

© 1999, 2005 Hans Schaefer Slide no. 31 Testing in Darkness: Late and without specifications But sometimes you ARE in this situation and have to survive. Somehow you ALWAYS need to do this! Inform management about the RISK!

© 1999, 2005 Hans Schaefer Slide no. 32 Testing in Darkness: Late and without specifications Literature (1) Testing in the Dark, by Johanna Rothman and Brian Lawrence, STQE Magazine Vol 1 (1999), issue 2. (2) Ståle Amland, Risk based testing, Paper at EuroSTAR (3) Hans Schaefer, Surviving under time and budget pressure, Proceedings of STAR West (4) ”Test Process Improvement”, by Martin Pol & Tim Koomen, Addison Wesley, (5) James Bach, “Good Enough Quality: Beyond the Buzzword”, IEEE Computer, Aug. 1997, pp (6) Tom Gilb, Principles of Software Engineering Management, Addison Wesley, 1988 (7) Ross Collard, Test Design: Developing Test Cases from Use Cases, STQE Magazine Vol 1 (1999), Issue 4. (8) Len DiMaggio, Looking under to hood, STQE Magazine 1/2000 (9) IEEE Software Magazine 1/2005 (Innovation in Requirements Engineering)