QUALITY ASSURANCE. Michael Weintraub Fall, 2015

Size: px
Start display at page:

Download "QUALITY ASSURANCE. Michael Weintraub Fall, 2015"

Transcription

1

2 QUALITY ASSURANCE Michael Weintraub Fall, 2015

3 Unit Objective Understand what quality assurance means Understand QA models and processes

4 Definitions According to NASA Software Assurance: The planned and systematic set of activities that ensures that software life cycle processes and products conform to requirements, standards, and procedures. Software Quality: The discipline of software quality is a planned and systematic set of activities to ensure quality is built into the software. It consists of software quality assurance, software quality control, and software quality engineering. As an attribute, software quality is (1) the degree to which a system, component, or process meets specified requirements. (2) The degree to which a system, component, or process meets customer or user needs or expectations [IEEE IEEE Standard Glossary of Software Engineering Terminology]. Software Quality Assurance: The function of software quality that assures that the standards, processes, and procedures are appropriate for the project and are correctly implemented. Software Quality Control: The function of software quality that checks that the project follows its standards, processes, and procedures, and that the project produces the required internal and external (deliverable) products. Software Quality Engineering: The function of software quality that assures that quality is built into the software by performing analyses, trade studies, and investigations on the requirements, design, code and verification processes and results to assure that reliability, maintainability, and other quality factors are met. Software Reliability: The discipline of software assurance that 1) defines the requirements for software controlled system fault/failure detection, isolation, and recovery; 2) reviews the software development processes and products for software error prevention and/or controlled change to reduced functionality states; and 3) defines the process for measuring and analyzing defects and defines/derives the reliability and maintainability factors. Verification: Confirmation by examination and provision of objective evidence that specified requirements have been fulfilled [ISO/IEC 12207, Software life cycle processes]. In other words, verification ensures that you built it right. Validation: Confirmation by examination and provision of objective evidence that the particular requirements for a specific intended use are fulfilled [ISO/IEC 12207, Software life cycle processes.] In other words, validation ensures that you built the right thing. From:

5 Software Quality Assurance Technology Objective: Designing a quality system and writing quality software The tech team aims to deliver a correctly behaving system to the client Software Quality Assurance is about assessing if the system meets expectations Доверяй, но проверяй (Russian Proverb - Doveryay, no proveryay) Trust, but verify

6 Validation Versus Verification Validation Verification Are we building the right product or service? Are we building the product or service right? Both involve testing done at every stage but testing can only show the presence of errors, not their absence Dijkstra

7 Validation Typically a client-leaning activity After all, they are the ones who asked for the system Product Trials User Experience Evaluation

8 Verification Optimist: It s about showing correctness/goodness Pessimist: It s about identifying defects Good Input? Good Output System Bad Input? Bad Output

9 Quality versus Reliability Quality Assurance Reliability Assessing whether a software component or system produces the expected/correct/accepted behavior or output relationship between a given set of inputs OR Assessing features of the software Probability of failure-free software operation for a specified duration in a particular environment Cool phrases Five 9 s No down-time

10 Fun Story First Computer Bug (1947) The First "Computer Bug". Moth found trapped between points at Relay # 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University, 9 September The operators affixed the moth to the computer log, with the entry: "First actual case of bug being found". They put out the word that they had "debugged" the machine, thus introducing the term "debugging a comp...uter program". In 1988, the log, with the moth still taped by the entry, was in the Naval Surface Warfare Center Computer Museum at Dahlgren, Virginia. The log is now housed at the Smithsonian Institution s National Museum of American History, who have corrected the date from 1945 to Courtesy of the Naval Surface Warfare Center, Dahlgren, VA., NHHC Photograph Collection, NH KN (Color). From

11 Testing is Computationally Hard The space is huge and it is generally infeasible to test anything completely Assessing quality is an exercise in establishing confidence in a system Or Minimizing Risks Other factors include Quality of the Process Quality of the Team Quality of the Environment App 1 OS 1 VM Host OS Hardware Each layer introduces risk

12 Component behavior Interactions between components System and subsystem behavior Interactions between sub-systems Negative path Behavior under load Behavior over time Usability Lots to Consider

13 Two Approaches Static Evaluations Dynamic Evaluations Making judgments without executing the code Involves executing the code and judging performance

14 Static Technique - Reviews Fundamental QA Technique Peer(s) reviews artifact for correctness and clarity Often a formal process Value: finding issues at design/definition time rather than waiting for results of the step to complete Highly effective, but does not replace the need for dynamic techniques Requirements Architecture & Design Implementation Test Plans

