Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

Test plans. Test Plans A test plan states: What the items to be tested are At what level they will be tested What sequence they are to be tested in How.
Test process essentials Riitta Viitamäki,
Lecture 8: Testing, Verification and Validation
Software Quality Assurance Plan
Chapter 4 Quality Assurance in Context
1 Test Planning CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 9, 2007.
Software Testing and Quality Assurance
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
1 Systems V & V, Quality and Standards Dr Sita Ramakrishnan School CSSE Monash University.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Project Documentation and its use in Testing JTALKS.
Test Plan A document that indicates what testing will occur, how it will occur, and what resources will be necessary for it to occur. A test plan also.
CSE Senior Design II Test Planning Mike O’Dell Based on an earlier presentation by Mike O’Dell, UTA.
Software Testing Prasad G.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Senior Design – Acceptance Test Plan Review The goal is to: define the criteria for approving the application. Tightly coupled to the Requirements document.
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
What is Business Analysis Planning & Monitoring?
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
S/W Project Management
… and after unit testing …
Software Testing Lifecycle Practice
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Software Testing Life Cycle
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
RUP Implementation and Testing
Independent User Acceptance Test Process (IUAT)
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Event Management & ITIL V3
How to Know That What You Want Has Been Done- 1 Claire Lohr Member, SESC Management Board Chair IEEE 829 Working Group How to Know That.
Testing Workflow In the Unified Process and Agile/Scrum processes.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Article for last Tuesday u “Enhancing Software Testing by Judicious Use of Code Coverage Information” 1 540f07testing20nov06.
COMP 208/214/215/216 – Lecture 8 Demonstrations and Portfolios.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
What is Testing? Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies.
Software Testing. Software testing is the execution of software with test data from the problem domain. Software testing is the execution of software.
Software Testing and Quality Assurance Practical Considerations (4) 1.
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.
System Test Planning SYSTTPLAN 1 Location of Test Planning Responsibilities for Test Planning Results of Test Planning Structure of a Test Plan Test Definitions.
1 test10b Software Testing Necessary to measure and certify quality in software.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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.
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Testing Integral part of the software development process.
Test Plan IEEE Explained by Nimesh Vadgama - QA.
Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.
1 March 19, Test Plans William Cohen NCSU CSC 591W March 19, 2008.
SOFTWARE TESTING TRAINING TEST MANAGEMENT Chapter 5 immaculateres 1.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Manfred Huber Based on an earlier presentation by Mike O’Dell, UTA
د. حنان الداقيز خريف /28/2016 Software Quality Assurance ضمان جودة البرمجيات ITSE421 5 – The components of the SQA.
Test Planning Mike O’Dell (some edits by Vassilis Athitsos)
Fundamental Test Process
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Software Testing Lifecycle Practice
Presentation transcript:

Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007

2 Planning & structuring the testing of a large program:  Defining the process  Test plan  Input and output documents  Who is testing?  Developers / special testing teams / customer  What test levels do we need?  Unit, integration, system, acceptance, regression  Order of tests  Top-down, bottom-up, combination  Running the tests  Manually  Use of tools  Automatically Testing strategy

3 Any significant project should have a separate QA team Why: the almost infinite human propensity to self- delusion Unit tests: the developers  My suggestion: pair each developer with another who serves as “personal tester” Integration test: developer or QA team System test: QA team Acceptance test: customer & QA team Who tests

4 Classification must be defined in advance Applied, in test assessment, to every reported failure Analyzes each failure to determine whether it reflects a fault, and if so, how damaging Example classification (from a real project):  Not a fault  Minor  Serious  Blocking Classifying reports: by severity

5 From a real project:  Registered  Open  Re-opened  Corrected  Integrated  Delivered  Closed  Not retained  Irreproducible  Cancelled Regression bug! Classifying reports: by status

6 Irrepro- ducible Reopened Cancelled Registered Open Corrected Integrated Closed Developer Project Project/ Customer Customer Project Customer Project Developer Assessment process (from real project)

7 Who runs each kind of test? Who is responsible for assigning severity and status? What is the procedure for disputing such an assignment? What are the consequences on the project of a failure at each severity level? (e.g. “the product shall be accepted when two successive rounds of testing, at least one week apart, have evidenced fewer than m serious faults and no blocking faults”). Some responsibilities to be defined

8 IEEE Standard for Software Test Documentation, 1998 Can be found at: (shortcut for: IEEE%20Standard%20for%20Software%20Test%20Do cumentation..pdf) Specifies a set of test documents and their form For an overview, see the Wikipedia entry Test planning: IEEE 829

9 Test plan:  “Prescribes scope, approach, resources, & schedule of testing. Identifies items & features to test, tasks to perform, personnel responsible for each task, and risks associated with plan”* Test specification documents:  Test design specification: identifies features to be covered by tests, constraints on test process  Test case specification: describes the test suite  Test procedure specification: defines testing steps Test reporting documents:  Test item transmittal report  Test log  Test incident report  Test summary report *Citation slightly abridged IEEE-829-conformant test elements

10 Shows:  How the testing will be done  Who will do it  What will be tested  How long it will take  What the test coverage will be, i.e. what quality level is required Test plan

11 a) Test plan identifier b) Introduction c) Test items d) Features to be tested e) Features not to be tested f) Approach g) Item pass/fail criteria h) Suspension criteria and resumption requirements i) Test deliverables j) Testing tasks k) Environmental needs l) Responsibilities m) Staffing and training needs n) Schedule o) Risks and contingencies p) Approvals IEEE 829: Test plan structure

12 The test design specification details:  Test conditions  Expected results  Test pass criteria The test case specification details:  Specifies the test data for use in running the test conditions identified in the test design specification Test design/Test case specification

13 The test procedure specification details:  How to run each test, including any set-up preconditions and the steps that need to be followed The test item transmittal report:  Reports on when tested software components have progressed from one stage of testing to the next Test procedure spec./ transmittal report

14 The test log records:  which tests cases were run, who ran them, in what order, and whether each test passed or failed The test incident report details:  for any test that failed, the actual versus expected result, and other information intended to throw light on why a test has failed that will help in its resolution. The report will also include, if possible, an assessment of the impact upon testing of an incident. Test log / test incident report

15  A management report providing any important information uncovered by the tests accomplished, and including assessments of the quality of the testing effort, the quality of the software system under test, and statistics derived from Incident Reports.  The report also records what testing was done and how long it took, in order to improve any future test planning.  This final document is used to indicate whether the software system under test is fit for purpose according to whether or not it has met acceptance criteria defined by project stakeholders.. Test summary report

16 Consider a small library database with the following transactions: 1. Check out a copy of a book. Return a copy of a book. 2. Add a copy of a book to the library. Remove a copy of a book from the library. 3. Get the list of books by a particular author or in a particular subject area. 4. Find out the list of books currently checked out by a particular borrower. 5. Find out what borrower last checked out a particular copy of a book. There are two types of users: staff users and ordinary borrowers. Transactions 1, 2, 4, and 5 are restricted to staff users, except that ordinary borrowers can perform transaction 4 to find out the list of books currently borrowed by themselves. The database must also satisfy the following constraints:  All copies in the library must be available for checkout or be checked out.  No copy of the book may be both available and checked out at the same time.  A borrower may not have more than a predefined number of books checked out at one time. Source*: Wing 88 A small case study