High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Workflow Purpose
Test process essentials Riitta Viitamäki,
Testing and Quality Assurance
Software Quality Assurance Plan
Chapter 4 Quality Assurance in Context
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Documentation Testing
Software Testing and Quality Assurance
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Testing and Quality Assurance
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
The Basics of Software Testing
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Design & Documentation Adrian Marshall.
Recall The Team Skills Analyzing the Problem
Project Documentation and its use in Testing JTALKS.
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?
Software Testing Prasad G.
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.
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
Software Integration and Documenting
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
S/W Project Management
Extreme Programming Software Development Written by Sanjay Kumar.
Software Testing. Definition To test a program is to try to make it fail.
Software Testing Lifecycle Practice
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Introduction Telerik Software Academy Software Quality Assurance.
Chapter 6: Testing Overview Basic idea of testing - execute software and observe its behavior or outcome. If failure is observed, analyze execution record.
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,
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Testing and Quality Assurance Software Quality Assurance 1.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
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.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Software Engineering Saeed Akhtar The University of Lahore.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
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.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
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?
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Test Plan IEEE Explained by Nimesh Vadgama - QA.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
Approaches to ---Testing Software
Recall The Team Skills Analyzing the Problem
COTS testing Tor Stålhane.
Lecture 09:Software Testing
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Testing Lifecycle Practice
© Oxford University Press All rights reserved.
Think about your view of QA
Presentation transcript:

High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up YES EXIT NO

Test Planning & Preparation (important but not always fully performed) Two important items in a test plan include: – Specifying Test Goals & Targets in terms of: Reliability Performance Customer satisfaction etc. – Set General Test Strategy which includes: What & how much to test Techniques of testing Tools needed Measurements and Analysis (details of) People & Skills Schedule Setting goals also sets the exit criteria & possibly guides the testing strategy

Testing model Part of Test Strategy is to decide on a testing model via: 1.Collecting information to address & choose a test model Usage –based testing (info on customers’ actual usage pattern) White-box testing (guided by black box testing results) Mutation testing (programming language, past experience, etc.) 2.Analyze and construct the appropriate test model & techniques 3.Validate the model and incrementally improve the model for continuous usage From the Test model then develop test cases: 1.static test cases: whole/partial program; inputs; etc 2.dynamic test runs: whole/partial execution; artificial stop points; etc.

Sample 1: Model from “past” data of your group Percentage Breakdown of Problem Discovery and Fixes 10% 40% 25% 15% 10% ReviewsFunctional test System test Component test customer reported How would you use this for planning? Problems Detected

Sample 2: Model from “past” data of your group Percentage Breakdown of Problem Discovery and Fixes 50% 30% 10% test Technique 1 test Technique 2 test Technique 3 customer reported How would you use this for planning? Problems Detected

Sample 3: Distribution of Error Prone Areas Release 1 customer reported bugs Problems Detected How would you use this for planning Release 2 testing? F1F3 F2 F5 F4

Test Suite and Test Procedure Preparation Test case development is based on, besides test model, a broader functional area such as a usage-scenario which may be composed of several steps --- thus several related test cases needs to be prepared as a test suite Test suites needs to be “managed” (with test mgmt tools) – Categorized – Stored – Reused Test Procedure Preparation (especially important for component & system tests) : – Sequencing of test case execution : based on some relationship (safety-hazard to avoid accidents, usage scenario, etc.) – Problem fix between related test cases : ensure timely fixes for a problem found in the middle of a sequence of test cases or test suite. Developers and testers need to be in synch --- no early release of developers

Don’t Froget: Test Risks and Contingencies Examples of Risks: – Changes to original requirements or design – Lack of available and qualified personnel – Lack of (or late) delivery from the development organization: Requirements Design Code – Late delivery of tools and other resources State the contingencies if the Risk item occurs – Move schedule – Do less testing – Change/relax the goals and exit criteria

Sample: Recording Test Case & Test suites Test Case number (use some scheme as your text book shows ) Test Case author A general description of the test purpose Pre-condition: “includes test results of other pre-req modules” Test inputs Expected outputs (if any) Post-condition Test Case history: – Test execution date – Test execution person – Test execution result (s) : Pass Fail If failed : Failure information : fix status

Test Execution Allocating – Test time – People resources and – Tools (test tools and test systems) Execution – Load the system to be tested – Invoke and run the test cases (input data as needed) – Collecting test result data and measurements Results analysis – Identify failure/success – Collect & Record failure information – Submit failed test cases to development (coder/designer) Actually, of preparation & execution

Test Result Checking & Reporting Basically comparing against expected test result as stated in the test case descriptions. Some specific behavior or sequence may require one to refer back to requirements document or even user. (especially if the test case description is not complete) “Good” problem descriptions can help in: – Clearer understanding of the problem – Aid in problem diagnosis and location of problem – Even possibly in problem fix Non-functional problem such as “consistency or looks” may require experienced tester to analyze

Collecting Test Measurements In-project measurements ---- – helps us decide if we reached the goal and can stop testing – What and how much to test for system regression Post project measurements --- helps classify – Defect types – Defect severity – Impact areas – etc. The measurements and analysis provide us with assessments of : - product reliability, - test coverage - etc.

Test - Human Resources (QA Professional) Test Planning (experienced people) Test scenario and test case design ( experienced people and test discipline educated) Test execution (semi-experienced to inexperienced) Test result analysis (experienced people) Test tool support (experienced people) Test Organization: – Vertical model by each product (small organizations) – Horizontal model (large enterprises) May include external people: – Users – Industry experts (for COTs )

“Clearing a Career Path for Software Testers” by E. J. Weyuker, T.J. Ostrand, J. Brophy and R. Prasad in IEEE Software March/April 2000 Describes a Software Test Professional Development Program in AT&T Basic knowledge includes: computing systems and architecture, software development process, operating system, database & quality principles Tester skills in: Career Path – Test planning - Test Apprenticeship – Test case design - Test Engineer (Mastery of some skills) – Test execution - Test Specialist (expert in some skill) – Test data adequacy analysis - Test Leader – Test automation - Test Manager or Enterprise Tester

Test Automation Test case Generation – hardest area Test plan and management – semi-automatic versions exist Test execution – keystroke capture and replay has been popular for years Test result analysis – some compare analysis to designate simple pass/fail Test coverage – lots of tools Check out some test tools such as HP/Mercury and others --- via on-line search