15 One Extreme: Jury/Peer Reviews Before anything is accepted, someone other than the creator must review it and approve it Single reviewer model Usually a certified / senior person Panel model Highly structured reviews Can take significant preparation Usually done at the design or development stage May introduce delay between when code is written and when it gets reviewed

16 Reviews Models exist for both reviewer or author to lead the discussion Author usually provides participants materials to study in advance Requires positive and open attitudes and preparation Review Meeting Moderator Scribe Value Second opinion on clarity, effectiveness, and efficiency Author Review Panel Peers Experts Client(s) Learning from others Avoids board blindness on seeing flaws Peer pressure to be neat and tie up loose ends

17 Paired Programming Lightweight Peer Reviews One person drives while the other watches/reviews Derived from Extreme Programming, current favorite in agile When compared to solo dev models, MAY cause higher initial cost per module created (time and resource), BUT higher quality and lower overall cost See as an example Continuous review Shared problem solving Better communications Learning from Peer Social! Peer Pressure

18 What do reviews look for? Clarity Can the reader easily and directly understand what the artifact is doing Correctness Analysis of algorithm used Common Code Faults 1. Data initialization, value ranges and type mismatches 2. Control: are all the branches really necessary (are the conditions properly and efficiently organizated)? Do loops terminate? 3. Input: are all parameters or collected values used? 4. Output: every output is assigned a value? 5. Interface faults: Parameter numbers, types, and order; structures and shared memory 6. Storage management: memory allocation, garbage collection, inefficient memory access 7. Exception handling: what can go wrong, what error conditions are defined and how are they handled List adapted from W. Arms:

19 Examples You are asked to sort an array. There are many algorithms to sort an array. [You aren t going to use a library function so you have to write this] Many choices exist. Suppose you are deciding between bubble sort, quicksort, and merge sort. All will work (sort an array), but which will be the better code? Bubble sort is very easy to write: two loops. Slow on average O(n 2 ) how big will n be?? O(n) for memory. Quicksort is complicated to write. O(n log(n)) on average, O(n 2 ) worst case. Requires constant memory O(n). Very effective on in-memory data. Most implementations are very fast. Mergesort is moderate to write. O(n log(n)) worst case. Memory required is a function of the data structure. Very effective on data that requires external access.

20 Expressively Logical boolean SquareRoot (double dvalue, double &dsquareroot) { boolean bretvalue = false; boolean SquareRoot (double dvalue, double &dsquareroot) { dsquareroot = NULL; } if (dvalue < 0) { dsquareroot = NULL; bretvalue = false; } else { dsquareroot = pow(dvalue, 0.5); bretvalue = true; } return bretvalue; } if (dvalue < 0) return false; dsquareroot = pow(dvalue, 0.5); return true;

21 Evaluate code modules automatically looking for errors or odd things Loops or programs within multiple exits (more common) or entries (less common) Undeclared, uninitialized, or unused variables Unused functions/procedures, parameter mismatches Unassigned pointers Memory leaks Static Program Analyzers Show paths through code/system Show how outputs depend on inputs

22 Rules of Defensive Programming (taken from Bill Arms) Based on Murphy s Law: Anything that can go wrong, will 1. Write SIMPLE code 2. If code is difficult to read, RE-WRITE IT 3. Test implicit assumptions Check all parameters passed in from other modules 4. Eliminate all compiler warnings from code 5. It never hurts to check system states after modification

23 Dynamic Evaluations Quick Terminology Mistake A human action that results in an incorrect result Fault / Defect Incorrect step, process, or data within the software Failure Inability of the software to perform within performance criteria Error The difference between the observed and the expected value or behavior Objective Write test cases and organize them into suites that cause failure and illuminate faults Ideally you will fail in striving for this objective, but you will be surprised how successful you may be

24 Who is a Tester? Developers Experienced Outsiders and Clients Good for exposing known risks areas Good for finding gaps missed by developers Inexperienced Users Good for finding other errors Mother Nature Always finds the hidden flaw

25 Approaches 1. Top Down System flows are tested Units are stubbed 2. Bottom Up Each unit is tested on its own Especially useful in UI s, UX Workflows Very large systems 3. Stress Test at or past design limits

26 Testing Flow (Dynamic Evaluation) Soak Operational Readiness Acceptance Unit Test Integration Functional Performance System Test Installation Operational Test Client Test Unit

27 Two Forms of Testing Black Box White Box

28 Black Box Testing No access to the internal workings of the system under test (SUT) Testing against specifications The tester knows what the SUT s I/O or behavior should be The tester observes the results or behavior With software, this tests the interface What is input to the system? What you can do from the outside to change the system? What is output from the system?

29 Can a Component Developer Do Black Box Testing?

30 White Box Testing Have access to the internal workings of the system under test (SUT) Testing against specifications, with access to algorithms, data structures, and messaging. The tester observes the results or behavior Testing evaluates logical paths through code Conditionals Loops Branches Impossible to exercise all paths completely, so you make compromises Focus paths on only important paths Keeping components small is a big help here Focus on only important data structures

31 Ground Floor Unit Testing Tests focus an individual component 1. Interfaces 2. Messages 3. Shared memory 4. Internal functions Emphasizes adherence to the specifications Code bases often include the code and the unit tests as a coherent piece Usually done by developers building the component Unit tests decouple the developer from the code Individual code ownership is not required if unit tests protect the code Unit tests enable refactoring After each small change, the unit tests can verify that a change in structure did not introduce a change in functionality

32 What Makes for a Good Test Test Perspective Either addresses a partition of inputs or tests for common developer errors Automated Runs Fast To encourage frequent use Small in scope Test one thing at a time When a failure occurs, it should pinpoint the issue and not require much debugging Tester Perspective Know why the test exists Should target finding specific problems Should optimize the cost of defining and running the test against the likelihood of finding a fault/failure Failure messages help make the issue clear Should not have to refer to the test to understand the issue

33 Organizing Testing Test Plan Describes test activities 1. Scope 2. Approach 3. Resources 4. Schedule Identifies What is to be tested The tasks required to do the testing Who will do each task The test environment The test design techniques Entry and exit criteria to be used Risk identification and contingency planning Test Suite A set of test cases and scripts to measure answers Often the post condition of one test is often used as the precondition for the next one OR Tests may be executed in any order Adapted from

34 Defect Severity An assessment of a defect s impact Can be a major source of contention between dev and test Critical Major Minor Show stopper. The functionality cannot be delivered unless that defect is cleared. It does not have a workaround. Major flaw in functionality but it still can be released. There is a workaround; but it is not obvious and is difficult. Affects minor functionality or non-critical data. There is an easy workaround. Trivial Does not affect functionality or data. It does not even need a workaround. It does not impact productivity or efficiency. It is merely an inconvenience.

35 Test Exit Report Input to Go/No Go Decision 1. Document Purpose Short description about the objective 2. Application Overview Overview of the SUT 3. Testing Scope Describes the functions/modules in and out of scope for testing. Also identifies what was omitted. 4. Metrics Results of testing, including summaries Number of test cases planned vs executed Number of test cases passed/failed Number of defects identified and their Status & Severity Distribution of defects 5. Types of testing performed Description of tests run 6. Test Environment and Tools Description of the environment. Helpful for recreating issues and understanding context 7. Recommendations Workaround options 8. Exit Criteria Statement whether SUT passes or not 9. Conclusion/Sign Off Go/ no go recommendation

36 Testing Hint #1 Mess With Inputs If a single value, try Negative values Alternate types Very small or very large inputs (overflow buffers if you can) Null values If input is a sequence, try Using a single valued sequence Repeated values Varying the length of sequences and the order of the data Forcing situations where the first, last and middle values are used Try to force each and every error message Try to force computational overflows or underflows

37 Testing Hint #2 Force Every Path Each logical path must be exercised at least once Each execution path through the code If then else = Two paths Switch case() = One path per case +one path if no catch-all case Repeat Until Two paths While Do Two paths Object member functions = 1 path per signature

38 Testing Hint #3 Mess With Interfaces Remember, interfaces may be involve 1. References to data or functions Data may be passed by-reference or by-data Methods only have data interfaces 2. Shared memory 3. Messages Internals 1. Functions 2. Data Set interface parameters to extremely low and high values Set pointer values to NULL Mis-type the parameters or violate value boundaries e.g. set input as negative where the signature expects 0 Call the component so it will fail and check the failure reactions Pass too few or too many parameters Bombard the interface with messages With shared memory, vary accessor instantiation and access activities

39 Testing Hint #4 Be Diabolical Try to break the system by using data with extreme values to crash the system

40 Life Lessons If unit testing is not thorough, all subsequent testing will likely be a waste of time. You should always take the time to do a good job with unit testing Even when the project is falling behind Unit tests will be most needed when you have the least amount of time Unit tests should be created before they are needed, not when you need them The end of a project is almost always compressed Developers often defer testingrelated tasks until as late as possible

41 System Test Integrating components and sub-systems to create the system Testing checks on component compatibility, interactions, correctly passing information, and timing Like Unit Test, activities focus on following uses and data 1. Typical 2. Boundaries 3. Outliers 4. Failures Unlike Unit Test Components may come from many, independent parties Bespoke development may meet Off-The-Shelf or reused components Testing becomes a group activity Testing may move to an independent team altogether

42 WARNING Will be a complete and utter waste if components are not thoroughly tested

43 Unlike Components, Systems Have Emergent Behavior Some behavior is only clear when you put components together This has to be tested too, although it can be very hard to plan in advance!

44 Integrating Multiple Parties May Introduce Conflict System Integration Implications Components may come from multiple, possibly independent, parties Bespoke development may meet Off-The-Shelf or reused components Testing becomes a group activity Testing may move to an independent team altogether Who controls integration readiness? What does lab entry mean? Are COTS components trusted? How to assign credit for test results and then who is responsible for repairs? How to maintain momentum when everyone isn t at the table? When partner priorities are not shared? What about open source?

45 Testing Focus Emphasizes component compatibility, interactions, correctly passing information, and timing Integration aims to find misunderstandings one component introduces when it interacts with other components Use Cases are a useful testing model Forces components to interact Sequence diagrams form a strong basis for designing these tests Articulates the inputs required and the expected behaviors and outputs

46 Iterative Development Leads to Iterative Testing Two senses 1. Create tests incrementally 2. Run tests iteratively a. On check-in and branch merge, test all affected modules b. On check-in, test all modules c. Per a schedule, test all modules E.g. daily Regression Testing Each change, especially after a bug fix, should mean adding at least one new test case It is always best to test after each change as completely as you can, and completely before a release

47 Your testing is good enough until a problem shows that it is not good enough It is hard to know when you should feel enough confidence to release the system Confidence comes, in part, on the sub-test of possible tests selected Picking the Subset high Selection based on company policy Every statement must executed one Every path must be exercised Crafted by specific end user use cases (scenario testing) Software Quality low many defects found few defects found few defects found few defects found high Selection based on testing team experience Test Quality low

48 Defect Density Measuring Quality: Defect Density Using the past to estimate the future Judges code stability by comparing past number of bugs per code measure (lines of code, number of modules, ) to present measured levels bugdensity release (i) = bugs pre release (i) + bugspost release ( i) codemeasure If density for the next release s additional code is within ranges of prior releases, it is a candidate for release Unless test or development practices have improved Poor Software Quality Expected Quality Poor Test Coverage/Quality Release 1 2

49 Measuring Quality: Defect Seeding Using a known quantity as inference to the unknown Judges code stability by intentionally inserting bugs into a program and then measuring how many get found as an estimator for the actual number of bugs bugs release (i) = seededbugs planted(i) seededbugs found (i) bugsfound(i) Challenges 1. Seeding is not easy. Placing right kinds of bugs in enough of the code is hard. Bad seeding, being too easy or too hard to find, creates false senses of confidence in your reviews and testing Too easy: doesn t mean that most or all of the real bugs were found. Too hard: danger of looking past the Goodenov line or for things that aren t there 2. Seeded code must be cleansed of any missed seeds before release. Post cleanup, the code must be tested to insure nothing got accidently broken.

50 Measuring Quality: Capture-Recapture Applies estimating technique used in predicting wild-life populations (Humphrey, Introduction to Team Software Process, Addison Wesley, 2000) Uses data collected by two or more independent collectors Collected via reviews or tests Example: Estimating Turtle Population You tag 5 turtles and release them. You later catch 10 turtles, two have tags. Total # of turtles 10 turtles 5 turtles Total # of turtles = 10 turtles 5 turtles 2 turtles 2 turtles = 25 turtles

51 Each collector finds some defects out of the total number of defects Some of these defects found will overlap Method 1. Count the number of defects found by each collector (A, B) 2. Count the number of intersecting defects found by each collector (C) 3. Calculate defects found = (A+B) - C 4. Estimate total defects = (A B) C Capture-Recapture 5. Estimate remaining defects = (A B) - (A+B)-C C If multiple collectors, assign A to the highest collected number and set B to the rest of the collected defects. When multiple engineers find the same defect, count it just once.

52 Performance Testing Measures the system s capacity to process load Involves creating and executing an operational profile that reflects the expected values of uses Performance Aims to assess compliance with non-functional requirements Endurance Measures reliability and availability Stress Identify defects that emerge only under load Ideally the system should degrade gracefully rather than collapse under load Under load, other issues like protocol overhead or timing issues take center stage

UNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality

UNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality SYSTEM TEST UNIT OBJECTIVE Understand what system testing entails Learn techniques for measuring system quality SYSTEM TEST 1. Focus is on integrating components and sub-systems to create the system 2.

More information

Verification, Testing, and Bugs

Verification, Testing, and Bugs Verification, Testing, and Bugs Ariane 5 Rocket First Launch Failure https://www.youtube.com/watch?v=gp_d8r- 2hwk So What Happened? The sequence of events that led to the destruction of the Ariane 5 was

More information

F. Tip and M. Weintraub FUNCTIONAL TESTING

F. Tip and M. Weintraub FUNCTIONAL TESTING F. Tip and M. Weintraub FUNCTIONAL TESTING ACKNOWLEDGEMENTS Thanks go to Andreas Zeller for allowing incorporation of his materials 2 HOW TO TELL IF A SYSTEM MEETS EXPECTATIONS? Two options: 1. testing:

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms Standard Glossary of Terms used in Software Testing Version 3.2 Foundation Extension - Usability Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

Software Quality Assurance. David Janzen

Software Quality Assurance. David Janzen Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

Chapter 10. Testing and Quality Assurance

Chapter 10. Testing and Quality Assurance Chapter 10 Testing and Quality Assurance Different styles of doing code review Human Reviewer Code Inspection with continuous integration infrastructure Pinger s testing set up Testing Related topics 1.

More information

Sample Exam Syllabus

Sample Exam Syllabus ISTQB Foundation Level 2011 Syllabus Version 2.9 Release Date: December 16th, 2017. Version.2.9 Page 1 of 46 Dec 16th, 2017 Copyright 2017 (hereinafter called ISTQB ). All rights reserved. The authors

More information

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs. In this Lecture you will Learn: Testing in Software Development Process Examine the verification and validation activities in software development process stage by stage Introduce some basic concepts of

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And

More information

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering Chapter 11, Testing Using UML, Patterns, and Java Object-Oriented Software Engineering Outline Terminology Types of errors Dealing with errors Quality assurance vs Testing Component Testing! Unit testing!

More information

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing? Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,

More information

Terminology. There are many different types of errors and different ways how we can deal with them.

Terminology. There are many different types of errors and different ways how we can deal with them. Testing Terminology Reliability: The measure of success with which the observed behavior of a system confirms to some specification of its behavior. Failure: Any deviation of the observed behavior from

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability

More information

Question 1: What is a code walk-through, and how is it performed?

Question 1: What is a code walk-through, and how is it performed? Question 1: What is a code walk-through, and how is it performed? Response: Code walk-throughs have traditionally been viewed as informal evaluations of code, but more attention is being given to this

More information

Software Testing. Massimo Felici IF

Software Testing. Massimo Felici IF Software Testing Massimo Felici IF-3.46 0131 650 5899 mfelici@staffmail.ed.ac.uk What is Software Testing? Software Testing is the design and implementation of a special kind of software system: one that

More information

Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.

Testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements. TESTING Testing is the process of evaluating a system or its component(s) with the concentrating to find whether it satisfies the specified requirements or not. Testing is executing a system in order to

More information

Examining the Code. [Reading assignment: Chapter 6, pp ]

Examining the Code. [Reading assignment: Chapter 6, pp ] Examining the Code [Reading assignment: Chapter 6, pp. 91-104] Static white-box testing Static white-box testing is the process of carefully and methodically reviewing the software design, architecture,

More information

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo Software Design Models, Tools & Processes Lecture 6: Transition Phase Cecilia Mascolo UML Component diagram Component documentation Your own classes should be documented the same way library classes are.

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Testing Software Engineering -CSC4350/6350 - Rao Casturi 2 Testing What is testing? Process of finding the divergence between the expected behavior of the

More information

Software Testing. Software Testing

Software Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/ developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

The testing process. Component testing. System testing

The testing process. Component testing. System testing Software testing Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating system

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

Programming Embedded Systems

Programming Embedded Systems Programming Embedded Systems Lecture 8 Overview of software testing Wednesday Feb 8, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/53 Lecture outline Testing in general Unit testing

More information

Introduction to Dynamic Analysis

Introduction to Dynamic Analysis Introduction to Dynamic Analysis Reading assignment Gary T. Leavens, Yoonsik Cheon, "Design by Contract with JML," draft paper, http://www.eecs.ucf.edu/~leavens/jml//jmldbc.pdf G. Kudrjavets, N. Nagappan,

More information

Learning outcomes. Systems Engineering. Debugging Process. Debugging Process. Review

Learning outcomes. Systems Engineering. Debugging Process. Debugging Process. Review Systems Engineering Lecture 9 System Verification II Dr. Joanna Bryson Dr. Leon Watts University of Bath Department of Computer Science 1 Learning outcomes After both lectures and doing the reading, you

More information

Software Testing Interview Question and Answer

Software Testing Interview Question and Answer Software Testing Interview Question and Answer What is Software Testing? A process of analyzing a software item to detect the differences between existing and required conditions (i.e., defects) and to

More information

Types of Software Testing: Different Testing Types with Details

Types of Software Testing: Different Testing Types with Details Types of Software Testing: Different Testing Types with Details What are the different Types of Software Testing? We, as testers are aware of the various types of Software Testing such as Functional Testing,

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

10. Software Testing Fundamental Concepts

10. Software Testing Fundamental Concepts 10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost

More information

Verification and Validation

Verification and Validation Steven Zeil February 13, 2013 Contents 1 The Process 3 1 2 Non-Testing V&V 7 2.1 Code Review....... 8 2.2 Mathematically-based verification......................... 19 2.3 Static analysis tools... 23 2.4

More information

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development Reveal faults Goals of testing Correctness Reliability Usability Robustness Performance Top-down/Bottom-up Bottom-up Lowest level modules tested first Don t depend on any other modules Driver Auxiliary

More information

Verification and Validation

Verification and Validation Steven Zeil February 13, 2013 Contents 1 The Process 2 2 Non-Testing V&V 3 2.1 Code Review........... 4 2.2 Mathematically-based verification.................................. 8 2.3 Static analysis tools.......

More information

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Yan Shi SE 2730 Lecture Notes Verification and Validation Verification: Are

More information

Software Testing CS 408

Software Testing CS 408 Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail

More information

Objectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process

Objectives. Chapter 19. Verification vs. validation. Topics covered. Static and dynamic verification. The V&V process Objectives Chapter 19 Verification and Validation Assuring that a software system meets a user s need are to introduce software verification and validation (V&V) and to discuss the distinction between

More information

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing

More information

Software Engineering and Scientific Computing

Software Engineering and Scientific Computing Software Engineering and Scientific Computing Barbara Paech, Hanna Remmel Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de

More information

Verification and Validation

Verification and Validation Chapter 5 Verification and Validation Chapter Revision History Revision 0 Revision 1 Revision 2 Revision 3 Revision 4 original 94/03/23 by Fred Popowich modified 94/11/09 by Fred Popowich reorganization

More information

Integration and Testing. Uses slides from Lethbridge & Laganiere, 2001

Integration and Testing. Uses slides from Lethbridge & Laganiere, 2001 Integration and Testing Uses slides from Lethbridge & Laganiere, 2001 Testing phases: V model Requirements Acceptance Testing Specifications System Testing Design Integration Testing Detailed Design Unit

More information

EXAMINING THE CODE. 1. Examining the Design and Code 2. Formal Review: 3. Coding Standards and Guidelines: 4. Generic Code Review Checklist:

EXAMINING THE CODE. 1. Examining the Design and Code 2. Formal Review: 3. Coding Standards and Guidelines: 4. Generic Code Review Checklist: EXAMINING THE CODE CONTENTS I. Static White Box Testing II. 1. Examining the Design and Code 2. Formal Review: 3. Coding Standards and Guidelines: 4. Generic Code Review Checklist: Dynamic White Box Testing

More information

Certified Tester Foundation Level(CTFL)

Certified Tester Foundation Level(CTFL) Certified Tester Foundation Level(CTFL) ISTQB : International Software Testing Qualifications Board Heading: The International Software Testing Qualifications Board (ISTQB) is an internationally recognized

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale Total number points = 120 points Total number points to pass = 78 points Question Answer Explanation / Rationale Learning 1 A A is correct.

More information

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011 Higher-order Testing Stuart Anderson Defining Higher Order Tests 1 The V-Model V-Model Stages Meyers version of the V-model has a number of stages that relate to distinct testing phases all of which are

More information

Software testing. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1

Software testing. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 23 Slide 1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles

More information

Software Quality Assurance (SQA) Software Quality Assurance

Software Quality Assurance (SQA) Software Quality Assurance Software Quality Assurance (SQA) Software Quality Assurance Use of analysis to validate artifacts requirements analysis design analysis code analysis and testing Technical/Document reviews Control of changes

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010 PACIFIC NW 28TH ANNUAL SOFTWARE QUALITY CONFERENCE October 18th 19th, 2010 Conference Paper Excerpt from the CONFERENCE PROCEEDINGS Permission to copy, without fee, all or part of this material, except

More information

Verification and Validation. Verification and validation

Verification and Validation. Verification and validation Verification and Validation Verification and validation Verification and Validation (V&V) is a whole life-cycle process. V&V has two objectives: Discovery of defects, Assessment of whether or not the system

More information

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only Chapter 22 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014

More information

Sample Exam. Certified Tester Foundation Level

Sample Exam. Certified Tester Foundation Level Sample Exam Certified Tester Foundation Level Answer Table ASTQB Created - 2018 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.

More information

Examination Questions Time allowed: 1 hour 15 minutes

Examination Questions Time allowed: 1 hour 15 minutes Swedish Software Testing Board (SSTB) International Software Testing Qualifications Board (ISTQB) Foundation Certificate in Software Testing Practice Exam Examination Questions 2011-10-10 Time allowed:

More information

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info (Complete Package) WEB APP TESTING DB TESTING We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies CODING Good software development organizations normally require their programmers to follow some welldefined and standard style of coding called coding standards. Most software development organizations

More information

QA Best Practices: A training that cultivates skills for delivering quality systems

QA Best Practices: A training that cultivates skills for delivering quality systems QA Best Practices: A training that cultivates skills for delivering quality systems Dixie Neilson QA Supervisor Lynn Worm QA Supervisor Maheen Imam QA Analyst Information Technology for Minnesota Government

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 6.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 6 Slide 6.2 TESTING 1 Overview Slide 6.3 Quality issues

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 6.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 6 Slide 6.2 TESTING Overview Slide 6.3 Quality issues

More information

Shree.Datta Polytechnic College,Dattanagar, Shirol. Class Test- I

Shree.Datta Polytechnic College,Dattanagar, Shirol. Class Test- I Shree. Datta S.S.S.K. Charitable Trust s Shree.Datta Polytechnic College,Dattanagar, Shirol Class Test- I Course Code:CO6E Subject:-SOFTWARE TESTING Marks:-25 Semester:-VI Subject code:-12258 Date:- Institute

More information

Verification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80

Verification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80 1 / 80 Verification Miaoqing Huang University of Arkansas Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice

More information

Computational Systems COMP1209

Computational Systems COMP1209 Computational Systems COMP1209 Testing Yvonne Howard ymh@ecs.soton.ac.uk A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order

More information

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer Static testing Static testing is a software testing method that involves examination of the program's code and its associated documentation but does not require the program be executed. Dynamic testing,

More information

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be

More information

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6! Testing The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 6 1 Goals of this Lecture Help you learn about: Internal testing External testing General

More information

INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION TO SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists

More information

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slide 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V

More information

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 4. Testing

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 4. Testing 4. vs. Model Checking (usually) means checking the correctness of source code Model Checking means verifying the properties of a model given in some formal (not program code) notation Attention: things

More information

Write perfect C code to solve the three problems below.

Write perfect C code to solve the three problems below. Fall 2017 CSCI 4963/6963 Week 12 David Goldschmidt goldschmidt@gmail.com Office: Amos Eaton 115 Office hours: Mon/Thu 1:00-1:50PM; Wed 1:00-2:50PM Write perfect C code to solve the three problems below.

More information

Quality Assurance in Software Development

Quality Assurance in Software Development Quality Assurance in Software Development Qualitätssicherung in der Softwareentwicklung A.o.Univ.-Prof. Dipl.-Ing. Dr. Bernhard Aichernig Graz University of Technology Austria Summer Term 2017 1 / 47 Agenda

More information

Diploma in Software Testing (DST)

Diploma in Software Testing (DST) SEED Infotech Ltd. : ' Panchasheel', 42/16, Erandawana`, SEED Infotech Lane, Off Karve Road Pune - 411004. India www.seedinfotech.com Course Name : Duration : Class room: 114 Hrs Product Code : ST-ST-50001

More information

Manuel Oriol, CHCRC-C, Software Testing ABB

Manuel Oriol, CHCRC-C, Software Testing ABB Manuel Oriol, CHCRC-C, 08.11.2017 Software Testing Slide 1 About me 1998 2004 2005 2008 2011 Slide 2 Introduction Why do we test? Did you have to deal with testing in the past? Slide 3 Ariane 5 http://www.youtube.com/watch?v=kyurqduyepi

More information

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 9, Testing

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 9, Testing Object-Oriented Software Engineering Conquering Complex and Changing Systems Chapter 9, Testing Preliminaries Written exam on for Bachelors of Informatik, and for other students who are not in the Informatik

More information

Adopting Agile Practices

Adopting Agile Practices Adopting Agile Practices Ian Charlton Managing Consultant ReleasePoint Software Testing Solutions ANZTB SIGIST (Perth) 30 November 2010 Tonight s Agenda What is Agile? Why is Agile Important to Testers?

More information

An Introduction to Systematic Software Testing. Robert France CSU

An Introduction to Systematic Software Testing. Robert France CSU An Introduction to Systematic Software Testing Robert France CSU Why do we need to systematically test software? Poor quality products can Inconvenience direct and indirect users Result in severe financial

More information

Quality Assurance: Test Development & Execution. Ian S. King Test Development Lead Windows CE Base OS Team Microsoft Corporation

Quality Assurance: Test Development & Execution. Ian S. King Test Development Lead Windows CE Base OS Team Microsoft Corporation Quality Assurance: Test Development & Execution Ian S. King Test Development Lead Windows CE Base OS Team Microsoft Corporation Introduction: Ian King Manager of Test Development for Windows CE Base OS

More information

No Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages

No Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages No Source Code : Software Testing Black-Box Testing Test-Driven Development No access to source code So test cases don t worry about structure Emphasis is only on ensuring that the contract is met Specification-Based

More information

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6! Testing The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 6 1 Words from the Wise On two occasions I have been asked [by members of Parliament],

More information

Testing Objectives. Successful testing: discovers previously unknown errors

Testing Objectives. Successful testing: discovers previously unknown errors Testing Objectives Informal view: Testing: a process of executing software with the intent of finding errors Good testing: a high probability of finding as-yetundiscovered errors Successful testing: discovers

More information

T Salausjärjestelmät (Cryptosystems) Security testing. Security testing. Outline. Testing Final stages of life cycle

T Salausjärjestelmät (Cryptosystems) Security testing. Security testing. Outline. Testing Final stages of life cycle T-110.470 Salausjärjestelmät (Cryptosystems) Testing Final stages of life cycle Security testing 15.11.2004 1 3 Outline Security testing Security testing Some testing techniques Final stages of life cycle

More information

Software Testing for Developer Development Testing. Duvan Luong, Ph.D. Operational Excellence Networks

Software Testing for Developer Development Testing. Duvan Luong, Ph.D. Operational Excellence Networks Software Testing for Developer Development Testing Duvan Luong, Ph.D. Operational Excellence Networks Contents R&D Testing Approaches Static Analysis White Box Testing Black Box Testing 4/2/2012 2 Development

More information

Unit Testing as Hypothesis Testing

Unit Testing as Hypothesis Testing Unit Testing as Hypothesis Testing Jonathan Clark September 19, 2012 5 minutes You should test your code. Why? To find bugs. Even for seasoned programmers, bugs are an inevitable reality. Today, we ll

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

The Importance of Test

The Importance of Test Software Testing Mistake in coding is called error, Error found by tester is called defect, Defect accepted by development team is called bug, Product does not meet the requirements then it Is failure.

More information

Black Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing

Black Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing Black Box Testing EEC 521: Software Engineering Software Testing Black-Box Testing Test-Driven Development Also known as specification-based testing Tester has access only to running code and the specification

More information

Inverting the Pyramid

Inverting the Pyramid Inverting the Pyramid Naresh Jain naresh@agilefaqs.com @nashjain http://nareshjain.com Time/Money/Opportunity Cost Plan Back in the Stone-age Happiness/Excitement Design Distribute Work in Isolation Integrate

More information

ΗΜΥ 317 Τεχνολογία Υπολογισμού

ΗΜΥ 317 Τεχνολογία Υπολογισμού ΗΜΥ 317 Τεχνολογία Υπολογισμού Εαρινό Εξάμηνο 2008 ΙΑΛΕΞΕΙΣ 18-19: Έλεγχος και Πιστοποίηση Λειτουργίας ΧΑΡΗΣ ΘΕΟΧΑΡΙ ΗΣ Λέκτορας ΗΜΜΥ (ttheocharides@ucy.ac.cy) [Προσαρμογή από Ian Sommerville, Software

More information

Standard Glossary of Terms Used in Software Testing. Version 3.01

Standard Glossary of Terms Used in Software Testing. Version 3.01 Standard Glossary of Terms Used in Software Testing Version 3.01 Terms Used in the Advanced Level - Test Analyst Syllabus International Software Testing Qualifications Board Copyright International Software

More information

Software Quality Assurance & Testing

Software Quality Assurance & Testing Software Quality Assurance & Testing 1.Software Testing - An ISTQB-BCS Certified Tester Foundation Guide 3rd edition, 2015 Brian Hambling, Peter Morgan, Geoff Thompson, Peter Williams,Angelina Samaroo

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Beta - Foundation Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Beta - Foundation Terms Standard Glossary of Terms used in Software Testing Version 3.2 Beta - Foundation Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety,

More information

Software Engineering Theory. Lena Buffoni (slides by Kristian Sandahl/Mariam Kamkar) Department of Computer and Information Science

Software Engineering Theory. Lena Buffoni (slides by Kristian Sandahl/Mariam Kamkar) Department of Computer and Information Science Software Engineering Theory Lena Buffoni (slides by Kristian Sandahl/Mariam Kamkar) Department of Computer and Information Science 2015-09-20 Title/Lecturer SEPTEMBER 20, 2016 2 Requirement formalization

More information

Program Verification! Goals of this Lecture! Words from the Wise! Testing!

Program Verification! Goals of this Lecture! Words from the Wise! Testing! Words from the Wise Testing On two occasions I have been asked [by members of Parliament], Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out? I am not able rightly

More information